|
|
|
|
|
|
|
|
|
|
xen-devel
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
|
|
|
|
|