Specifications

Data Structures
1.4 Per-CPU Database (CPU)
Table 1–4 Contents of Per-CPU Database
Field Name Contents
CPU$L_CURPCB* Address of current PCB. The scheduler writes this field.
CPU$L_REALSTACK* Physical address of boot stack.
CPU$W_SIZE* Size of the per-CPU database, including the size of the boot stack but
not the interrupt stack or the interrupt stack’s guard pages.
CPU$B_TYPE* Type of data structure. The operating system writes the value DYN$C_
MP into this field when it creates the per-CPU database.
CPU$B_SUBTYPE* Structure subtype. The operating system writes the value DYN$C_MP_
CPU into this field when it creates the per-CPU database.
CPU$B_BUSYWAIT* Concurrent busy-wait count for this processor.
CPU$B_STATE* State of this processor. The following processor states are defined:
CPU$C_INIT Processor is being initialized.
CPU$C_RUN Processor is running.
CPU$C_STOPPING Processor is stopping.
CPU$C_STOPPED Processor is stopped.
CPU$C_TIMOUT Logical console has timed out.
CPU$C_BOOT_REJECTED Processor has refused to join
multiprocessing system.
CPU$C_BOOTED Processor has booted, but is waiting
to join multiprocessing active set.
CPU$B_CPUMTX* Count of acquisitions of CPUMTX mutex.
CPU$B_CUR_PRI* Current process priority. The scheduler writes this field.
CPU$L_INTSTK* Address of initial interrupt stack.
CPU$L_WORK_REQ* Work request bits. A processor sets one or more of these bits in
another processor’s per-CPU database when directing an interprocessor
interrupt to that processor.
The following fields are defined within CPU$L_WORK_REQ:
CPU$V_INV_TBS Request to invalidate single address
(SMP$GL_INVALID) in translation buffer
CPU$V_INV_TBA Request to invalidate all addresses in
translation buffer
CPU$V_TBACK Acknowledgment that a processor
requested to invalidate its translation
buffer has done so
CPU$V_BUGCHK Request to bugcheck
CPU$V_BUGCHKACK Acknowledgment that the processor has
saved process context and per-CPU data
so that the crash CPU can continue to
perform a bugcheck
(continued on next page)
1–16