[Info-vax] Intel proposal to simplify x86-64

Dan Cross cross at spitfire.i.gajendra.net
Mon Jun 5 10:10:18 EDT 2023


In article <u5jc75$3tmq$1 at dont-email.me>,
Arne Vajhøj  <arne at vajhoej.dk> wrote:
>On 6/4/2023 3:31 PM, John Dallman wrote:
>> In article <630361da-4c95-4556-b7a6-40cc74829383n at googlegroups.com>,
>> n.rieck at bell.net (Neil Rieck) wrote:
>>> As far as the Intel proposal is concerned, "I thought" that
>>> Microsoft has already blocked running 16-bit programs on their
>>> 64-bit OS for a few years now.
>> 
>> They deliberately left it out of 64-bit Windows from the beginning of
>> that OS. The hardware has been capable of running 16-bit code since AMD
>> first designed x86-64, but Microsoft only exploited that in 32-bit
>> Windows.
>
>Are you sure that was a MS choice?

Yes.

>16 bit programs are a AFAIK not run in "real mode"
>but in "virtual 8086 mode".

It really depends on the execution mode of the processor.  The
CPU starts in 16-bit real mode when it comes out of reset (SDM
vol 1 sec 3.1).

>And based on what I can read then "virtual 8086 mode"
>is only available when the system is running in
>"32 bit mode" / "protected mode" / "legacy mode" and
>not when running in "64 bit mode" / "long mode".

There are two submodes of IA-32e mode: "Compatibility mode",
which is analogous to protected mode, and "64 bit mode", which
permits access to a 64-bit linear address space.  The OS can
select which mode the processor runs in on a per-segment
basis; this allows a 64-bit OS to provide access to virtual
8086 mode (SDM vol 1 sec 3.1.1).

Transitioning between these is non-trivial, however; as someone
else mentioned, this is likely why MSFT did not support it.

	- Dan C.




More information about the Info-vax mailing list