1*d4abc757SPeter Tyser/* 2*d4abc757SPeter Tyser * (C) Copyright 2007 Semihalf 3*d4abc757SPeter Tyser * 4*d4abc757SPeter Tyser * Written by: Rafal Jaworowski <raj@semihalf.com> 5*d4abc757SPeter Tyser * 6*d4abc757SPeter Tyser * See file CREDITS for list of people who contributed to this 7*d4abc757SPeter Tyser * project. 8*d4abc757SPeter Tyser * 9*d4abc757SPeter Tyser * This program is free software; you can redistribute it and/or 10*d4abc757SPeter Tyser * modify it under the terms of the GNU General Public License as 11*d4abc757SPeter Tyser * published by the Free Software Foundation; either version 2 of 12*d4abc757SPeter Tyser * the License, or (at your option) any later version. 13*d4abc757SPeter Tyser * 14*d4abc757SPeter Tyser * This program is distributed in the hope that it will be useful, 15*d4abc757SPeter Tyser * but WITHOUT ANY WARRANTY; without even the implied warranty of 16*d4abc757SPeter Tyser * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17*d4abc757SPeter Tyser * GNU General Public License for more details. 18*d4abc757SPeter Tyser * 19*d4abc757SPeter Tyser * You should have received a copy of the GNU General Public License 20*d4abc757SPeter Tyser * along with this program; if not, write to the Free Software 21*d4abc757SPeter Tyser * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 22*d4abc757SPeter Tyser * MA 02111-1307 USA 23*d4abc757SPeter Tyser * 24*d4abc757SPeter Tyser */ 25*d4abc757SPeter Tyser 26*d4abc757SPeter Tyser#if defined(CONFIG_PPC) 27*d4abc757SPeter Tyser 28*d4abc757SPeter Tyser .text 29*d4abc757SPeter Tyser .globl _start 30*d4abc757SPeter Tyser_start: 31*d4abc757SPeter Tyser lis %r11, search_hint@ha 32*d4abc757SPeter Tyser addi %r11, %r11, search_hint@l 33*d4abc757SPeter Tyser stw %r1, 0(%r11) 34*d4abc757SPeter Tyser b main 35*d4abc757SPeter Tyser 36*d4abc757SPeter Tyser 37*d4abc757SPeter Tyser .globl syscall 38*d4abc757SPeter Tysersyscall: 39*d4abc757SPeter Tyser lis %r11, syscall_ptr@ha 40*d4abc757SPeter Tyser addi %r11, %r11, syscall_ptr@l 41*d4abc757SPeter Tyser lwz %r11, 0(%r11) 42*d4abc757SPeter Tyser mtctr %r11 43*d4abc757SPeter Tyser bctr 44*d4abc757SPeter Tyser 45*d4abc757SPeter Tyser#elif defined(CONFIG_ARM) 46*d4abc757SPeter Tyser 47*d4abc757SPeter Tyser .text 48*d4abc757SPeter Tyser .globl _start 49*d4abc757SPeter Tyser_start: 50*d4abc757SPeter Tyser ldr ip, =search_hint 51*d4abc757SPeter Tyser str sp, [ip] 52*d4abc757SPeter Tyser b main 53*d4abc757SPeter Tyser 54*d4abc757SPeter Tyser 55*d4abc757SPeter Tyser .globl syscall 56*d4abc757SPeter Tysersyscall: 57*d4abc757SPeter Tyser ldr ip, =syscall_ptr 58*d4abc757SPeter Tyser ldr pc, [ip] 59*d4abc757SPeter Tyser 60*d4abc757SPeter Tyser#else 61*d4abc757SPeter Tyser#error No support for this arch! 62*d4abc757SPeter Tyser#endif 63*d4abc757SPeter Tyser 64*d4abc757SPeter Tyser .globl syscall_ptr 65*d4abc757SPeter Tysersyscall_ptr: 66*d4abc757SPeter Tyser .align 4 67*d4abc757SPeter Tyser .long 0 68*d4abc757SPeter Tyser 69*d4abc757SPeter Tyser .globl search_hint 70*d4abc757SPeter Tysersearch_hint: 71*d4abc757SPeter Tyser .long 0 72