2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Hardware Abstraction Layer
4 * FILE: hal/halx86/include/hal.h
6 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
9 /* INCLUDES ******************************************************************/
11 /* SDK/DDK/NDK Headers. */
12 #include <ddk/ntddk.h>
15 /* FIXME: NDK Headers */
18 /* Internal Kernel Headers */
19 //#include <internal/mm.h>
20 #include <internal/ke.h>
21 #include <internal/i386/ps.h>
23 //Temporary hack below.
25 MmAllocateContiguousAlignedMemory(IN ULONG NumberOfBytes
,
26 IN PHYSICAL_ADDRESS LowestAcceptableAddress
,
27 IN PHYSICAL_ADDRESS HighestAcceptableAddress
,
28 IN PHYSICAL_ADDRESS BoundaryAddressMultiple OPTIONAL
,
29 IN MEMORY_CACHING_TYPE CacheType OPTIONAL
,
33 VOID STDCALL
KeEnterKernelDebugger (VOID
);
34 VOID FASTCALL
KiAcquireSpinLock(PKSPIN_LOCK SpinLock
);
35 VOID FASTCALL
KiReleaseSpinLock(PKSPIN_LOCK SpinLock
);
36 VOID STDCALL
KiDispatchInterrupt(VOID
);
40 IN KPROCESSOR_MODE ObjectAttributesAccessMode OPTIONAL
,
41 IN POBJECT_TYPE ObjectType
,
42 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL
,
43 IN KPROCESSOR_MODE AccessMode
,
44 IN OUT PVOID ParseContext OPTIONAL
,
46 IN ULONG PagedPoolCharge OPTIONAL
,
47 IN ULONG NonPagedPoolCharge OPTIONAL
,
54 /* Internal HAL Headers */
62 /* Helper Macros FIXME: NDK */
63 #define ROUNDUP(a,b) ((((a)+(b)-1)/(b))*(b))
64 #define ROUND_DOWN(N, S) ((N) - ((N) % (S)))
66 #define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF))
69 #define LOWORD(l) ((WORD)(l))