--- a/kernel/eka/memmodel/epoc/flexible/mmu/mpdalloc.cpp Wed Jun 23 12:58:21 2010 +0100
+++ b/kernel/eka/memmodel/epoc/flexible/mmu/mpdalloc.cpp Thu Jul 01 17:57:33 2010 +0100
@@ -134,7 +134,14 @@
RamAllocLock::Lock();
TInt r = m.AllocContiguousRam(pdPhys, KLocalPdPages, KLocalPdShift-KPageShift, iPageDirectoryMemory->RamAllocFlags());
if(r==KErrNone)
+ {
AssignPages(offset>>KPageShift,KLocalPdPages,pdPhys);
+
+#ifdef BTRACE_KERNEL_MEMORY
+ BTrace4(BTrace::EKernelMemory, BTrace::EKernelMemoryMiscAlloc, KLocalPdPages << KPageShift);
+ Epoc::KernelMiscPages += KLocalPdPages;
+#endif
+ }
RamAllocLock::Unlock();
if(r==KErrNone)
@@ -147,6 +154,11 @@
{
RamAllocLock::Lock();
m.FreeContiguousRam(pdPhys,KLocalPdPages);
+
+#ifdef BTRACE_KERNEL_MEMORY
+ BTrace4(BTrace::EKernelMemory, BTrace::EKernelMemoryMiscFree, KLocalPdPages << KPageShift);
+ Epoc::KernelMiscPages -= KLocalPdPages;
+#endif
RamAllocLock::Unlock();
}
else
@@ -206,6 +218,11 @@
Mmu& m = TheMmu;
// Page directories are fixed.
m.FreeRam(pages, KLocalPdPages, EPageFixed);
+
+#ifdef BTRACE_KERNEL_MEMORY
+ BTrace4(BTrace::EKernelMemory, BTrace::EKernelMemoryMiscFree, KLocalPdPages << KPageShift);
+ Epoc::KernelMiscPages -= KLocalPdPages;
+#endif
RamAllocLock::Unlock();
}