xref: /linux/arch/alpha/include/asm/setup.h (revision 762f99f4f3cb41a775b5157dd761217beba65873)
13cb8b153SGuenter Roeck /* SPDX-License-Identifier: GPL-2.0-only */
23cb8b153SGuenter Roeck #ifndef __ALPHA_SETUP_H
33cb8b153SGuenter Roeck #define __ALPHA_SETUP_H
43cb8b153SGuenter Roeck 
53cb8b153SGuenter Roeck #include <uapi/asm/setup.h>
63cb8b153SGuenter Roeck 
73cb8b153SGuenter Roeck /*
83cb8b153SGuenter Roeck  * We leave one page for the initial stack page, and one page for
93cb8b153SGuenter Roeck  * the initial process structure. Also, the console eats 3 MB for
103cb8b153SGuenter Roeck  * the initial bootloader (one of which we can reclaim later).
113cb8b153SGuenter Roeck  */
123cb8b153SGuenter Roeck #define BOOT_PCB	0x20000000
133cb8b153SGuenter Roeck #define BOOT_ADDR	0x20000000
143cb8b153SGuenter Roeck /* Remove when official MILO sources have ELF support: */
153cb8b153SGuenter Roeck #define BOOT_SIZE	(16*1024)
163cb8b153SGuenter Roeck 
173cb8b153SGuenter Roeck #ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
183cb8b153SGuenter Roeck #define KERNEL_START_PHYS	0x300000 /* Old bootloaders hardcoded this.  */
193cb8b153SGuenter Roeck #else
203cb8b153SGuenter Roeck #define KERNEL_START_PHYS	0x1000000 /* required: Wildfire/Titan/Marvel */
213cb8b153SGuenter Roeck #endif
223cb8b153SGuenter Roeck 
233cb8b153SGuenter Roeck #define KERNEL_START	(PAGE_OFFSET+KERNEL_START_PHYS)
243cb8b153SGuenter Roeck #define SWAPPER_PGD	KERNEL_START
253cb8b153SGuenter Roeck #define INIT_STACK	(PAGE_OFFSET+KERNEL_START_PHYS+0x02000)
263cb8b153SGuenter Roeck #define EMPTY_PGT	(PAGE_OFFSET+KERNEL_START_PHYS+0x04000)
273cb8b153SGuenter Roeck #define EMPTY_PGE	(PAGE_OFFSET+KERNEL_START_PHYS+0x08000)
283cb8b153SGuenter Roeck #define ZERO_PGE	(PAGE_OFFSET+KERNEL_START_PHYS+0x0A000)
293cb8b153SGuenter Roeck 
303cb8b153SGuenter Roeck #define START_ADDR	(PAGE_OFFSET+KERNEL_START_PHYS+0x10000)
313cb8b153SGuenter Roeck 
323cb8b153SGuenter Roeck /*
333cb8b153SGuenter Roeck  * This is setup by the secondary bootstrap loader.  Because
343cb8b153SGuenter Roeck  * the zero page is zeroed out as soon as the vm system is
353cb8b153SGuenter Roeck  * initialized, we need to copy things out into a more permanent
363cb8b153SGuenter Roeck  * place.
373cb8b153SGuenter Roeck  */
383cb8b153SGuenter Roeck #define PARAM			ZERO_PGE
39*ebdc20d7SGuenter Roeck #define COMMAND_LINE		((char *)(absolute_pointer(PARAM + 0x0000)))
403cb8b153SGuenter Roeck #define INITRD_START		(*(unsigned long *) (PARAM+0x100))
413cb8b153SGuenter Roeck #define INITRD_SIZE		(*(unsigned long *) (PARAM+0x108))
423cb8b153SGuenter Roeck 
433cb8b153SGuenter Roeck #endif
44