18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 28c2ecf20Sopenharmony_ci#ifndef __ALPHA_SETUP_H 38c2ecf20Sopenharmony_ci#define __ALPHA_SETUP_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#define COMMAND_LINE_SIZE 256 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci/* 88c2ecf20Sopenharmony_ci * We leave one page for the initial stack page, and one page for 98c2ecf20Sopenharmony_ci * the initial process structure. Also, the console eats 3 MB for 108c2ecf20Sopenharmony_ci * the initial bootloader (one of which we can reclaim later). 118c2ecf20Sopenharmony_ci */ 128c2ecf20Sopenharmony_ci#define BOOT_PCB 0x20000000 138c2ecf20Sopenharmony_ci#define BOOT_ADDR 0x20000000 148c2ecf20Sopenharmony_ci/* Remove when official MILO sources have ELF support: */ 158c2ecf20Sopenharmony_ci#define BOOT_SIZE (16*1024) 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci#ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS 188c2ecf20Sopenharmony_ci#define KERNEL_START_PHYS 0x300000 /* Old bootloaders hardcoded this. */ 198c2ecf20Sopenharmony_ci#else 208c2ecf20Sopenharmony_ci#define KERNEL_START_PHYS 0x1000000 /* required: Wildfire/Titan/Marvel */ 218c2ecf20Sopenharmony_ci#endif 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci#define KERNEL_START (PAGE_OFFSET+KERNEL_START_PHYS) 248c2ecf20Sopenharmony_ci#define SWAPPER_PGD KERNEL_START 258c2ecf20Sopenharmony_ci#define INIT_STACK (PAGE_OFFSET+KERNEL_START_PHYS+0x02000) 268c2ecf20Sopenharmony_ci#define EMPTY_PGT (PAGE_OFFSET+KERNEL_START_PHYS+0x04000) 278c2ecf20Sopenharmony_ci#define EMPTY_PGE (PAGE_OFFSET+KERNEL_START_PHYS+0x08000) 288c2ecf20Sopenharmony_ci#define ZERO_PGE (PAGE_OFFSET+KERNEL_START_PHYS+0x0A000) 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci#define START_ADDR (PAGE_OFFSET+KERNEL_START_PHYS+0x10000) 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci/* 338c2ecf20Sopenharmony_ci * This is setup by the secondary bootstrap loader. Because 348c2ecf20Sopenharmony_ci * the zero page is zeroed out as soon as the vm system is 358c2ecf20Sopenharmony_ci * initialized, we need to copy things out into a more permanent 368c2ecf20Sopenharmony_ci * place. 378c2ecf20Sopenharmony_ci */ 388c2ecf20Sopenharmony_ci#define PARAM ZERO_PGE 398c2ecf20Sopenharmony_ci#define COMMAND_LINE ((char*)(PARAM + 0x0000)) 408c2ecf20Sopenharmony_ci#define INITRD_START (*(unsigned long *) (PARAM+0x100)) 418c2ecf20Sopenharmony_ci#define INITRD_SIZE (*(unsigned long *) (PARAM+0x108)) 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci#endif 44