* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef __REACTOS_H
/* Base Addres of Kernel in Physical Memory */
#define KERNEL_BASE_PHYS 0x800000
+#if defined(_M_IX86)
+
/* Bits to shift to convert a Virtual Address into an Offset in the Page Table */
#define PFN_SHIFT 12
((p) >> PFN_SHIFT)
#define STARTUP_BASE 0xC0000000
-#define HYPERSPACE_BASE 0xC0400000
#define HAL_BASE 0xFFC00000
#define APIC_BASE 0xFFFE0000
#define LowMemPageTableIndex 0
#define StartupPageTableIndex (STARTUP_BASE >> 22)
-#define HyperspacePageTableIndex (HYPERSPACE_BASE >> 22)
#define HalPageTableIndex (HAL_BASE >> 22)
typedef struct _PAGE_DIRECTORY_X86
HARDWARE_PTE Pde[1024];
} PAGE_DIRECTORY_X86, *PPAGE_DIRECTORY_X86;
+#endif
+
///////////////////////////////////////////////////////////////////////////////////////
//
// ReactOS Loading Functions
VOID FASTCALL FrLdrSetupPae(ULONG Magic);
VOID FASTCALL FrLdrSetupPageDirectory(VOID);
VOID FASTCALL FrLdrGetPaeMode(VOID);
-BOOLEAN NTAPI FrLdrMapKernel(FILE *KernelImage);
+BOOLEAN NTAPI FrLdrMapKernel(PFILE KernelImage);
ULONG_PTR NTAPI FrLdrCreateModule(LPCSTR ModuleName);
-ULONG_PTR NTAPI FrLdrLoadModule(FILE *ModuleImage, LPCSTR ModuleName, PULONG ModuleSize);
+ULONG_PTR NTAPI FrLdrLoadModule(PFILE ModuleImage, LPCSTR ModuleName, PULONG ModuleSize);
BOOLEAN NTAPI FrLdrCloseModule(ULONG_PTR ModuleBase, ULONG dwModuleSize);
VOID NTAPI FrLdrStartup(ULONG Magic);
-typedef VOID (FASTCALL *ROS_KERNEL_ENTRY_POINT)(ULONG Magic, PROS_LOADER_PARAMETER_BLOCK LoaderBlock);
+typedef VOID (NTAPI *ROS_KERNEL_ENTRY_POINT)(IN PROS_LOADER_PARAMETER_BLOCK LoaderBlock);
PVOID
NTAPI
FrLdrMapImage(
- IN FILE *Image,
+ IN PFILE Image,
IN PCHAR ShortName,
IN ULONG ImageType
);
PVOID
NTAPI
FrLdrReadAndMapImage(
- IN FILE *Image,
+ IN PFILE Image,
IN PCHAR ShortName,
IN ULONG ImageType
);