aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/mm.c
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-03-15 20:25:50 +0100
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-03-15 20:25:50 +0100
commita54b2baac24a08b82791ede1491f31ce9408af3f (patch)
treee6504405ba4086d61b1aa41e0122f0828e02dca1 /extras/mini-os/mm.c
parent7999d904265804ce344cf05a6bdf76429439f9a8 (diff)
downloadxen-a54b2baac24a08b82791ede1491f31ce9408af3f.tar.gz
xen-a54b2baac24a08b82791ede1491f31ce9408af3f.tar.bz2
xen-a54b2baac24a08b82791ede1491f31ce9408af3f.zip
Implement console for Mini-os and also fix 2 bugs:
a) in initialising new page table frames b) in initialising idle thread. Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
Diffstat (limited to 'extras/mini-os/mm.c')
-rw-r--r--extras/mini-os/mm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/extras/mini-os/mm.c b/extras/mini-os/mm.c
index c26ae2817a..6facfe04b0 100644
--- a/extras/mini-os/mm.c
+++ b/extras/mini-os/mm.c
@@ -380,6 +380,10 @@ void new_pt_frame(unsigned long *pt_pfn, unsigned long prev_l_mfn,
"prev_l_mfn=%lx, offset=%lx\n",
level, *pt_pfn, prev_l_mfn, offset);
+ /* We need to clear the page, otherwise we might fail to map it
+ as a page table page */
+ memset((unsigned long*)pfn_to_virt(*pt_pfn), 0, PAGE_SIZE);
+
if (level == L1_FRAME)
{
prot_e = L1_PROT;