368338ed33bb312945d9ac605e5e9d8b251512fa
[reactos.git] / reactos / boot / freeldr / freeldr / arch / amd64 / 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 .code64
32 .globl _PageDirectoryStart
33
34 .globl _pml4_startup
35 .globl _pdp_startup
36 .globl _pd_startup
37
38 .globl _PageDirectoryEnd
39
40 //
41 // Boot information structure
42 //
43
44 EXTERN(_reactos_memory_map_descriptor_size)
45 .long 0
46
47 EXTERN(_reactos_memory_map)
48 .rept (32 * /*sizeof(memory_map_t)*/24)
49 .byte 0
50 .endr
51
52 .bss
53 _PageDirectoryStart:
54 _pml4_startup:
55 .fill 4096, 1, 0
56
57 _pdp_startup:
58 .fill 4096, 1, 0
59
60 _pd_startup:
61 .fill 4096, 1, 0
62
63 _PageDirectoryEnd: