LWN.net Logo

no 16-bit in long mode

no 16-bit in long mode

Posted Feb 17, 2010 4:26 UTC (Wed) by viro (subscriber, #7872)
In reply to: no 16-bit in long mode by yuhong
Parent article: Common Wine Myths

There's no V86 submode in long mode. IOW, with 64bit kernels you can run protected-mode userland just fine, including 16bit pieces, but with real-mode 16bit code you have serious trouble, Segments will work as for protected mode 16bit, which is not going to make real mode code happy at all. In particular, the lower bits of value loaded to segment selectors are treated as privelege level, etc.

You can get around that by playing with amd64 virtualization (i.e. run a guest in legacy mode and use _that_ to run 16bit real-mode code). If you don't have that, you are SOL - you pretty much have to emulate 8086. Instruction set is there, but address translation is incompatible.


(Log in to post comments)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds