Author: arty
Date: Mon Jun 11 02:00:05 2007
New Revision: 27130
URL:
http://svn.reactos.org/svn/reactos?rev=27130&view=rev
Log:
Fix bug in stack restore.
Mask old H value in recent PTE map.
Modified:
branches/powerpc/reactos/lib/mmu/mmuobject.c
Modified: branches/powerpc/reactos/lib/mmu/mmuobject.c
URL:
http://svn.reactos.org/svn/reactos/branches/powerpc/reactos/lib/mmu/mmuobje…
==============================================================================
--- branches/powerpc/reactos/lib/mmu/mmuobject.c (original)
+++ branches/powerpc/reactos/lib/mmu/mmuobject.c Mon Jun 11 02:00:05 2007
@@ -89,7 +89,7 @@
".long 0\n\t");
__asm__(".text\n\t"
- ".globl data_miss_finish_start\n\t"
+ ".globl data_miss_finish_start\n"
"data_miss_finish_start:\n\t"
"lwz 2,8(1)\n\t"
"lwz 3,12(1)\n\t"
@@ -127,9 +127,8 @@
"mtcr 0\n\t"
"lwz 0,136(1)\n\t"
"mtctr 0\n\t"
- "lwz 0,4(1)\n\t"
+ "lwz 0,0(1)\n\t"
"mfsprg1 1\n\t"
- "lwz 0,0(1)\n\t"
"rfi\n\t");
/*
@@ -602,7 +601,7 @@
int vsid = GetSR((addr >> 28) & 15) & PPC_VSID_MASK;
ppc_map_t *map = mmuvirtmap(addr, vsid);
if(!map) return 0;
- map->pte.pteh |= hfun << 6;
+ map->pte.pteh = (map->pte.pteh & ~64) | (hfun << 6);
PpcHashedPTE[ptegnum].block[Clock & 7] = map->pte;
#if 0
fmtout("Reloading addr %x (phys %x) at %x[%x] (%x:%x)\r\n",