10 #include <linux/kernel.h>
11 #include <linux/slab.h>
12 #include <linux/string.h>
13 #include <generated/utsrelease.h>
18 #include <asm/pgtable.h>
29 extern void move_stack(
unsigned long new_stack);
41 find_pa(
unsigned long *vptb,
void *
ptr)
46 result = vptb[address >> 13];
49 result |= address & 0x1fff;
64 #define VPTB ((unsigned long *) 0x200000000)
65 #define L1 ((unsigned long *) 0x200802000)
77 pcb_va->ptbr =
L1[1] >> 32;
84 pcb_pa = find_pa(
VPTB, pcb_va);
113 memcpy((
void *)dst, (
void *)src, count);
130 #define KERNEL_ORIGIN \
131 ((((unsigned long)&_end) + 511) & ~511)
152 srm_printk(
"Linux/AXP bootp loader for Linux " UTS_RELEASE
"\n");
169 #ifdef INITRD_IMAGE_SIZE
170 srm_printk(
"Initrd positioned at %#lx\n", initrd_start);
180 if (nbytes < 0 || nbytes >=
sizeof(envval)) {
184 srm_printk(
"Loading the kernel...'%s'\n", envval);
200 #ifdef INITRD_IMAGE_SIZE
208 #ifdef INITRD_IMAGE_SIZE
209 ((
long *)(
ZERO_PGE+256))[0] = initrd_start;
210 ((
long *)(
ZERO_PGE+256))[1] = INITRD_IMAGE_SIZE;