From: Peter Köhlmann on 1 Dec 2009 13:16 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 1 Dec 2009 13:45 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 1 Dec 2009 14:54 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 1 Dec 2009 16:11 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 1 Dec 2009 16:46
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? |