mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.1 KiB
59 lines
1.1 KiB
/*++
|
|
|
|
Copyright 1995 International Business Machines
|
|
|
|
Module Name:
|
|
|
|
pxmp.h
|
|
|
|
Abstract:
|
|
|
|
Defines structures specific to IBM MP PowerPC systems/HALs.
|
|
|
|
Author:
|
|
|
|
Peter L Johnston ([email protected]) August 1995.
|
|
|
|
--*/
|
|
|
|
#ifndef __PXMP_H
|
|
|
|
#define __PXMP_H
|
|
|
|
#include "pxmpic2.h"
|
|
|
|
//
|
|
// Define PER processor HAL data.
|
|
//
|
|
// This structure is assigned the address &PCR->HalReserved which is
|
|
// an array of 16 ULONGs in the architectually defined section of the
|
|
// PCR.
|
|
//
|
|
|
|
typedef struct {
|
|
ULONG PhysicalProcessor;
|
|
PMPIC_PER_PROCESSOR_REGS MpicProcessorBase;
|
|
ULONG HardPriority;
|
|
ULONG PendingInterrupts;
|
|
} PER_PROCESSOR_DATA, *PPER_PROCESSOR_DATA;
|
|
|
|
#if defined(HALPCR)
|
|
|
|
//
|
|
// Remove UNI processor defn in favor of MP defn of HALPCR.
|
|
//
|
|
|
|
#undef HALPCR
|
|
|
|
#endif
|
|
|
|
#define HALPCR ((PPER_PROCESSOR_DATA)&PCR->HalReserved)
|
|
|
|
ULONG __builtin_cntzlw(ULONG);
|
|
|
|
#define HIGHEST_PENDING_IRQL() \
|
|
(31-__builtin_cntzlw(HALPCR->PendingInterrupts))
|
|
|
|
#define MAXIMUM_PROCESSORS 32
|
|
|
|
#endif
|