/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef __ALPHA_SETUP_H #define __ALPHA_SETUP_H #include <uapi/asm/setup.h> /* * We leave one page for the initial stack page, and one page for * the initial process structure. Also, the console eats 3 MB for * the initial bootloader (one of which we can reclaim later). */ #define BOOT_PCB 0x20000000 #define BOOT_ADDR 0x20000000 /* Remove when official MILO sources have ELF support: */ #define BOOT_SIZE (16*1024) #ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS #define KERNEL_START_PHYS 0x300000 /* Old bootloaders hardcoded this. */ #else #define KERNEL_START_PHYS 0x1000000 /* required: Wildfire/Titan/Marvel */ #endif #define KERNEL_START (PAGE_OFFSET+KERNEL_START_PHYS) #define SWAPPER_PGD KERNEL_START #define INIT_STACK (PAGE_OFFSET+KERNEL_START_PHYS+0x02000) #define EMPTY_PGT (PAGE_OFFSET+KERNEL_START_PHYS+0x04000) #define EMPTY_PGE (PAGE_OFFSET+KERNEL_START_PHYS+0x08000) #define ZERO_PGE (PAGE_OFFSET+KERNEL_START_PHYS+0x0A000) #define START_ADDR (PAGE_OFFSET+KERNEL_START_PHYS+0x10000) /* * This is setup by the secondary bootstrap loader. Because * the zero page is zeroed out as soon as the vm system is * initialized, we need to copy things out into a more permanent * place. */ #define PARAM ZERO_PGE #define COMMAND_LINE ((char *)(absolute_pointer(PARAM + 0x0000))) #define INITRD_START (*(unsigned long *) (PARAM+0x100)) #define INITRD_SIZE (*(unsigned long *) (PARAM+0x108)) #endif