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