aboutsummaryrefslogtreecommitdiffstats
path: root/src/kdata.asm
blob: efc780a06ce4bec41fade3a953529cc238f2f332 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
; =============================================================================
; kdata.asm - kernel globals in fixed WRAM0 (always mapped, never swapped)
; =============================================================================
INCLUDE "include/gbos.inc"

SECTION "kernel_bss", WRAM0[$C000]

wProcTable::  DS MAX_PROCS * PROC_SIZE  ; the process table
wCurProc::    DS 2                      ; pointer to running PCB
wCurPid::     DS 1                      ; running pid (reserved)
wNextPid::    DS 1                      ; pid allocator
wSchedNext::  DS 1                      ; round-robin cursor (slot index)
wKernelPCB::  DS PROC_SIZE              ; outgoing-context holder for 1st switch
                                        ; (kernel/idle context; never resumed)

; scratch used by ProcCreate
wTmpEntry::   DS 2
wTmpRamB::    DS 1
wTmpWramB::   DS 1
wTmpSlot::    DS 1
wTmpPid::     DS 1
wTmpSP::      DS 2