Do not create a TCX if "-vga none" was passed on the command line.
Remove some dead code along the way to avoid big reindentation.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/sparc/sun4m.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
index ca1e3825d5..07d126aea8 100644
--- a/hw/sparc/sun4m.c
+++ b/hw/sparc/sun4m.c
@@ -850,7 +850,6 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef,
uint32_t initrd_size;
DriveInfo *fd[MAX_FD];
FWCfgState *fw_cfg;
- unsigned int num_vsimms;
DeviceState *dev;
SysBusDevice *s;
@@ -909,8 +908,7 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef,
error_report("Unsupported depth: %d", graphic_depth);
exit (1);
}
- num_vsimms = 0;
- if (num_vsimms == 0) {
+ if (vga_interface_type != VGA_NONE) {
if (vga_interface_type == VGA_CG3) {
if (graphic_depth != 8) {
error_report("Unsupported depth: %d", graphic_depth);
@@ -945,7 +943,7 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef,
}
}
- for (i = num_vsimms; i < MAX_VSIMMS; i++) {
+ for (i = 0; i < MAX_VSIMMS; i++) {
/* vsimm registers probed by OBP */
if (hwdef->vsimm[i].reg_base) {
empty_slot_init(hwdef->vsimm[i].reg_base, 0x2000);
--
2.20.1
On 19/03/2019 14:40, Paolo Bonzini wrote:
> Do not create a TCX if "-vga none" was passed on the command line.
> Remove some dead code along the way to avoid big reindentation.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> hw/sparc/sun4m.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
> index ca1e3825d5..07d126aea8 100644
> --- a/hw/sparc/sun4m.c
> +++ b/hw/sparc/sun4m.c
> @@ -850,7 +850,6 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef,
> uint32_t initrd_size;
> DriveInfo *fd[MAX_FD];
> FWCfgState *fw_cfg;
> - unsigned int num_vsimms;
> DeviceState *dev;
> SysBusDevice *s;
>
> @@ -909,8 +908,7 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef,
> error_report("Unsupported depth: %d", graphic_depth);
> exit (1);
> }
> - num_vsimms = 0;
> - if (num_vsimms == 0) {
> + if (vga_interface_type != VGA_NONE) {
> if (vga_interface_type == VGA_CG3) {
> if (graphic_depth != 8) {
> error_report("Unsupported depth: %d", graphic_depth);
> @@ -945,7 +943,7 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef,
> }
> }
>
> - for (i = num_vsimms; i < MAX_VSIMMS; i++) {
> + for (i = 0; i < MAX_VSIMMS; i++) {
> /* vsimm registers probed by OBP */
> if (hwdef->vsimm[i].reg_base) {
> empty_slot_init(hwdef->vsimm[i].reg_base, 0x2000);
>
Looks sensible to me - I've always wondered why the num_vsimms code was written like
this, but I can't see that this will change any existing behaviour.
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
ATB,
Mark.
Hi Paolo,
On 3/19/19 3:40 PM, Paolo Bonzini wrote:
> Do not create a TCX if "-vga none" was passed on the command line.
> Remove some dead code along the way to avoid big reindentation.
Can you add:
This fixes when configuring with --without-default-devices:
$ sparc-softmmu/qemu-system-sparc
qemu-system-sparc: Unknown device 'SUNW,tcx' for default sysbus
Aborted (core dumped)
(gdb) bt
#1 0x00007fc78d17d895 in __GI_abort () at abort.c:79
#2 0x0000560beaf637f3 in qdev_create (bus=bus@entry=0x0,
name=name@entry=0x560beb1be36b "SUNW,tcx") at hw/core/qdev.c:131
#3 0x0000560beaf1392d in tcx_init (vram_size=1048576, width=1024,
height=768, depth=8, irq=0x560bed1a0230, addr=1342177280) at
hw/sparc/sun4m.c:477
#4 0x0000560beaf1392d in sun4m_hw_init (hwdef=0x560beb1be780
<sun4m_hwdefs>, machine=0x560becf65f00) at hw/sparc/sun4m.c:943
#5 0x0000560beaf6b15b in machine_run_board_init
(machine=0x560becf65f00) at hw/core/machine.c:1030
#6 0x0000560beae86692 in main (argc=<optimized out>, argv=<optimized
out>, envp=<optimized out>) at vl.c:4463
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> hw/sparc/sun4m.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
> index ca1e3825d5..07d126aea8 100644
> --- a/hw/sparc/sun4m.c
> +++ b/hw/sparc/sun4m.c
> @@ -850,7 +850,6 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef,
> uint32_t initrd_size;
> DriveInfo *fd[MAX_FD];
> FWCfgState *fw_cfg;
> - unsigned int num_vsimms;
> DeviceState *dev;
> SysBusDevice *s;
>
> @@ -909,8 +908,7 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef,
> error_report("Unsupported depth: %d", graphic_depth);
> exit (1);
> }
> - num_vsimms = 0;
> - if (num_vsimms == 0) {
> + if (vga_interface_type != VGA_NONE) {
> if (vga_interface_type == VGA_CG3) {
> if (graphic_depth != 8) {
> error_report("Unsupported depth: %d", graphic_depth);
> @@ -945,7 +943,7 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef,
> }
> }
>
> - for (i = num_vsimms; i < MAX_VSIMMS; i++) {
> + for (i = 0; i < MAX_VSIMMS; i++) {
> /* vsimm registers probed by OBP */
> if (hwdef->vsimm[i].reg_base) {
> empty_slot_init(hwdef->vsimm[i].reg_base, 0x2000);
>
© 2016 - 2026 Red Hat, Inc.