From: bohannonindustriesllc@gmail.com   
      
   On 5/26/2023 2:33 PM, Scott Lurndal wrote:   
   > BGB writes:   
   >> On 5/26/2023 9:17 AM, Scott Lurndal wrote:   
   >>> BGB writes:   
   >>>> On 5/25/2023 2:08 PM, Dan Cross wrote:   
   >>>   
   >>>>> This doesn't really solve the problem, but just moves the   
   >>>>> goal-posts (because now, of course, you're sharing the ASID   
   >>>>> space with the guest in the exact same way that you are sharing   
   >>>>> the virtual address space). Now, you have to trap every guest   
   >>>>> reference to an ASID and adjust it, pushing significant   
   >>>>> complexity into the VMM, which was the original argument for why   
   >>>>> a soft-TLB was "better."   
   >>>>>   
   >>>>   
   >>>> You can adjust them when them in the handlers at basically the same time   
   >>>> as when doing an additional level of address translation, no additional   
   >>>> trapping needed.   
   >>>   
   >>> How many hypervisors have you written?   
   >>>   
   >>   
   >> I have mostly written emulators.   
   >   
   > While VMware required the ability to emulate parts of the instruction set,   
   > as did XEN, prior to the advent of nested page tables, modern   
   > hypervisors have very little need for emulation thanks to the   
   > capabilities that AMD/ARM/Intel have added to the ISA to trap   
   > various guest activities.   
   >   
      
   So, unlike, say, the sort of x86->x86 dynamic-translation / JIT thing   
   done, say, in DOSBox?...   
      
   This is admittedly a little closer to what I would have assumed, apart   
   from maybe being able to run a lot of the usermode stuff directly, and   
   then only switching to JIT in cases where supervisor mode was being used   
   (say, JIT translating the ISR handlers).   
      
   Well, except when the ISA's don't match, in which case, it would need to   
   be full JIT. Call threading would be slow though, so preferably avoided.   
      
      
   > A hypervisor is more about resource management. Depending   
   > on type (bare metal or integrated with a kernel like KVM),   
   > the set of resource vary but generally include I/O,   
   > memory and guest scheduling (complicated if processing   
   > resources are overcommited and you have multiprocessor guests)   
   > and supporting hot plug resource APIs (e.g. via ACPI in the guest).   
      
   OK.   
      
   Sorta figured all of the hardware interfaces would have been emulated in   
   software as well.   
      
      
   Have noted before, for example, that if one tries to run Win98 in   
   VirtualBox, it tends to blue-screen after a few minutes. Something like   
   QEMU holds up a little better, but "sucks a low worse".   
      
   Had used VMware in the past, but it doesn't seem to work anymore (both   
   VMware and VirtualPC giving an error message and refusing to work).   
      
   ...   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|