qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] pc: Don't listen on debug ports by default


From: Jan Kiszka
Subject: Re: [Qemu-devel] [PATCH] pc: Don't listen on debug ports by default
Date: Tue, 11 Sep 2012 16:26:57 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

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 <address@hidden>
>>>> ---
>>>>  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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]