[FREELDR] Fix 64 bit issues
[reactos.git] / boot / freeldr / freeldr / include / mm.h
index 2b2a71f..d29fe60 100644 (file)
 
 extern char __ImageBase;
 #ifdef __GNUC__
+/* .text, .edata and .bss */
 #define FREELDR_SECTION_COUNT 3
 #else
 #ifdef _M_AMD64
 /* .text and .pdata */
 #define FREELDR_SECTION_COUNT 2
 #else
-#define FREELDR_SECTION_COUNT 1
+/* .text and .edata */
+#define FREELDR_SECTION_COUNT 2
 #endif
 #endif
 
@@ -123,6 +125,7 @@ PVOID    MmAllocateHighestMemoryBelowAddress(SIZE_T MemorySize, PVOID DesiredAdd
 
 extern PVOID FrLdrDefaultHeap;
 extern PVOID FrLdrTempHeap;
+extern SIZE_T FrLdrImageSize;
 
 PVOID
 FrLdrHeapCreate(
@@ -173,7 +176,8 @@ FrLdrHeapFree(PVOID MemoryPointer, ULONG Tag)
 FORCEINLINE
 PVOID
 FrLdrTempAlloc(
-    ULONG Size, ULONG Tag)
+    _In_ SIZE_T Size,
+    _In_ ULONG Tag)
 {
     return FrLdrHeapAllocateEx(FrLdrTempHeap, Size, Tag);
 }