On Tue, 2011-09-06 at 22:04 +0800, TOE Physics wrote: > [ 166.329] (II) VESA(0): VESA VBE Version 3.0 > [ 166.329] (II) VESA(0): VESA VBE Total Mem: 7872 kB > [ 166.329] (II) VESA(0): VESA VBE OEM: Intel(R)Oaktrail Graphics > Chipset Accelerated VGA BIOS GMA600 (Oaktrail) is, like Poulsbo, an Imagination video block bolted to an Intel display engine. Which we don't have a non-staging driver for, yet, so we fall back to vesa. After which point... > [ 167.739] c000:0287: 3A ILLEGAL EXTENDED X86 OPCODE! "3A" here means 0F 3A which is in the SSE3+ instruction space [1], and now I'm just angry. Right now the x86 emulator we're using doesn't implement SSE3 (or anything newer than plain i686, in fact) because the processor manuals say [2] they don't work in real or vm86 mode, so why would you bother. Probably we should just build the staging driver, because I seriously do not have any desire to implement emulation of MMX through whatever SSE we're on now. Life's too short to use real mode. [1] - http://ref.x86asm.net/coder32.html#x0F3A [2] - Well, they hint very strongly. The section on real mode gives an explicit list of what instructions are legal in real mode, and that "Execution of any of the other IA-32 architecture instructions (not given in the previous two lists) in real-address mode result in an invalid-opcode exception (#UD) being generated." In the next section where vm86 is described, we read "The execution environment of the processor while in the 8086-emulation state is the same as [...] for real-address mode", and that the eflags.vm bit (ie, vm86-or-not) is tested "[w]hen decoding instructions, to determine which instructions are not supported in virtual-8086 mode and which instructions are sensitive to IOPL." But, English being what it is, it's possible to read this as meaning that there's a documented list of instructions that work in real mode, and an undocumented list of instructions that work in vm86 mode. - ajax
Attachment:
signature.asc
Description: This is a digitally signed message part
-- test mailing list test@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe: https://admin.fedoraproject.org/mailman/listinfo/test