[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Xen-4.3 and -unstable regression from changeset "numa-sched: leave node-affinity alone if not in 'auto' mode"
>>> On 02.12.13 at 15:01, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote: > After some more investigation, this is not a regression at all, although > the patch is directly relevant to identifying the problem. > > PXELINUX 4.04 2011-04-18 Copyright (C) 1994-2011 H. Peter Anvin et al > boot: > Loading xenrt/xen-minnow.gz... ok > Loading xenrt/vmlinuz... ok > After multiboot magic check > Opcode from 0x105fef: 97 0e 00 00 49 8d be b0 > Before lret into trampoline > Opcode from 0x105fef: 97 0e 00 00 49 8d be b0 > After (failed) conditional jmp to start_secondary > Opcode from 0xffff830000105fef: 97 0e 86 00 49 8d be b0 > __ __ _ _ _____ _ > \ \/ /___ _ __ | || | |___ / / | > \ // _ \ '_ \ | || |_ |_ \ | | > > > Something between entering the trampoline and emerging in 64bit mode is > corrupting a single byte at phys 0x105ff1 from its correct value to a > value of 0x86. > > The corruption disappears if the "no-real-mode" is used. And I'd say the primary suspect is /* * Declare that our target operating mode is long mode. * Initialise 32-bit registers since some buggy BIOSes depend on it. */ movl $0xec00,%eax # declare target operating mode movl $0x0002,%ebx # long mode int $0x15 considering that 0x86 is a relatively common "function not implemented" indicator for BIOS, namely INT 15, functions. As a possible workaround I'd consider trying a) zeroing %esp rather than just %sp a few lines up from the above quoted code b) zeroing the high halves of all registers Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |