On Mon, Dec 27, 2010 at 3:47 AM, Stefan Hajnoczi <stefanha@xxxxxxxxx> wrote: > On Sat, Dec 25, 2010 at 7:02 PM, Peter Lieven <pl@xxxxxxx> wrote: >> this was the outcome of my bisect session: >> >> 956a3e6bb7386de48b642d4fee11f7f86a2fcf9a is first bad commit >> commit 956a3e6bb7386de48b642d4fee11f7f86a2fcf9a >> Author: Blue Swirl <blauwirbel@xxxxxxxxx> >> 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 <blauwirbel@xxxxxxxxx> >> >> :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. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html