On Wed, Jan 15, 2014 at 10:24:41PM +0000, Joerg Sonnenberger wrote: > Module Name: src > Committed By: joerg > Date: Wed Jan 15 22:24:41 UTC 2014 > > Modified Files: > src/sys/arch/amd64/acpi: acpi_wakecode.S > src/sys/arch/amd64/amd64: mptramp.S > src/sys/arch/i386/i386: mptramp.S > > Log Message: > LLVM doesn't support data32/addr32, but is smart enough to figure the > necessary prefixes out.
What justification does LLVM have for instering the prefixes inside a .code16 section? data32 addr32 lgdt (gdt_desc) Nothing tells if the format of the descriptor - and it changes between true 16bit mode and 32bit mode (which we want). I'm not sure the addr32 is needed - since it is the operand size that controls whether a 24 or 32 bit base is loaded. I've certainly used lidt in real mode just to move the vector table to a safe address (the 286 ice didn't like it). David -- David Laight: da...@l8s.co.uk