ofwcall64.S (222613) | ofwcall64.S (230400) |
---|---|
1/*- 2 * Copyright (C) 2009-2011 Nathan Whitehorn 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 8 unchanged lines hidden (view full) --- 17 * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 20 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 21 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 22 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 23 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 * | 1/*- 2 * Copyright (C) 2009-2011 Nathan Whitehorn 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 8 unchanged lines hidden (view full) --- 17 * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 18 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 20 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 21 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 22 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 23 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 * |
25 * $FreeBSD: head/sys/powerpc/ofw/ofwcall64.S 222613 2011-06-02 14:12:37Z nwhitehorn $ | 25 * $FreeBSD: head/sys/powerpc/ofw/ofwcall64.S 230400 2012-01-20 22:34:19Z andreast $ |
26 */ 27 28#include <sys/syscall.h> 29 30#include <machine/trap.h> 31#include <machine/param.h> 32#include <machine/spr.h> 33#include <machine/asm.h> --- 17 unchanged lines hidden (view full) --- 51 .llong 0 /* Open Firmware entry point */ 52GLOBAL(rtas_entry) 53 .llong 0 /* RTAS entry point */ 54 55/* 56 * Open Firmware Real-mode Entry Point. This is a huge pain. 57 */ 58 | 26 */ 27 28#include <sys/syscall.h> 29 30#include <machine/trap.h> 31#include <machine/param.h> 32#include <machine/spr.h> 33#include <machine/asm.h> --- 17 unchanged lines hidden (view full) --- 51 .llong 0 /* Open Firmware entry point */ 52GLOBAL(rtas_entry) 53 .llong 0 /* RTAS entry point */ 54 55/* 56 * Open Firmware Real-mode Entry Point. This is a huge pain. 57 */ 58 |
59ASENTRY(ofwcall) | 59ASENTRY_NOPROF(ofwcall) |
60 mflr %r0 61 std %r0,16(%r1) 62 stdu %r1,-208(%r1) 63 64 /* 65 * We need to save the following, because OF's register save/ 66 * restore code assumes that the contents of registers are 67 * at most 32 bits wide: lr, cr, r2, r13-r31, the old MSR. These --- 102 unchanged lines hidden (view full) --- 170 171/* 172 * RTAS 32-bit Entry Point. Similar to the OF one, but simpler (no separate 173 * stack) 174 * 175 * C prototype: int rtascall(void *callbuffer, void *rtas_privdat); 176 */ 177 | 60 mflr %r0 61 std %r0,16(%r1) 62 stdu %r1,-208(%r1) 63 64 /* 65 * We need to save the following, because OF's register save/ 66 * restore code assumes that the contents of registers are 67 * at most 32 bits wide: lr, cr, r2, r13-r31, the old MSR. These --- 102 unchanged lines hidden (view full) --- 170 171/* 172 * RTAS 32-bit Entry Point. Similar to the OF one, but simpler (no separate 173 * stack) 174 * 175 * C prototype: int rtascall(void *callbuffer, void *rtas_privdat); 176 */ 177 |
178ASENTRY(rtascall) | 178ASENTRY_NOPROF(rtascall) |
179 mflr %r0 180 std %r0,16(%r1) 181 stdu %r1,-208(%r1) 182 183 /* 184 * We need to save the following, because RTAS's register save/ 185 * restore code assumes that the contents of registers are 186 * at most 32 bits wide: lr, cr, r2, r13-r31, the old MSR. These --- 104 unchanged lines hidden --- | 179 mflr %r0 180 std %r0,16(%r1) 181 stdu %r1,-208(%r1) 182 183 /* 184 * We need to save the following, because RTAS's register save/ 185 * restore code assumes that the contents of registers are 186 * at most 32 bits wide: lr, cr, r2, r13-r31, the old MSR. These --- 104 unchanged lines hidden --- |