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-changelog

[Xen-changelog] [xen-unstable] [IA64] Allocate frame table/mpt table at

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Allocate frame table/mpt table at mfn=0
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 09 Dec 2006 15:44:54 +0000
Delivery-date: Sat, 09 Dec 2006 07:47:21 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 85b9711cb8955d67d65f67dfadf3e3d5eacfb2d8
# Parent  9787cb7262e89178ed77af75084c328d75d210cc
[IA64] Allocate frame table/mpt table at mfn=0

Allocate frame table/mpt table at mfn=0 even when memory isn't assigned at
mfn=0 as work around for transate_domain_pte().

transate_domain_pte() returns mfn=0 when the machine page isn't present
as a work around for memory mapped I/O where no device is assigned.
Xen might access page_info of mfn=0, so it must be guaranteed that it
exists. Otherwise xen panics with a tlb miss fault in xen's virtual
address area.

Once transate_domain_pte() is fixed correctly, this will be removed.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 xen/arch/ia64/xen/xenmem.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+)

diff -r 9787cb7262e8 -r 85b9711cb895 xen/arch/ia64/xen/xenmem.c
--- a/xen/arch/ia64/xen/xenmem.c        Tue Dec 05 10:59:32 2006 -0700
+++ b/xen/arch/ia64/xen/xenmem.c        Tue Dec 05 13:42:37 2006 -0700
@@ -181,6 +181,23 @@ void init_virtual_frametable(void)
        printk("virtual machine to physical table: %p size: %lukB\n"
               "max_page: 0x%lx\n",
               mpt_table, ((table_size << PAGE_SHIFT) >> 10), max_page);
+
+       /*
+        * XXX work around for translate_domain_pte().
+        * It returns mfn=0 when the machine page isn't present.  This
+        * behavior is a work around for memory mapped I/O where no device
+        * is assigned.  Xen might access page_info of mfn=0, so it must
+        * be guaranteed that it exists.  Otherwise xen panics with tlb miss
+        * fault in xen's virtual address area.
+        *
+        * Once translate_domain_pte() is fixed correctly, this will
+        * be removed.
+        */
+       if (!mfn_valid(0)) {
+               printk("allocating frame table/mpt table at mfn 0.\n");
+               create_frametable_page_table(0, PAGE_SIZE, NULL);
+               create_mpttable_page_table(0, PAGE_SIZE, NULL);
+       }
 }
 
 int

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [IA64] Allocate frame table/mpt table at mfn=0, Xen patchbot-unstable <=