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/
Home Products Support Community News


[Xen-devel] Problem with (Mini-OS) page-table setup

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Problem with (Mini-OS) page-table setup
From: Livio Soares <livio@xxxxxxxxxxxxxxxx>
Date: Wed, 1 Aug 2007 17:17:43 -0400
Delivery-date: Wed, 01 Aug 2007 14:15:21 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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>
Mail-followup-to: Livio Soares <livio@xxxxxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.13 (2006-08-11)

  I'm  working  on small  kernel  on  top of  Xen,  and  am having  serious
headaches  after upgrading  from  Xen 3.0.3  to  Xen-unstable. The  problem
appears while I'm trying to extend my initial page-table. 

  In fact, my  page-table code was strongly based on  Mini-OS' code. I have
tried to boot  Mini-OS (as DomU) in my environment  with similar amounts of
memory (from  1024 to 2048  MiB) and Mini-OS  also crashes in  an analogous
form.  When it tries to extend its initial page-table for a "demand-paging"
area, it dies with:

"PTE for new page table page could not be updated"

  After an  unsuccessful mmu_update() call. This  is what I get  in the xen

(XEN) /home/liviobs/xen-unstable.hg/xen/include/asm/mm.h:186:d43 Error pfn 
24000: rd=ffff8300cee12100, od=ffff8300ceef2100, caf=80000002, 
(XEN) mm.c:649:d43 Error getting mfn 24000 (pfn 2031c) from L1 entry 
0000000024000125 for dom43

  While trying smaller memory sizes (16MiB, for example), everything works.

  I am at loss  at what could be the problem. I've  tried make sure my page
table pages  have been marked  as read-only before calling  mmu_update() to
update  the higher-level level  page-table entry.  I've trying  pinning the
page after making it read-only;  I've trying starting a new page-table from
scratch and switching to it later. 

  If anyone can give me some tips  as to what could be going wrong, I would
really  appreciate it...  starting with  trying  to make  Mini-OS work  for
larger memory sizes  (I've actually been able to  reproduce this issue with

  My environment:

Host: Intel x86_64
Xen: unstable (changeset: 15521:1f348e70a5af)
GCC: 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
Dom0: Linux 2.6.18 (changeset: 103:a70de77dd8d3)

  Thanks and don't hesitate to bug me,


Xen-devel mailing list

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