ChangeSet 1.1748.1.3, 2005/06/24 10:37:54+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx
With this patch, now x86_64 domU is fully up!
We are running LTP there now.
Signed-off-by: Jun Nakajima <jun.nakajima@xxxxxxxxx>
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@xxxxxxxxx>
Signed-off-by: Xin B Li <xin.b.li@xxxxxxxxx>
linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c | 2 +-
linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c | 2 +-
linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c | 2 +-
linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c | 2 +-
xen/common/grant_table.c | 6 +++++-
5 files changed, 9 insertions(+), 5 deletions(-)
diff -Nru a/linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c
b/linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c
--- a/linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c 2005-06-24
06:03:22 -04:00
+++ b/linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c 2005-06-24
06:03:22 -04:00
@@ -174,7 +174,7 @@
return;
}
- prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED);
+ prot = __pgprot(_KERNPG_TABLE);
error = direct_remap_area_pages(&init_mm, VMALLOC_VMADDR(vma->addr),
shmem_frame<<PAGE_SHIFT, PAGE_SIZE,
prot, domid);
diff -Nru a/linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c
b/linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c
--- a/linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c 2005-06-24
06:03:22 -04:00
+++ b/linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c 2005-06-24
06:03:22 -04:00
@@ -300,7 +300,7 @@
return;
}
- prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED);
+ prot = __pgprot(_KERNPG_TABLE);
error = direct_remap_area_pages(&init_mm,
VMALLOC_VMADDR(vma->addr),
tx_shmem_frame<<PAGE_SHIFT, PAGE_SIZE,
diff -Nru a/linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c
b/linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c
--- a/linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c 2005-06-24
06:03:22 -04:00
+++ b/linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c 2005-06-24
06:03:22 -04:00
@@ -170,7 +170,7 @@
return;
}
- prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED);
+ prot = __pgprot(_KERNPG_TABLE);
error = direct_remap_area_pages(&init_mm, VMALLOC_VMADDR(vma->addr),
shmem_frame<<PAGE_SHIFT, PAGE_SIZE,
prot, domid);
diff -Nru a/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c
b/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c
--- a/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c 2005-06-24
06:03:22 -04:00
+++ b/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c 2005-06-24
06:03:22 -04:00
@@ -646,7 +646,7 @@
ASSERT(buffer_mach);
/* Always map writeable for now. */
- remap_prot = _PAGE_PRESENT|_PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_RW;
+ remap_prot = _KERNPG_TABLE;
for ( i = 0, offset = 0; offset < req->length;
i++, offset += PAGE_SIZE )
diff -Nru a/xen/common/grant_table.c b/xen/common/grant_table.c
--- a/xen/common/grant_table.c 2005-06-24 06:03:22 -04:00
+++ b/xen/common/grant_table.c 2005-06-24 06:03:22 -04:00
@@ -258,7 +258,11 @@
{
/* Write update into the pagetable. */
l1_pgentry_t pte;
- pte = l1e_from_pfn(frame, _PAGE_PRESENT | _PAGE_ACCESSED |
_PAGE_DIRTY);
+ pte = l1e_from_pfn(frame, _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_DIRTY
+#if defined(__x86_64__)
+ | _PAGE_USER
+#endif
+ );
if ( !(dev_hst_ro_flags & GNTMAP_readonly) )
l1e_add_flags(pte,_PAGE_RW);
rc = update_grant_va_mapping( host_virt_addr, pte,
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|