xref: /reactos/sdk/include/xdk/mips/ke.h (revision c2c66aff)
1 $if (_WDMDDK_)
2 #error MIPS Headers are totally incorrect
3 
4 //
5 // Used to contain PFNs and PFN counts
6 //
7 typedef ULONG PFN_COUNT;
8 typedef ULONG PFN_NUMBER, *PPFN_NUMBER;
9 typedef LONG SPFN_NUMBER, *PSPFN_NUMBER;
10 
11 #define PASSIVE_LEVEL                      0
12 #define APC_LEVEL                          1
13 #define DISPATCH_LEVEL                     2
14 #define PROFILE_LEVEL                     27
15 #define IPI_LEVEL                         29
16 #define HIGH_LEVEL                        31
17 
18 typedef struct _KPCR {
19   struct _KPRCB *Prcb;         /* 20 */
20   KIRQL Irql;                  /* 24 */
21   ULONG IRR;                   /* 28 */
22   ULONG IDR;                   /* 30 */
23 } KPCR, *PKPCR;
24 
25 #define KeGetPcr()                      PCR
26 
27 typedef struct _KFLOATING_SAVE {
28 } KFLOATING_SAVE, *PKFLOATING_SAVE;
29 
30 static __inline
31 ULONG
32 NTAPI
33 KeGetCurrentProcessorNumber(VOID)
34 {
35   return 0;
36 }
37 
38 #define YieldProcessor() __asm__ __volatile__("nop");
39 
40 #define KeLowerIrql(a) KfLowerIrql(a)
41 #define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)
42 
43 NTKERNELAPI
44 VOID
45 NTAPI
46 KfLowerIrql(
47   IN KIRQL NewIrql);
48 
49 NTKERNELAPI
50 KIRQL
51 NTAPI
52 KfRaiseIrql(
53   IN KIRQL NewIrql);
54 
55 NTKERNELAPI
56 KIRQL
57 NTAPI
58 KeRaiseIrqlToDpcLevel(VOID);
59 
60 NTKERNELAPI
61 KIRQL
62 NTAPI
63 KeRaiseIrqlToSynchLevel(VOID);
64 
65 $endif
66 
67