[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] Problem with BIOS timer interrupts
Gary, Which CPU family you are using? 0xF? There is an errata which seems to be related. See page 50. http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/ 33610.pdf -Wei -----Original Message----- From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Gary Grebus Sent: Tuesday, November 18, 2008 12:50 PM To: xen-devel Subject: [Xen-devel] Problem with BIOS timer interrupts Hi, While changing our Xen 3.2.x based HVM BIOS ROM to use gPXE instead of etherboot, I ran into an interesting behavior. The gPXE code, which runs in real mode, contains the following sequence: wait_for_tick: pushl %eax pushw %fs movw $0x40, %ax movw %ax, %fs movl %fs:(0x6c), %eax 1: pushf sti hlt popf cmpl %fs:(0x6c), %eax je 1b popw %fs popl %eax ret It uses this to timeout waiting for a key press. The expected interrupt is from the BIOS timer implemented in rombios. But in fact, the loop hangs. However, if I insert a nop instruction between the sti and hlt, then things work as expected. Is there something wrong with this sequence? This happens on AMD, so it's not a quirk of the real mode emulations on Intel. I notice that in the gPXE code currently in xen-unstable, the path that uses this code is patched out. /gary -- Gary Grebus Virtual Iron Software, Inc. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |