Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
setup.h
Go to the documentation of this file.
1 #ifndef __ALPHA_SETUP_H
2 #define __ALPHA_SETUP_H
3 
4 #define COMMAND_LINE_SIZE 256
5 
6 /*
7  * We leave one page for the initial stack page, and one page for
8  * the initial process structure. Also, the console eats 3 MB for
9  * the initial bootloader (one of which we can reclaim later).
10  */
11 #define BOOT_PCB 0x20000000
12 #define BOOT_ADDR 0x20000000
13 /* Remove when official MILO sources have ELF support: */
14 #define BOOT_SIZE (16*1024)
15 
16 #ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
17 #define KERNEL_START_PHYS 0x300000 /* Old bootloaders hardcoded this. */
18 #else
19 #define KERNEL_START_PHYS 0x1000000 /* required: Wildfire/Titan/Marvel */
20 #endif
21 
22 #define KERNEL_START (PAGE_OFFSET+KERNEL_START_PHYS)
23 #define SWAPPER_PGD KERNEL_START
24 #define INIT_STACK (PAGE_OFFSET+KERNEL_START_PHYS+0x02000)
25 #define EMPTY_PGT (PAGE_OFFSET+KERNEL_START_PHYS+0x04000)
26 #define EMPTY_PGE (PAGE_OFFSET+KERNEL_START_PHYS+0x08000)
27 #define ZERO_PGE (PAGE_OFFSET+KERNEL_START_PHYS+0x0A000)
28 
29 #define START_ADDR (PAGE_OFFSET+KERNEL_START_PHYS+0x10000)
30 
31 /*
32  * This is setup by the secondary bootstrap loader. Because
33  * the zero page is zeroed out as soon as the vm system is
34  * initialized, we need to copy things out into a more permanent
35  * place.
36  */
37 #define PARAM ZERO_PGE
38 #define COMMAND_LINE ((char*)(PARAM + 0x0000))
39 #define INITRD_START (*(unsigned long *) (PARAM+0x100))
40 #define INITRD_SIZE (*(unsigned long *) (PARAM+0x108))
41 
42 #endif