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