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

[Xen-devel] Question about mmu_update

To: xen-devel list <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] Question about mmu_update
From: Simon Kagstrom <simon.kagstrom@xxxxxx>
Date: Tue, 14 Feb 2006 14:53:39 +0100
Delivery-date: Tue, 14 Feb 2006 14:06:11 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Wanderlust/2.11.30 (Wonderwall) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/21.4 (i386-pc-linux-gnu) MULE/5.0 (SAKAKI)
Hello!

I have some problems with mmu_update. I'm trying to map in the grant
table frames onto the address 0xeff00000. Therefore, I want to install
a page table for that region of memory. However, I get error messages
from Xen when trying to install the page table into the page
directory:

------------------------------------------------------------
(XEN) DOM216: (file=mm.c, line=351) Could not get page ref for pfn a01c0183
(XEN) DOM216: (file=mm.c, line=2141) Could not get page for normal update
------------------------------------------------------------

The code is

------------------------------------------------------------
new[NR_GRANT_FRAMES].ptr = phys_to_machine(to_phys(pgdir)) + sizeof(void*) * 
l2_table_offset(XEN_GNTTAB_START);
new[NR_GRANT_FRAMES].val = phys_to_machine(pgtab) | (L1_PROT & ~_PAGE_RW);

BUG_ON(HYPERVISOR_mmu_update(new, 1, NULL, DOMID_SELF) < 0);
------------------------------------------------------------

(mostly taken from the Mini-OS). The page directory (from
start_info_t) is at:

Virtual    : 0xc21c4000   pgdir
Pseudo-phys: 0x021c4000   to_phys(pgdir)
Machine    : 0x048a6000   phys_to_machine(to_phys(pgdir))

And the ptr mmu_update_t is

ptr        : 0x048a6efc
val        : 0x04899021


Do I pass the wrong arguments to the mmu_update_t? Isn't the arguments
supposed to be the physical address of the page table entry/page
directory entry (ptr) and the new entry (val). I'm working on x86.

// Simon

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

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