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

Re: [Xen-devel] Problem setting up a custom GDT



At Fri, 09 Jun 2006 13:07:02 +0200,
Mathieu Ropert wrote:
> 
> Simon Kagstrom wrote:
> 
> >Hello!
> >
> >I have some problems setting up a custom GDT (I need one where the
> >code is readable). Anyway, I try to switch to my own GDT as follows:
> >
> >   unsigned long frames[16];
> >
> >   volatile unsigned long va = (unsigned long)GDT;
> >   volatile unsigned long pa = to_phys(va);
> >   volatile unsigned long ma = phys_to_machine(pa) & ~_PAGE_RW  | 
> > _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_DIRTY;
> >
> >   /* Make it read-only */
> >   HYPERVISOR_update_va_mapping(va, (pte_t){ ma }, 0);
> >   frames[0] = ma;
>
> The machine address you pass to Xen is a page table entry. Xen want a 
> machine frame number.
> 
> frames[0] = ma >> PAGE_SHIFT;
> 
> should fix you problem.

Ah, thank you! This fixed the problem!

I see now that Linux uses virt_to_mfn() - I should have looked at that
one...

// Simon

_______________________________________________
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®.