| Submitter | Gerd Hoffmann |
|---|---|
| Date | Dec. 12, 2012, 9:15 a.m. |
| Message ID | <1355303742-3263-6-git-send-email-kraxel@redhat.com> |
| Download | mbox | patch |
| Permalink | /patch/205460/ |
| State | New |
| Headers | show |
Comments
Gerd Hoffmann <kraxel@redhat.com> writes: > Prehistoric leftover, zap it. We poweroff via acpi these days. > > And having a port (0x501,0x502) where any random guest write will make > qemu exit -- with no way to turn it off -- is a bad joke anyway. If > anyone has a real use case for this (I can see this being useful for > regression testing), then make it part of debugcon or testdev so it > isn't present by default. I use 0x501 for my test suite so please don't remove it blindly. Regards, Anthony Liguori > --- > hw/pc.c | 41 ----------------------------------------- > 1 files changed, 0 insertions(+), 41 deletions(-) > > diff --git a/hw/pc.c b/hw/pc.c > index cc4b260..0997c72 100644 > --- a/hw/pc.c > +++ b/hw/pc.c > @@ -524,34 +524,6 @@ static void handle_a20_line_change(void *opaque, int irq, int level) > cpu_x86_set_a20(cpu, level); > } > > -/***********************************************************/ > -/* Bochs BIOS debug ports */ > - > -static void bochs_bios_write(void *opaque, uint32_t addr, uint32_t val) > -{ > - static const char shutdown_str[8] = "Shutdown"; > - static int shutdown_index = 0; > - > - switch(addr) { > - case 0x8900: > - /* same as Bochs power off */ > - if (val == shutdown_str[shutdown_index]) { > - shutdown_index++; > - if (shutdown_index == 8) { > - shutdown_index = 0; > - qemu_system_shutdown_request(); > - } > - } else { > - shutdown_index = 0; > - } > - break; > - > - case 0x501: > - case 0x502: > - exit((val << 1) | 1); > - } > -} > - > int e820_add_entry(uint64_t address, uint64_t length, uint32_t type) > { > int index = le32_to_cpu(e820_table.count); > @@ -569,14 +541,6 @@ int e820_add_entry(uint64_t address, uint64_t length, uint32_t type) > return index; > } > > -static const MemoryRegionPortio bochs_bios_portio_list[] = { > - { 0x500, 1, 1, .write = bochs_bios_write, }, /* 0x500 */ > - { 0x501, 1, 1, .write = bochs_bios_write, }, /* 0x501 */ > - { 0x501, 2, 2, .write = bochs_bios_write, }, /* 0x501 */ > - { 0x8900, 1, 1, .write = bochs_bios_write, }, /* 0x8900 */ > - PORTIO_END_OF_LIST(), > -}; > - > static void *bochs_bios_init(void) > { > void *fw_cfg; > @@ -584,11 +548,6 @@ static void *bochs_bios_init(void) > size_t smbios_len; > uint64_t *numa_fw_cfg; > int i, j; > - PortioList *bochs_bios_port_list = g_new(PortioList, 1); > - > - portio_list_init(bochs_bios_port_list, bochs_bios_portio_list, > - NULL, "bochs-bios"); > - portio_list_add(bochs_bios_port_list, get_system_io(), 0x0); > > fw_cfg = fw_cfg_init(BIOS_CFG_IOPORT, BIOS_CFG_IOPORT + 1, 0, 0); > > -- > 1.7.1
Patch
diff --git a/hw/pc.c b/hw/pc.c index cc4b260..0997c72 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -524,34 +524,6 @@ static void handle_a20_line_change(void *opaque, int irq, int level) cpu_x86_set_a20(cpu, level); } -/***********************************************************/ -/* Bochs BIOS debug ports */ - -static void bochs_bios_write(void *opaque, uint32_t addr, uint32_t val) -{ - static const char shutdown_str[8] = "Shutdown"; - static int shutdown_index = 0; - - switch(addr) { - case 0x8900: - /* same as Bochs power off */ - if (val == shutdown_str[shutdown_index]) { - shutdown_index++; - if (shutdown_index == 8) { - shutdown_index = 0; - qemu_system_shutdown_request(); - } - } else { - shutdown_index = 0; - } - break; - - case 0x501: - case 0x502: - exit((val << 1) | 1); - } -} - int e820_add_entry(uint64_t address, uint64_t length, uint32_t type) { int index = le32_to_cpu(e820_table.count); @@ -569,14 +541,6 @@ int e820_add_entry(uint64_t address, uint64_t length, uint32_t type) return index; } -static const MemoryRegionPortio bochs_bios_portio_list[] = { - { 0x500, 1, 1, .write = bochs_bios_write, }, /* 0x500 */ - { 0x501, 1, 1, .write = bochs_bios_write, }, /* 0x501 */ - { 0x501, 2, 2, .write = bochs_bios_write, }, /* 0x501 */ - { 0x8900, 1, 1, .write = bochs_bios_write, }, /* 0x8900 */ - PORTIO_END_OF_LIST(), -}; - static void *bochs_bios_init(void) { void *fw_cfg; @@ -584,11 +548,6 @@ static void *bochs_bios_init(void) size_t smbios_len; uint64_t *numa_fw_cfg; int i, j; - PortioList *bochs_bios_port_list = g_new(PortioList, 1); - - portio_list_init(bochs_bios_port_list, bochs_bios_portio_list, - NULL, "bochs-bios"); - portio_list_add(bochs_bios_port_list, get_system_io(), 0x0); fw_cfg = fw_cfg_init(BIOS_CFG_IOPORT, BIOS_CFG_IOPORT + 1, 0, 0);