From: Peter Köhlmann on
Aragorn wrote:


>> Wrong. Windows 7 x64 cannot even execute a single line of 16 bits real
>> mode code except in the boot loader.
>
> Yes, but the same is true for 64-bit Linux,

No, it isn't

> because this is not a
> limitation of the operating system, but of the hardware.

Wrong

> When an
> x86-64 processor is running in its native "long mode" (which is a
> protected mode) it no longer supports real mode or V86 mode.

This is blatantly wrong
How come that I can run old 16-bit windows apps in wine on a 64bit linux
machine?

> It does
> support them when running in 32-bit legacy mode, i.e. with a 32-bit
> operating system kernel.

It runs them just as well on a 64bit linux.
The only thing which is needed for windows7 64bits is having WoW for
16bits too. It does not, hence it can't run 16bit code.

> That said, I wasn't referring to real mode when I wrote the section you
> commented on, but rather to the origins of Windows, or perhaps I should
> say OS/2, which is what Windows has most in common with. (I was an
> OS/2 2.x user myself for five years in the early-to-mid '90s.)
>
>> There's a DOS compatibility layer on Windows NT 4 to 6, 32 bits, but,
>> similarly, Linux can execute DOS code in Virtual86 mode with dosemu.

And it can run 16bit DOS apps on a 64bit machine as well

> Actually, /dosemu/ doesn't do V86 mode; instead it emulates a processor
> in software.

No, it does not. You are thinking of QEmu

> There are however other DOS emulators such as DOSbox
> which do make use of V86, but this would only work in a 32-bit
> operating system.

Again, wrong. It runs just fine on my 64bit machines. On all of them


< snip >
--
Absurdity, n.:
A statement or belief manifestly inconsistent with one's own
opinion.

From: André Gillibert on
Peter Köhlmann <peter-koehlmann(a)t-online.de> wrote:
> Aragorn wrote:
>
>
> >> Wrong. Windows 7 x64 cannot even execute a single line of 16 bits real
> >> mode code except in the boot loader.
> >
> > Yes, but the same is true for 64-bit Linux,
>
> No, it isn't
>
> > because this is not a
> > limitation of the operating system, but of the hardware.
>
> Wrong
>
> > When an
> > x86-64 processor is running in its native "long mode" (which is a
> > protected mode) it no longer supports real mode or V86 mode.
>
> This is blatantly wrong
> How come that I can run old 16-bit windows apps in wine on a 64bit linux
> machine?

Wine doesn't support 16 bit windows app on x86-64.
<http://oss.gse.nl/wine/>
> Since Wine64, like Win64, doesn't support 16-bit apps, we can get rid of some of the 16-bit code.
> This patch removes some of the references to the 16-bit heap in user32.dll, but it's not complete
> yet.

It doesn't support v86 DOS applications either:
And <http://ubuntuforums.org/showthread.php?t=817374>
> Cannot start DOS application because vm86 mode is not supported on this platform.


>
> > It does
> > support them when running in 32-bit legacy mode, i.e. with a 32-bit
> > operating system kernel.
>
> It runs them just as well on a 64bit linux.
> The only thing which is needed for windows7 64bits is having WoW for
> 16bits too. It does not, hence it can't run 16bit code.

Nope, that's a limitation of the long mode on x86-64.
This can be circumvented by Hyper-VT and AMD-V virtualization extensions, but that's very complex.
The other solution is emulation as dosbox, and now dosemu do.


> >> There's a DOS compatibility layer on Windows NT 4 to 6, 32 bits, but,
> >> similarly, Linux can execute DOS code in Virtual86 mode with dosemu.
>
> And it can run 16bit DOS apps on a 64bit machine as well
Through emulation only.
DOSBox has always been a CPU emulator.
dosemu wasn't on x86-32 bits machines, but is on x86-64 bits machines.

<http://en.wikipedia.org/wiki/Dosemu>
> (Virtual 8086 mode is not available in x86-64 long mode, so DOSEMU
> includes an 8086 processor emulator for use with 16-bit applications.).

--
André Gillibert
From: Peter Köhlmann on
André Gillibert wrote:

> Peter Köhlmann <peter-koehlmann(a)t-online.de> wrote:
>> Aragorn wrote:
>>
>>
>> >> Wrong. Windows 7 x64 cannot even execute a single line of 16 bits
>> >> real mode code except in the boot loader.
>> >
>> > Yes, but the same is true for 64-bit Linux,
>>
>> No, it isn't
>>
>> > because this is not a
>> > limitation of the operating system, but of the hardware.
>>
>> Wrong
>>
>> > When an
>> > x86-64 processor is running in its native "long mode" (which is a
>> > protected mode) it no longer supports real mode or V86 mode.
>>
>> This is blatantly wrong
>> How come that I can run old 16-bit windows apps in wine on a 64bit
>> linux machine?
>
> Wine doesn't support 16 bit windows app on x86-64.
> <http://oss.gse.nl/wine/>
>> Since Wine64, like Win64, doesn't support 16-bit apps, we can get rid
>> of some of the 16-bit code. This patch removes some of the references
>> to the 16-bit heap in user32.dll, but it's not complete yet.

That is fine. Yet I run some 16bit windows apps on 64bit Suse linux

Strange, isn't it?

You are talking about Wine64, which is itself running in 64bit mode.
I am talking about "normal" wine, which is a 32bit app, running just fine
on 64bit linux, and which *does* support 16bit windows apps

Point: 64bit processors have no problems at all running 64bit, 32bit and
16bit apps at the same time.
*win64* has problems, but those are problems of the OS, not of the
hardware.
For example: If you install VirtualBox on a 64bit windows machine and run
32bit WinXP inside it, it will run 16bit apps too.

And VirtualBox does *not* emulate the processor

Same is true if you install the "WinXP mode" from MS inside Win7. Inside
that WinXP you can run 16bit apps as well

> It doesn't support v86 DOS applications either:
> And <http://ubuntuforums.org/showthread.php?t=817374>
>> Cannot start DOS application because vm86 mode is not supported on this
>> platform.
>
>
>>
>> > It does
>> > support them when running in 32-bit legacy mode, i.e. with a 32-bit
>> > operating system kernel.
>>
>> It runs them just as well on a 64bit linux.
>> The only thing which is needed for windows7 64bits is having WoW for
>> 16bits too. It does not, hence it can't run 16bit code.
>
> Nope, that's a limitation of the long mode on x86-64.

Bullshit: Are you telling me that I just imagine those apps running on my
machine?


< snip rather idiotic bull >
--
This problem was sponsored by Microsoft

From: André Gillibert on
Peter Köhlmann <peter-koehlmann(a)t-online.de> wrote:
> >> It runs them just as well on a 64bit linux.
> >> The only thing which is needed for windows7 64bits is having WoW for
> >> 16bits too. It does not, hence it can't run 16bit code.
> >
> > Nope, that's a limitation of the long mode on x86-64.
>
> Bullshit: Are you telling me that I just imagine those apps running on my
> machine?
>

I tell you that it uses CPU virtualization extensions or emulation.
XP mode needs AMD-V or Intel VT:
<http://www.microsoft.com/windows/virtual-pc/support/faq.aspx>

> Windows XP Mode [...] utilizes virtualization
> technology, such as Windows Virtual PC, to provide a virtual Windows XP environment for Windows 7.

> AMD-V and Intel VT are CPU-specific hardware virtualization features that must be enabled
> to utilize Windows Virtual PC.

Other sources:
<http://www.tomshardware.com/news/amd-cpu-windows-xp-mode,7739.html>
<http://www.tomshardware.com/news/windows-xp-mode-virtualization-intel,7709..html>

VirtualBox emulates real mode code.
<http://www.virtualbox.org/wiki/VirtualBox_architecture>
Your CPU can be emulating guest code (within the ring-3 host VM process).
> Basically, VirtualBox tries to run as much guest code natively as possible.
> But it can (slowly) emulate guest code as a fallback when it is not sure what
> the guest system is doing, or when the performance penalty of emulation is not too high.
> [...]
> (*) for any real-mode code (e.g. BIOS code, a DOS guest, or any operating system startup).

--
André Gillibert
From: Peter Köhlmann on
André Gillibert wrote:

> Peter Köhlmann <peter-koehlmann(a)t-online.de> wrote:
>> >> It runs them just as well on a 64bit linux.
>> >> The only thing which is needed for windows7 64bits is having WoW
>> >> for 16bits too. It does not, hence it can't run 16bit code.
>> >
>> > Nope, that's a limitation of the long mode on x86-64.
>>
>> Bullshit: Are you telling me that I just imagine those apps running on
>> my machine?
>>
>
> I tell you that it uses CPU virtualization extensions or emulation.
> XP mode needs AMD-V or Intel VT:
> <http://www.microsoft.com/windows/virtual-pc/support/faq.aspx>

And I tell you that you are wrong.
I *know* what my machines are running, and you can quite frankly get lost.


What is wqrong with you? There is nothing simpler than installing wine
32bit on a linux 64bit machine, and than start some old win16 application
None of such a setup would ever run VT mode for running wine32

Why do you argue against something you quite obviously have never done?

One of my 64bit machines can *not* handle VT. Yet it not only runs wine32
just fine, it also runs 16bit windows apps inside wine

The next thing you are doing will probably telling me that I am lying.
Because you naturally can't be wrong with your halfassed tiny knowledge

< snip more outrageous bullshit >

*If you were right, then running 32bit apps would also be impossible
without VT mode. But it isn't.
--
If ignorance is bliss, why aren't there more happy people?