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/mmuobjec... ============================================================================== --- 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",