Multi-threading: Difference between revisions

Neobrain (talk | contribs)
(Proofread, please.) Let's add *some* information about this.
Neobrain (talk | contribs)
m Move CodeSetInfo over here
Line 21: Line 21:


Sets up the main process thread and appends it to the scheduler queue.
Sets up the main process thread and appends it to the scheduler queue.
== struct CodeSetInfo ==
All addresses are given virtual for the process to be created.
All sizes are given in 0x1000-pages.
{| class="wikitable" border="1"
!  Type
!  Field
|-
| u8[8]
| Codeset Name
|-
| u16
| Unknown, this is written to field 0x5A of KCodeSet
|-
| u16
| Unknown/padding
|-
| u32
| Unknown/padding
|-
| u32
| .text addr
|-
| u32
| .text size
|-
| u32
| .rodata start
|-
| u32
| .rodata size
|-
| u32
| RW addr (.data + .bss)
|-
| u32
| RW size (.data + .bss)
|-
| u32
| Total .text pages
|-
| u32
| Total .rodata pages
|-
| u32
| Total RW pages (.data + .bss)
|-
| u32
| Unknown/padding
|-
| u8[8]
| Program ID
|}


= Threads =
= Threads =