[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Get IDT from virtual machine


  • To: Matthew Donovan <matthew@xxxxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
  • Date: Fri, 01 Feb 2008 08:40:09 +0000
  • Delivery-date: Fri, 01 Feb 2008 00:40:18 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: Achkrg1IS+aFhtChEdyXwwAWy6hiGQ==
  • Thread-topic: [Xen-devel] Get IDT from virtual machine

That's very wishful code! Unfortunately the IDTR is not exposed via
vcpu_context for HVM guests. The only way to get it right now is to do a hvm
save hypercall and then parse the pickled state to find the IDTR. It
actually should be quite easy.

 -- Keir

On 31/1/08 21:31, "Matthew Donovan" <matthew@xxxxxxxxxxxxxx> wrote:

> 
> I'm trying to retrieve and print the interrupt descriptor table of a guest
> OS but every address is coming out 0x00000000.
> 
> Here's what I'm doing:
> 
>     vcpu_guest_context_t ctx;
>     int i;
> 
>     int res = xc_vcpu_getcontext (xai->xc_handle, xai->domain_id, 0, &ctx);
>     if (res < 0) {
>         fprintf (stderr, "xc_vcpu_getcontext failed!\n");
>         return;
>     }   
> 
>     for (i = 0 ; i < 256 ; ++i) {
>         printf ("Interrupt %d: Address 0x%08x\n",
>                 i,
>                 ctx.trap_ctxt[i].address);
>     }
> 
> 
> I'm using Xen 3.1.2 on Fedora Core 8.  The guest OS's have been XP Pro and
> Vista Ultimate, though I assume that part doesn't matter since the IDT is a
> processor structure.
> 
> Any help is greatly appreciated.
> -matthew
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.