setup.h 1.4 KB

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