Intro -- Core kernel variables exported to the PSM


The following operating-system specific global variables may be accessed by the PSM at any time. Variables not listed here may not be accessed by the PSM:

ms_cpu_t os_this_cpu
The value of this variable differs on each CPU. It holds the CPU number of the current CPU.

ms_cgnum_t os_this_cgnum
The value of this variable differs on each CPU group. It holds the CPU group number of the CPU group containing the current CPU.

ms_intr_dist_t *os_intr_dist_stray
PSM interrupt delivery functions return the value of os_intr_dist_stray when they can determine no reason for the interrupt to have occurred, that is, when MSOP_INTR_ATTACH was not called for this interrupt slot, and the function wishes to have the interrupt treated as an error. The core kernel will typically log this as a stray interrupt error for the particular CPU vector.

The value of os_intr_dist_stray is guaranteed to remain constant for the life of the PSM.

ms_intr_dist_t *os_intr_dist_nop
PSM interrupt delivery functions return the value of os_intr_dist_nop when there is no other interrupt distribution structure to be returned. In this case there is no action to be taken by the core kernel (besides checking for posted events from os_post_events).

void *os_page0
This variable holds a virtual address mapping for physical address zero. The PSM must not attempt to free this mapping with os_physmap_free.

ms_time_t os_tick_period
The tick period for primary heartbeat clock.

ms_topology_t *os_default_topology
This is a pointer to the topology structure built by the core kernel in advance of calling pfxinitpsm, using information obtained from bootstrap or other sources, in order to get far enough through the initialization to invoke the PSM. The PSM may optionally use this, in whole or in part, to help construct the topology structure it passes back to the kernel via MSPARAM_TOPOLOGY.

The default topology will include resources for CG 0, CGID 0, CPU 0, CPU caches, memory detected by the bootstrap (below 4GB only), and standard I/O buses detected.

Standards conformance

The variables described in this section are not part of any currently supported standard; they are an extension of AT&T System V provided by the Santa Cruz Operation.
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - 19 June 2005