PSD_INIT
PSD_INIT keywords Required, Can Block
Description Initialize the PSD.
This function is called to initialize the PSD. It is used to allocate and initialize any resources that the PSD may require, as well as initializing the state of the hardware. This function should only initialize the state of the hardware in general. Initialization of CPUs should be done in
ProcInit. It must fill in the INIT structure passed to it by OS/2. This function is only called once on CPU0.
Mode Called in Init Mode only.
Entry Pointer to INIT structure
Exit
NO_ERROR if the PSD initialized successfully.
-1 if the PSD didn't initialize.
Structures
typedef struct init_s {
ulong_t flags; (Output)
ulong_t version; (Output)
} INIT;
- flags in the INIT structure indicate any special features or requirement that the PSD may have.
INIT_GLOBAL_IRQ_ACCESS indicates that the platform can perform IRQ operations (e.g. PIC masking) on any processor. If this flag is omitted, the IRQ functions are guaranteed to only get called on CPU0, otherwise they may get called on any processor. If the flag is omitted and an IRQ operation is initiated on a processor other then CPU0, the OS/2 kernel will route the request to CPU0.
INIT_USE_FPERR_TRAP indicates that Trap 16 will be used to report floating point errors, instead of IRQ 13. If this flag is set, the kernel sets the NE flag in CR0 for all processors. The PSD is responsible for doing any additional work for making the transition.
INIT_EOI_IRQ13_ON_CPU0 indicates that an EOI for a floating point error using IRQ13 should only be performed from CPU0. On CPU1-N, the hardware is responsible for clearing the interrupt.
- version indicates the version number of this PSD. It should be updated appropriately as this will help with service.
Notes None.
There are no comments on this page. [Add comment]