5 Replies Latest reply on Jul 9, 2017 6:54 PM by mr.unknown

    How could it be possible?

      Untitled.png

       

      As you see on the above screenshot, Windows XP Professional x64 running on the 32-bit Windows 10 supported by a processor, Sempron LE-1100, lacking of AMD-V feature!

      How can it be possible? As is known to us, both Legacy Mode and Long Mode use two different sets of system data structures to manage interrupts, paging and so forth. And that is impossible for Windows to switch mode from Legacy mode to Long Mode if without modify the NT Kernel! VMWARE Workstation is a platform virtual machine, I would not believe it would translate the x86-64 instructions onto the x86 instructions one by one. I wonder whether AMD64 processor has a secret or hidden mode besides the Legacy and Long Mode? And that secret mode is the associated mode attached with Legacy Mode rather than Long Mode. The VMMs just intercept the interrupts from the Guest OS, and emulated interrupts in Long Mode with software.

       

      So I wonder is there a secret AMD64 mode without documented on the ISA manual? I am expected to your reply! Thank you in advance!

        • Re: How could it be possible?
          ray_m

          I do not think that anyone on this forum will be able to answer this question.

          • Re: How could it be possible?

            Or maybe there is some feature similar as virtualisation (AMD-V) already presented on the early AMD64 processors, with which VMWare Workstation could help programmers to transit their software onto the x86-64 platform. I also try the versions of Oracle Virtual Box onto this computer too, but none could support 64-bit OSes. Or in other words, that might be a proprietary processor feature exclusively disclosed to very few software companies. I have no ideas what that thing really is, but if that is a secret mode, which could switch the processor status from IA-32 to AMD64 without an actual mode switch from Legacy to Long, that would leave the system programmers a very good chance to design a 32-bit OS with 64-bit application support.

             

            This thing hears a little bit absurd, but that would help AMD corp. to design even more power efficient processor, which is suitable for smart phones.

            1 of 1 people found this helpful
            • Re: How could it be possible?

              Under 32-bit Windows, jumping into the Long Mode of an x86-64 processor is almost impossible if without assistant of virtualisation technology. But that is possible and proved around 12 years ago, when VMWare released their VMWare Workstation 5.5. For 64-bit guest OS, they just require an AMD64 CPU that has segment-limit support in long mode. What is that segment-limit in long mode? That is a processor feature introduced with 90nm, code name Wincheste processor. There is one more bit, LMSLE (preserved previous), in system register EFER happens to function the data limit checks in 64-bit mode. Please pay attention to that it is a 32-bit segment limit check rather than 64-bit. This feature could not help the processor from Legacy x86 mode jump to Long mode without inferring the current x86 OS kernel.

               

              VMWARE requires such processor feature for the reason that it is the necessary mean to differentiate the VMM from the guest OS within the same linear space. Early processors, such as ClawHammer and Newcastle processors just lack this feature, but VMWARE had no words to imply that those two processors could not jump from Legacy x86 mode to Long Mode without interfering the x86 host OS. Or in other words, this feature is not the necessary mean to jump to that secret 64-bit environment on the 32-bit host on AMD64 processors. But it does really leave some hints to chase that mysterious story.

               

              Why that is a 32-bit segment limits rather than 64-bit? Because AMD64 architecture lacks of the segmentation, so there is no 64-bit segment? I believe that is only one reason, but there is another thing! Another thing just discover this secret, it might just pace the way for the secret 64-bit environment within legacy mode. Because AMD64 processor is a 64-bit processor, and the native architecture is the AMD64 rather than x86. The problem just leaves how to access the physical memory. I believe this secret 64-bit environment does really exist on all the AMD64 processors, since AMD64 was introduced. When processors enter into this environment, the native 64-bit resources (register and instruction set) would be expose to the programmers. But the 64-bit linear address would be trimmed down to the 32-bit, when paging, so the VMM needs to provide enough emulations.

               

               

              Reading AMD64 documents, I found paging has been emphasised for times, when entering into the Long Mode or exiting to Legacy x86 mode. So I guess this secret 64-bit environment happen to exist since paging has been enabled in Legacy Mode, but special instructions or methods need to be prepared to active it. This 64-bit environment is an application environment, I guess, in other words, any interrupt could bring back the processor to x86 mode after saving the trace to the secret places, where VMM could bring it back to work after interrupts had been served...

              1 of 1 people found this helpful
              • Re: How could it be possible?

                Wish that some a hero from all over the world with such knowledge show me a hand, thank you very much in advance!

                1 of 1 people found this helpful