KProcess: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
No edit summary  | 
				No edit summary  | 
				||
| Line 19: | Line 19: | ||
| u32  | | u32  | ||
| Virtual address of the MMU table for this process  | | Virtual address of the MMU table for this process  | ||
|-  | |||
| 0x6C  | |||
| u32  | |||
| Ideal processor  | |||
|-  | |-  | ||
| 0x7C  | | 0x7C  | ||
| u32  | | u32  | ||
| Number of threads which belong to this process.  | | Number of threads which belong to this process.  | ||
|-  | |||
| 0x79  | |||
| u8  | |||
| Proc affinity mask  | |||
|-  | |-  | ||
| 0x80  | | 0x80  | ||
Revision as of 22:10, 27 July 2014
class KProcess extends KSynchronizationObject;
| Offset | Type | Description | 
|---|---|---|
| 0x0 | u32 | Pointer to vtable | 
| 0x4 | u32 | Reference count | 
| 0x54 | u32 | Virtual address of the MMU table for this process | 
| 0x6C | u32 | Ideal processor | 
| 0x7C | u32 | Number of threads which belong to this process. | 
| 0x79 | u8 | Proc affinity mask | 
| 0x80 | 0x10-bytes | SVC access control mask from the exheader kernel descriptors. | 
| 0xA0 | u32 | Kernel flags from the exheader kernel descriptors. | 
| 0xA4 | u16 | Handle table size from the exheader kernel descriptors. When this is 0, handle table is stored in WRAM. | 
| 0xA6 | u16 | Kernel release version field, from the exheader kernel descriptors. | 
| 0xA8 | u32 | Pointer to KCodeSet instance | 
| 0xAC | u32 | Process id, this always begins at 0x0 for the first process. | 
| 0xB8 | KThread* | Pointer to the process's main (?) thread. | 
| 0xCC | void* | Pointer to the process's handle table. | 
Structure for 8.0.0-18 NATIVE_FIRM:
| Offset | Type | Description | 
|---|---|---|
| 0x0 | u32 | Pointer to vtable | 
| 0x4 | u32 | Reference count | 
| 0x50 | u32* | LINEAR memory virtual address(userland) base for this process. | 
| 0x5C | u32 | Virtual address of the MMU table for this process | 
| 0x84 | u32 | Number of threads which belong to this process. | 
| 0x88 | 0x10-bytes | SVC access control mask from the exheader kernel descriptors. | 
| 0xA8 | u32 | Kernel flags from the exheader kernel descriptors. | 
| 0xAC | u16 | Handle table size from the exheader kernel descriptors. When this is 0, handle table is stored in WRAM. | 
| 0xAE | u16 | Kernel release version field, from the exheader kernel descriptors. | 
| 0xB0 | u32 | Pointer to KCodeSet instance | 
| 0xB4 | u32 | Process id, this always begins at 0x0 for the first process. | 
| 0xC0 | KThread* | Pointer to the process's main (?) thread. | 
| 0xD4 | void* | Pointer to the process's handle table. |