KERNELBASE
iccci((void *)KERNELBASE);
#define MEMORY_START (PHYSICAL_START + PAGE_OFFSET - KERNELBASE)
return kernstart_virt_addr - KERNELBASE;
#define VIRT_PHYS_OFFSET (KERNELBASE - PHYSICAL_START)
lis r4,KERNELBASE@h; \
ori rd,rd,((KERNELBASE>>48)&0xFFFF);\
if (kva == KERNELBASE)
relocate(KERNELBASE);
kaslr_offset(), KERNELBASE);
src = (u32 *)(KERNELBASE + PHYSICAL_START);
dest = (u32 *)KERNELBASE;
unsigned long kernstart_virt_addr __ro_after_init = KERNELBASE;
if (kernstart_virt_addr != KERNELBASE) {
memzero_explicit((void *)KERNELBASE, kernel_sz);
unsigned int *vector = (unsigned int *)(KERNELBASE + 0x100);
*(unsigned long *)KERNELBASE = nr;
asm volatile("dcbf 0,%0"::"r"(KERNELBASE):"memory");
*(unsigned int *)KERNELBASE = PPC_RAW_MFSPR(3, SPRN_PIR);
*(unsigned int *)(KERNELBASE+4) = PPC_RAW_BRANCH(&__secondary_hold - (char *)(KERNELBASE+4));
bootx_printf("\nlinked at : 0x%x", KERNELBASE);
__start(hdr, KERNELBASE + offset, 0);
for (a = KERNELBASE; a < KERNELBASE + 0x800000; a += 32)
lis r4,KERNELBASE@h; \
ori rd,rd,((KERNELBASE>>48)&0xFFFF);\