Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 #ifndef __ALPHA_SETUP_H
0003 #define __ALPHA_SETUP_H
0004 
0005 #include <uapi/asm/setup.h>
0006 
0007 /*
0008  * We leave one page for the initial stack page, and one page for
0009  * the initial process structure. Also, the console eats 3 MB for
0010  * the initial bootloader (one of which we can reclaim later).
0011  */
0012 #define BOOT_PCB    0x20000000
0013 #define BOOT_ADDR   0x20000000
0014 /* Remove when official MILO sources have ELF support: */
0015 #define BOOT_SIZE   (16*1024)
0016 
0017 #ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
0018 #define KERNEL_START_PHYS   0x300000 /* Old bootloaders hardcoded this.  */
0019 #else
0020 #define KERNEL_START_PHYS   0x1000000 /* required: Wildfire/Titan/Marvel */
0021 #endif
0022 
0023 #define KERNEL_START    (PAGE_OFFSET+KERNEL_START_PHYS)
0024 #define SWAPPER_PGD KERNEL_START
0025 #define INIT_STACK  (PAGE_OFFSET+KERNEL_START_PHYS+0x02000)
0026 #define EMPTY_PGT   (PAGE_OFFSET+KERNEL_START_PHYS+0x04000)
0027 #define EMPTY_PGE   (PAGE_OFFSET+KERNEL_START_PHYS+0x08000)
0028 #define ZERO_PGE    (PAGE_OFFSET+KERNEL_START_PHYS+0x0A000)
0029 
0030 #define START_ADDR  (PAGE_OFFSET+KERNEL_START_PHYS+0x10000)
0031 
0032 /*
0033  * This is setup by the secondary bootstrap loader.  Because
0034  * the zero page is zeroed out as soon as the vm system is
0035  * initialized, we need to copy things out into a more permanent
0036  * place.
0037  */
0038 #define PARAM           ZERO_PGE
0039 #define COMMAND_LINE        ((char *)(absolute_pointer(PARAM + 0x0000)))
0040 #define INITRD_START        (*(unsigned long *) (PARAM+0x100))
0041 #define INITRD_SIZE     (*(unsigned long *) (PARAM+0x108))
0042 
0043 #endif