To use these, write the address and number of dwords, then read
the result from $addr.
Instruction to jump to when the CP is preempted to perform a
context switch, initialized to entry 15 of the jump table at
bootup.
Writing to this triggers a register write and auto-increments
REG_WRITE_ADDR.
After setting these, read result from $addr2
Write to increase WFI_PEND_CTR, decremented by WFI_PEND_DECR
pipe register.
Controls whether RB, IB1, or IB2 is executed
Controls high 32 bits used by load and store afuc instructions
Used to initialize the jump table for handling packets at bootup
These are addresses of various preemption records for the
current context. When context switching, the CP will save the
current state into these buffers, restore the state of the
next context from the buffers in the corresponding
CP_CONTEXT_SWITCH_PRIV_* registers written by the kernel,
then set these internal registers to the contents of
those registers. The kernel sets the initial values via
CP_SET_PSEUDO_REG on startup, and from then on the firmware
keeps track of them.
Used only during preemption, saved and restored from the "info"
field of a6xx_preemption_record. From the downstream kernel:
"Type of record. Written non-zero (usually) by CP.
we must set to zero for all ringbuffers."
Set by SET_MARKER, used to conditionally execute
CP_COND_REG_EXEC and draw states.