Deleted Added
full compact
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 ---