On 2012-09-11 16:19, Avi Kivity wrote: > On 09/11/2012 05:11 PM, Jan Kiszka wrote: >> On 2012-09-11 14:53, Avi Kivity wrote: >>> On 09/11/2012 02:57 PM, Jan Kiszka wrote: >>> >>>> Only listen on debug ports when we also handle them. They are better >>>> handled by debugcon these days which is runtime configurable. >>>> >>>> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> >>>> --- >>>> hw/pc.c | 6 ++++-- >>>> 1 files changed, 4 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/hw/pc.c b/hw/pc.c >>>> index 112739a..134d5f7 100644 >>>> --- a/hw/pc.c >>>> +++ b/hw/pc.c >>>> @@ -539,12 +539,12 @@ static void bochs_bios_write(void *opaque, uint32_t >>>> addr, uint32_t val) >>>> case 0x401: >>>> /* used to be panic, now unused */ >>>> break; >>>> +#ifdef DEBUG_BIOS >>>> case 0x402: >>>> case 0x403: >>>> -#ifdef DEBUG_BIOS >>>> fprintf(stderr, "%c", val); >>>> -#endif >>>> break; >>>> +#endif >>>> case 0x8900: >>>> /* same as Bochs power off */ >>>> if (val == shutdown_str[shutdown_index]) { >>>> @@ -598,8 +598,10 @@ static void *bochs_bios_init(void) >>>> >>>> register_ioport_write(0x400, 1, 2, bochs_bios_write, NULL); >>>> register_ioport_write(0x401, 1, 2, bochs_bios_write, NULL); >>>> +#ifdef DEBUG_BIOS >>>> register_ioport_write(0x402, 1, 1, bochs_bios_write, NULL); >>>> register_ioport_write(0x403, 1, 1, bochs_bios_write, NULL); >>>> +#endif >>>> register_ioport_write(0x8900, 1, 1, bochs_bios_write, NULL); >>>> >>>> register_ioport_write(0x501, 1, 1, bochs_bios_write, NULL); >>>> >>> >>> >>> Why not drop DEBUG_BIOS completely? If you want to debug the bios, use >>> debugcon. >> >> Probably true. There is more practically dead stuff below this that just >> prints if DEBUG_BIOS is enabled. > > Actually it is autotest that is at fault here. It is installing a > debugcon with non-standard iobase atop a builtin device. > Pre-memory-API, we did not detect that.
Well, the cruft in pc.c was disabled in practice, just leaving useless /dev/null-like ioports behind. I still think we should drop all of them, they have no meaning. > > We can subclass isa-debugcon as bochs-debugcon, change the default > ioport to 0x402, and use that instead of the code in pc.c. How does > that sound? > > Autotest will need to be changed to use the new device type. > That is another story: providing a debugcon that defaults to 0x402, the port I always forgot when I want to debug the BIOS. We could provide bochs-debugcon in addition to the existing interface, avoiding autotest breakage and still making the usage smoother. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux