[freeldr] Move custom.c, drivemap.c/h, miscboot.c/h to i386 directories
[reactos.git] / reactos / boot / freeldr / freeldr / arch / i386 / mb.S
1 /*
2 * FreeLoader
3 * Copyright (C) 1998-2002 Brian Palmer <brianp@sginet.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20 .text
21 .code16
22
23 #define ASM
24 #include <arch.h>
25 #include <multiboot.h>
26
27 /*
28 * Here we assume the kernel is loaded at 1mb
29 * This boots the kernel
30 */
31 .code32
32 .globl _PageDirectoryStart
33
34 .globl _startup_pagedirectory
35 .globl _lowmem_pagetable
36 .globl _kernel_pagetable
37 .globl _apic_pagetable
38 .globl _kpcr_pagetable
39 .globl _kuser_pagetable
40
41 .globl _PageDirectoryEnd
42
43 //
44 // Boot information structure
45 //
46
47 EXTERN(_reactos_memory_map_descriptor_size)
48 .long 0
49
50 EXTERN(_reactos_memory_map)
51 .rept (32 * /*sizeof(memory_map_t)*/24)
52 .byte 0
53 .endr
54
55 .bss
56 _PageDirectoryStart:
57 _startup_pagedirectory:
58 .fill 4096, 1, 0
59
60 _lowmem_pagetable:
61 .fill 4096, 1, 0
62
63 _kernel_pagetable:
64 .fill 2*4096, 1, 0
65
66 _apic_pagetable:
67 .fill 4096, 1, 0
68
69 _kpcr_pagetable:
70 .fill 4096, 1, 0
71
72 _kuser_pagetable:
73 .fill 4096, 1, 0
74
75 _PageDirectoryEnd: