X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86%2Fmm_virt.c;h=b2520b521167b896dbeb1445cf2d47c42a3c1628;hb=db68d60fa72ff4b35bff9ca5191d4615fc142b34;hp=a022da2b9e9f92f24b414e520d1051eb2b7e11fa;hpb=df4e449c0972a703ce403332668a7bb3366d126a;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86/mm_virt.c b/Kernel/arch/x86/mm_virt.c index a022da2b..b2520b52 100644 --- a/Kernel/arch/x86/mm_virt.c +++ b/Kernel/arch/x86/mm_virt.c @@ -105,7 +105,7 @@ void MM_PageFault(Uint Addr, Uint ErrorCode, tRegs *Regs) && gaPageTable[Addr>>12] & PF_COW ) { tPAddr paddr; - if(MM_GetRefCount( gaPageTable[Addr>>12] & ~0xFFF ) == 0) + if(MM_GetRefCount( gaPageTable[Addr>>12] & ~0xFFF ) == 1) { gaPageTable[Addr>>12] &= ~PF_COW; gaPageTable[Addr>>12] |= PF_PRESENT|PF_WRITE; @@ -381,7 +381,7 @@ Uint MM_ClearUser() Uint MM_Clone() { Uint i, j; - Uint kStackBase = gCurrentThread->KernelStack - KERNEL_STACK_SIZE; + Uint kStackBase = Proc_GetCurThread()->KernelStack - KERNEL_STACK_SIZE; void *tmp; //ENTER(""); @@ -621,7 +621,7 @@ Uint MM_MapTemp(tPAddr PAddr) return TEMP_MAP_ADDR + (i << 12); } RELEASE( &gilTempMappings ); - Proc_Yield(); + Threads_Yield(); } }