OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [linux-2.6/] [linux-2.6.24/] [arch/] [sparc/] [kernel/] [sunos_asm.S] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 xianfeng
/* $Id: sunos_asm.S,v 1.15 2000/01/11 17:33:21 jj Exp $
2
 * sunos_asm.S: SunOS system calls which must have a low-level
3
 *              entry point to operate correctly.
4
 *
5
 * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
6
 *
7
 * Based upon preliminary work which is:
8
 *
9
 * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
10
 */
11
 
12
#include 
13
 
14
        .text
15
        .align 4
16
 
17
        /* When calling ret_sys_call, %o0 should contain the same
18
         * value as in [%sp + STACKFRAME_SZ + PT_I0] */
19
 
20
        /* SunOS getpid() returns pid in %o0 and ppid in %o1 */
21
        .globl  sunos_getpid
22
sunos_getpid:
23
        call    sys_getppid
24
         nop
25
 
26
        call    sys_getpid
27
         st     %o0, [%sp + STACKFRAME_SZ + PT_I1]
28
 
29
        b       ret_sys_call
30
         st     %o0, [%sp + STACKFRAME_SZ + PT_I0]
31
 
32
        /* SunOS getuid() returns uid in %o0 and euid in %o1 */
33
        .globl  sunos_getuid
34
sunos_getuid:
35
        call    sys_geteuid16
36
         nop
37
 
38
        call    sys_getuid16
39
         st     %o0, [%sp + STACKFRAME_SZ + PT_I1]
40
 
41
        b       ret_sys_call
42
         st     %o0, [%sp + STACKFRAME_SZ + PT_I0]
43
 
44
        /* SunOS getgid() returns gid in %o0 and egid in %o1 */
45
        .globl  sunos_getgid
46
sunos_getgid:
47
        call    sys_getegid16
48
         nop
49
 
50
        call    sys_getgid16
51
         st     %o0, [%sp + STACKFRAME_SZ + PT_I1]
52
 
53
        b       ret_sys_call
54
         st     %o0, [%sp + STACKFRAME_SZ + PT_I0]
55
 
56
        /* SunOS's execv() call only specifies the argv argument, the
57
         * environment settings are the same as the calling processes.
58
         */
59
        .globl  sunos_execv
60
sunos_execv:
61
        st      %g0, [%sp + STACKFRAME_SZ + PT_I2]
62
 
63
        call    sparc_execve
64
         add    %sp, STACKFRAME_SZ, %o0
65
 
66
        b       ret_sys_call
67
         ld     [%sp + STACKFRAME_SZ + PT_I0], %o0

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.