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

[Xen-devel] [PATCH] [RFC] More fp instructions for realmode emulation (Enables booting OS/2 as a HVM guest on Intel/VT hardware)

  • To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Trolle Selander" <trolle.selander@xxxxxxxxx>
  • Date: Fri, 29 Feb 2008 23:14:22 +0100
  • Delivery-date: Fri, 29 Feb 2008 14:15:00 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=vjpoFfWosc452bnTJCrHQOsazTq2wWIPstpi8KPlsk262kNNMFVkZeTzeeTFZ1KjWD8dn0Dpi33+aL6ku38C06M8b4CxOcclaTf9oWrUNnyC8xvFHGVoz7YwL1++taAlAoPvR5x6dHeZn+av0OuPgifTLnQMuTyJDgd0U4irIEc=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

This patch adds a number of fp instructions needed for OS/2 to boot as a HVM guest on Intel/VT hardware. It appears to work fine, and OS/2 is now finally working on Intel/VT as well as AMD/SVM.

I'm a little concerned about the "correctness" of the FSTSW emulation and the use of inline assembly directly using the corresponding ops for emulation. Wrt FSTSW, it is really two ops FNSTSW immediately preceeded by an FWAIT. I've left FWAIT defined, but a no-op because after looking at realmode.c it seems in the emulation, exceptions are always processed if a call to x86_emulate returns an exception, so there should be no way for there to be "pending" exceptions for FWAIT to wait for. I may have missed something, though, hence the RFC.

Secondly, about the inline assembly - i saw that this was how many of the other FP instructions were done, so I did it that way as well. However, none of the previous instructions done that way referenced the fp registers. Does this make a difference, or is it ok the way i've done it here?

Signed-off-by: Trolle Selander <trolle.selander@xxxxxxxxx>

Attachment: xen-x86_emulate-more-fp-insns.patch
Description: Text Data

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.