WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Xen + VT

I have glanced through the code but not in detail...

Apologies for inevitably telling you some things you already know but this all 
seems like useful stuff to have in the archive.

> 1. Wht is the device access model with XenVT and unmod Linux .
> Obviously it cannot be using the front end back end, becos there is no
> front end in unmod Linux. So how exactly is Xen still controlling
> access to devices by unmod Linux?

Xen will trap IO accesses and notify dom0 of them.  A userspace IO emulator in 
dom0 emulates device behaviour based on these IO accesses.  The ioemu process 
signals to Xen if it should inject any events (e.g. interrupts) into the 
domain.

> 2. System calls: How are system calls within unmod Linux being
> serviced now? Since unmod Linux runs in ring 0 - the sys call int can
> go directly to unmod Linux itself instead of via Xen. How is it being
> done?

In fact, they go directly already.  Xen allows a guest to install its own 
syscall handler so that most syscalls are handled directly (Xen verifies to 
make sure that the guest is not submitting malicious details here).

VT makes a distinction of "root" and "non-root" execution.  Although the guest 
thinks it runs in ring 0, it's also running in VT "non-root" mode - this 
means it doesn't have full privileges over the machine.  Only Xen will run in 
"root" mode AND in ring 0, so only Xen has total control.

I imagine syscalls will continue to be handled directly, the difference being 
that the guest doesn't explicitly ask Xen to install the trap handler - it 
just installs it on it's virtual hardware.

I think VT-x allows the guest to deal with all its own syscalls transparently, 
or for the VMM to intercept them (which might be useful for various 
applications).

> 3. External interrupts: With multiple domains and with VT how exactly
> are external interrupts being demultiplexed to the different domains?

A fully virtualised guest doesn't really care about real hardware interrupts, 
so you wouldn't usually want VT-x to "pass through" interrupts from the real 
hardware (although I guess it could be useful for driver domains).  Usually, 
Xen would be entered for each "real" interrupt and would deal with it like it 
does now.

Emulated devices will deliver fake interrupts to the guest by signalling to 
Xen, which can then inject a fake interrupt into the virtual machine.

> 4.  Task switches. How was task switching happening in XenoLinux? Now
> VT specifically mentions that Task switches are not allowed in VMX
> Non-root mode is there any change in the way Task switches are done.

I looked at the code for this bit (xen/arch/x86/vmx.c):
---
    case EXIT_REASON_TASK_SWITCH:
        __vmx_bug(&regs);
        break;
---

"How strange", I thought.  Obviously, Xen/VT *does* support task switching, 
really :-)   One of the more surprising features of x86 is that it can 
actually do task switching _in hardware_ (!).  This is what the VT docs are 
referring to and it's what isn't supported under Xen.

HW task switching has some limitations, so Linux (and I imagine the BSDs, 
Windows) don't use it.  They'll be able to switch tasks quite happily under 
Xen/VT.  Some smaller OSs (Syllable springs to mind) do use the h/w task 
switching feature but it's not technically impossible to support.

A trap into Xen might still occur if page tables need to be switched (I'm not 
so clear on this bit).

> 5. Shadow page tables: How exactly has this changed from the existing
> handling of the page tables & directories. I didnt quite understand
> the explanation in /docs/misc/VMX_changes.txt

Page tables in vanilla Xen are exposed to the guest - it *knows* it's not 
running in a contiguous memory that starts at 0...  Xen/VT uses "full shadow 
mode" to hide this from the guest.

HTH,
Mark


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel

<Prev in Thread] Current Thread [Next in Thread>