8 #include <linux/kernel.h>
9 #include <linux/slab.h>
10 #include <linux/string.h>
11 #include <generated/utsrelease.h>
16 #include <asm/pgtable.h>
36 find_pa(
unsigned long *vptb,
void *
ptr)
41 result = vptb[address >> 13];
44 result |= address & 0x1fff;
59 #define VPTB ((unsigned long *) 0x200000000)
60 #define L1 ((unsigned long *) 0x200802000)
72 pcb_va->ptbr =
L1[1] >> 32;
79 pcb_pa = find_pa(
VPTB, pcb_va);
105 static inline long openboot(
void)
113 return callback_open(bootdev, result & 255);
116 static inline long close(
long dev)
118 return callback_close(dev);
133 srm_printk(
"Boot file specification (%s) not implemented\n",
135 return callback_read(dev, count, (
void *)addr, boot_size/512 + 1);
141 static void runkernel(
void)
159 srm_printk(
"Linux/AXP bootloader for Linux " UTS_RELEASE
"\n");
167 srm_printk(
"Unable to open boot device: %016lx\n", dev);
174 if (i != KERNEL_SIZE) {
188 for (i = 0 ; i < 0x100000000 ; i++)