Difference between revisions of "KHeapChunkHeader"

From 3dbrew
Jump to navigation Jump to search
(There, feel free to document this in a better manner. At least it's documented at all now.)
 
Line 4: Line 4:
  
 
     struct MemoryChunkHeader {
 
     struct MemoryChunkHeader {
         int count;
+
         int num_pages; // size of this chunk
 
         void* next;
 
         void* next;
 
         void* prev;
 
         void* prev;

Revision as of 16:14, 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
       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.