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 */
16 #include <ntos/types.h>
17 #include <ntos/haltypes.h>
18 #include <ntos/halfuncs.h>
20 /* Internal Kernel Headers */
21 //#include <internal/mm.h>
22 #include <internal/ke.h>
23 #include <internal/i386/ps.h>
25 //Temporary hack below.
27 MmAllocateContiguousAlignedMemory(IN ULONG NumberOfBytes
,
28 IN PHYSICAL_ADDRESS LowestAcceptableAddress
,
29 IN PHYSICAL_ADDRESS HighestAcceptableAddress
,
30 IN PHYSICAL_ADDRESS BoundaryAddressMultiple OPTIONAL
,
31 IN MEMORY_CACHING_TYPE CacheType OPTIONAL
,
35 VOID STDCALL
KeEnterKernelDebugger (VOID
);
36 VOID FASTCALL
KiAcquireSpinLock(PKSPIN_LOCK SpinLock
);
37 VOID FASTCALL
KiReleaseSpinLock(PKSPIN_LOCK SpinLock
);
38 VOID STDCALL
KiDispatchInterrupt(VOID
);
42 IN KPROCESSOR_MODE ObjectAttributesAccessMode OPTIONAL
,
43 IN POBJECT_TYPE ObjectType
,
44 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL
,
45 IN KPROCESSOR_MODE AccessMode
,
46 IN OUT PVOID ParseContext OPTIONAL
,
48 IN ULONG PagedPoolCharge OPTIONAL
,
49 IN ULONG NonPagedPoolCharge OPTIONAL
,
56 /* Internal HAL Headers */
64 /* Helper Macros FIXME: NDK */
65 #define ROUNDUP(a,b) ((((a)+(b)-1)/(b))*(b))
66 #define ROUND_DOWN(N, S) ((N) - ((N) % (S)))
68 #define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF))
71 #define LOWORD(l) ((WORD)(l))