/* FUNCTIONS *****************************************************************/
VOID
+NTAPI
MmLockAddressSpace(PMADDRESS_SPACE AddressSpace)
{
/*
{
return;
}
- ExAcquireFastMutex(&AddressSpace->Lock);
+ ExEnterCriticalRegionAndAcquireFastMutexUnsafe(&AddressSpace->Lock);
}
VOID
+NTAPI
MmUnlockAddressSpace(PMADDRESS_SPACE AddressSpace)
{
/*
{
return;
}
- ExReleaseFastMutex(&AddressSpace->Lock);
+ ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(&AddressSpace->Lock);
}
-VOID INIT_FUNCTION
+VOID
+INIT_FUNCTION
+NTAPI
MmInitializeKernelAddressSpace(VOID)
{
MmInitializeAddressSpace(NULL, &KernelAddressSpace);
}
-PMADDRESS_SPACE MmGetCurrentAddressSpace(VOID)
+PMADDRESS_SPACE
+NTAPI
+MmGetCurrentAddressSpace(VOID)
{
return(&PsGetCurrentProcess()->AddressSpace);
}
-PMADDRESS_SPACE MmGetKernelAddressSpace(VOID)
+PMADDRESS_SPACE
+NTAPI
+MmGetKernelAddressSpace(VOID)
{
return(&KernelAddressSpace);
}
NTSTATUS
+NTAPI
MmInitializeAddressSpace(PEPROCESS Process,
PMADDRESS_SPACE AddressSpace)
{
}
else
{
- AddressSpace->LowestAddress = (PVOID)KERNEL_BASE;
+ AddressSpace->LowestAddress = MmSystemRangeStart;
}
AddressSpace->Process = Process;
if (Process != NULL)
}
NTSTATUS
+NTAPI
MmDestroyAddressSpace(PMADDRESS_SPACE AddressSpace)
{
if (AddressSpace->PageTableRefCountTable != NULL)