qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] possible regression in qemu-kvm 0.13.0 (memtest)


From: Blue Swirl
Subject: Re: [Qemu-devel] possible regression in qemu-kvm 0.13.0 (memtest)
Date: Tue, 28 Dec 2010 20:41:46 +0000

On Mon, Dec 27, 2010 at 3:47 AM, Stefan Hajnoczi <address@hidden> wrote:
> On Sat, Dec 25, 2010 at 7:02 PM, Peter Lieven <address@hidden> wrote:
>> this was the outcome of my bisect session:
>>
>> 956a3e6bb7386de48b642d4fee11f7f86a2fcf9a is first bad commit
>> commit 956a3e6bb7386de48b642d4fee11f7f86a2fcf9a
>> Author: Blue Swirl <address@hidden>
>> Date:   Sat May 22 07:59:01 2010 +0000
>>
>>    Compile pckbd only once
>>
>>    Use a qemu_irq to indicate A20 line changes. Move I/O port 92
>>    to pckbd.c.
>>
>>    Signed-off-by: Blue Swirl <address@hidden>
>>
>> :100644 100644 acbaf227455f931f3ef6dbe0bb4494c6b41f2cd9 
>> 1a33d4eb4a5624c55896871b5f4ecde78a49ff28 M      Makefile.objs
>> :100644 100644 a22484e1e98355a35deeb5038a45fb8fe8685a91 
>> ba5147fbc48e4faef072a5be6b0d69d3201c1e18 M      Makefile.target
>> :040000 040000 dd03f81a42b5162c93c40c517f45eb9f7bece93c 
>> 309f472328632319a15128a59715aa63daf4d92c M      default-configs
>> :040000 040000 83201c4fcde2f592a771479246e0a33a8906515b 
>> b1192bce85f2a7129fb19cf2fe7462ef168165cb M      hw
>> bisect run success
>
> Nice job bisecting this!  I can reproduce the Memtest86+ V4.10 system
> reset with qemu-kvm.git and qemu.git.
>
> The following code path is hit when val=0x2:
> if (!(val & 1)) {
>    qemu_system_reset_request();
> }
>
> I think unifying ioport 0x92 and KBD_CCMD_WRITE_OUTPORT was incorrect.
>  ioport 0x92 is the System Control Port A and resets the system if bit
> 0 is 1.  The keyboard outport seems to reset if bit 0 is 0.
>
> Here are the links I've found describing the i8042 keyboard controller
> and System Control Port A:
> http://www.computer-engineering.org/ps2keyboard/
> http://www.win.tue.nl/~aeb/linux/kbd/A20.html
>
> Blue Swirl: Any thoughts on this?

SMSC LPC47S45x data sheet (p. 112) also confirms this. The proper fix
is to split the ports.

But then A20 logic becomes more complex, disabling either of keyboard
or port 92 A20 lines should disable system A20 gate.

I think we should move port 92 back to pc.c and add the missing A20
logic there as well.



reply via email to

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