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