194b212c2SPaul Mackerras/* 294b212c2SPaul Mackerras * Copyright (C) Paul Mackerras 1997. 394b212c2SPaul Mackerras * 494b212c2SPaul Mackerras * This program is free software; you can redistribute it and/or 594b212c2SPaul Mackerras * modify it under the terms of the GNU General Public License 694b212c2SPaul Mackerras * as published by the Free Software Foundation; either version 794b212c2SPaul Mackerras * 2 of the License, or (at your option) any later version. 894b212c2SPaul Mackerras * 994b212c2SPaul Mackerras * NOTE: this code runs in 32 bit mode and is packaged as ELF32. 1094b212c2SPaul Mackerras */ 1194b212c2SPaul Mackerras 1294b212c2SPaul Mackerras#include "ppc_asm.h" 1394b212c2SPaul Mackerras 1494b212c2SPaul Mackerras .text 1594b212c2SPaul Mackerras .globl _zimage_start 1694b212c2SPaul Mackerras_zimage_start: 1768643cfbSOlaf Hering bl 1f 1894b212c2SPaul Mackerras 1968643cfbSOlaf Hering1: 2094b212c2SPaul Mackerras mflr r0 2168643cfbSOlaf Hering lis r9,1b@ha 2268643cfbSOlaf Hering addi r9,r9,1b@l 2394b212c2SPaul Mackerras subf. r0,r9,r0 2468643cfbSOlaf Hering beq 3f 2594b212c2SPaul Mackerras 2694b212c2SPaul Mackerras lis r9,__got2_start@ha 2794b212c2SPaul Mackerras addi r9,r9,__got2_start@l 2894b212c2SPaul Mackerras lis r8,__got2_end@ha 2994b212c2SPaul Mackerras addi r8,r8,__got2_end@l 3094b212c2SPaul Mackerras subf. r8,r9,r8 3168643cfbSOlaf Hering beq 3f 3294b212c2SPaul Mackerras srwi. r8,r8,2 3394b212c2SPaul Mackerras mtctr r8 3494b212c2SPaul Mackerras add r9,r0,r9 3568643cfbSOlaf Hering2: 3694b212c2SPaul Mackerras lwz r8,0(r9) 3794b212c2SPaul Mackerras add r8,r8,r0 3894b212c2SPaul Mackerras stw r8,0(r9) 3994b212c2SPaul Mackerras addi r9,r9,4 4068643cfbSOlaf Hering bdnz 2b 4194b212c2SPaul Mackerras 4268643cfbSOlaf Hering3: 4394b212c2SPaul Mackerras lis r9,_start@h 4494b212c2SPaul Mackerras add r9,r0,r9 4594b212c2SPaul Mackerras lis r8,_etext@ha 4694b212c2SPaul Mackerras addi r8,r8,_etext@l 4794b212c2SPaul Mackerras add r8,r0,r8 4868643cfbSOlaf Hering4: dcbf r0,r9 4994b212c2SPaul Mackerras icbi r0,r9 5094b212c2SPaul Mackerras addi r9,r9,0x20 5194b212c2SPaul Mackerras cmplwi 0,r9,8 5268643cfbSOlaf Hering blt 4b 5394b212c2SPaul Mackerras sync 5494b212c2SPaul Mackerras isync 5594b212c2SPaul Mackerras 5694b212c2SPaul Mackerras mr r6,r1 5794b212c2SPaul Mackerras b start 5894b212c2SPaul Mackerras 59