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