Difference between revisions of "KHeapChunkHeader"

From 3dbrew
Jump to navigation Jump to search
Line 4: Line 4:
  
 
     struct MemoryChunkHeader {
 
     struct MemoryChunkHeader {
         int num_pages; // size of this chunk
+
         int num_pages; // size of this chunk in terms of small pages
 
         void* next;
 
         void* next;
 
         void* prev;
 
         void* prev;

Revision as of 15:20, 26 September 2015

People don't like typing, so they come up with ridiculous names like memchunkhdr to refer to memory chunk headers, i.e. headers describing chunks of memory allocated by the ARM11 kernel.

Here is some code describing the layout of a memory chunk header. TODO: If the reader happens to know anything about this barely documented topic, I hereby encourage them to clarify where this is actually used and how it ties into the rest of the kernel.

   struct MemoryChunkHeader {
       int num_pages; // size of this chunk in terms of small pages
       void* next;
       void* prev;
       int unk1;
       int unk2;
   };

The "next" and "prev" members are used to implement a linked-list. In fact, chances are this is actually a kernel object inherited from KLinkedList.