equal
deleted
inserted
replaced
14 // |
14 // |
15 |
15 |
16 #include "memmodel.h" |
16 #include "memmodel.h" |
17 #include "mm.h" |
17 #include "mm.h" |
18 #include "mmu.h" |
18 #include "mmu.h" |
19 |
19 #include "mpager.h" |
20 #include "mrom.h" |
20 #include "mrom.h" |
21 |
21 |
22 /** Returns the amount of free RAM currently available. |
22 /** Returns the amount of free RAM currently available. |
23 |
23 |
24 @return The number of bytes of free RAM currently available. |
24 @return The number of bytes of free RAM currently available. |
605 { |
605 { |
606 return KPageSize; |
606 return KPageSize; |
607 } |
607 } |
608 |
608 |
609 |
609 |
|
610 void M::BTracePrime(TUint aCategory) |
|
611 { |
|
612 (void)aCategory; |
|
613 |
610 #ifdef BTRACE_KERNEL_MEMORY |
614 #ifdef BTRACE_KERNEL_MEMORY |
611 void M::BTracePrime(TUint aCategory) |
615 // Must check for -1 as that is the default value of aCategory for |
612 { |
616 // BTrace::Prime() which is intended to prime all categories that are |
613 // TODO: |
617 // currently enabled via a single invocation of BTrace::Prime(). |
614 } |
618 if(aCategory == BTrace::EKernelMemory || (TInt)aCategory == -1) |
|
619 { |
|
620 NKern::ThreadEnterCS(); |
|
621 RamAllocLock::Lock(); |
|
622 BTrace4(BTrace::EKernelMemory, BTrace::EKernelMemoryInitialFree, TheSuperPage().iTotalRamSize); |
|
623 BTrace4(BTrace::EKernelMemory, BTrace::EKernelMemoryCurrentFree, Kern::FreeRamInBytes()); |
|
624 BTrace4(BTrace::EKernelMemory, BTrace::EKernelMemoryMiscAlloc, Epoc::KernelMiscPages << KPageShift); |
|
625 BTrace4(BTrace::EKernelMemory, BTrace::EKernelMemoryDemandPagingCache, ThePager.MinimumPageCount() << KPageShift); |
|
626 BTrace8(BTrace::EKernelMemory, BTrace::EKernelMemoryDrvPhysAlloc, Epoc::DriverAllocdPhysRam, -1); |
|
627 RamAllocLock::Unlock(); |
|
628 NKern::ThreadLeaveCS(); |
|
629 } |
615 #endif |
630 #endif |
616 |
631 TheMmu.BTracePrime(aCategory); |
|
632 } |
617 |
633 |
618 |
634 |
619 // |
635 // |
620 // DPlatChunkHw |
636 // DPlatChunkHw |
621 // |
637 // |