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/] [sclow.S] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 xianfeng
/* sclow.S: Low level special syscall handling.
2
 *          Basically these are cases where we can completely
3
 *          handle the system call without saving any state
4
 *          because we know that the process will not sleep.
5
 *
6
 * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
7
 */
8
 
9
#include 
10
#include 
11
#include 
12
#include 
13
#include 
14
#include 
15
#include 
16
 
17
#define CC_AND_RETT  \
18
        set     PSR_C, %l4; \
19
        andn    %l0, %l4, %l4; \
20
        wr      %l4, 0x0, %psr; \
21
        nop; nop; nop; \
22
        jmp     %l2; \
23
        rett    %l2 + 4;
24
 
25
#define SC_AND_RETT  \
26
        set     PSR_C, %l4; \
27
        or      %l0, %l4, %l4; \
28
        wr      %l4, 0x0, %psr; \
29
        nop; nop; nop; \
30
        jmp     %l2; \
31
        rett    %l2 + 4;
32
 
33
#define LABEL(func)  func##_low
34
 
35
        .globl  LABEL(sunosnop)
36
LABEL(sunosnop):
37
        CC_AND_RETT
38
 
39
#if (ASIZ_task_uid == 2 && ASIZ_task_euid == 2)
40
        .globl  LABEL(sunosgetuid)
41
LABEL(sunosgetuid):
42
        LOAD_CURRENT(l4, l5)
43
        ld      [%l4 + TI_TASK], %l4
44
        lduh    [%l4 + AOFF_task_uid], %i0
45
        lduh    [%l4 + AOFF_task_euid], %i1
46
        CC_AND_RETT
47
#endif
48
 
49
#if (ASIZ_task_gid == 2 && ASIZ_task_egid == 2)
50
        .globl  LABEL(sunosgetgid)
51
LABEL(sunosgetgid):
52
        LOAD_CURRENT(l4, l5)
53
        ld      [%l4 + TI_TASK], %l4
54
        lduh    [%l4 + AOFF_task_gid], %i0
55
        lduh    [%l4 + AOFF_task_egid], %i1
56
        CC_AND_RETT
57
#endif
58
 
59
        .globl  LABEL(sunosmctl)
60
LABEL(sunosmctl):
61
        mov     0, %i0
62
        CC_AND_RETT
63
 
64
        .globl  LABEL(sunosgdtsize)
65
LABEL(sunosgdtsize):
66
        mov     256, %i0
67
        CC_AND_RETT
68
 
69
        .globl  LABEL(getpagesize)
70
LABEL(getpagesize):
71
        set     PAGE_SIZE, %i0
72
        CC_AND_RETT
73
 
74
        /* XXX sys_nice() XXX */
75
        /* XXX sys_setpriority() XXX */
76
        /* XXX sys_getpriority() XXX */
77
        /* XXX sys_setregid() XXX */
78
        /* XXX sys_setgid() XXX */
79
        /* XXX sys_setreuid() XXX */
80
        /* XXX sys_setuid() XXX */
81
        /* XXX sys_setfsuid() XXX */
82
        /* XXX sys_setfsgid() XXX */
83
        /* XXX sys_setpgid() XXX */
84
        /* XXX sys_getpgid() XXX */
85
        /* XXX sys_setsid() XXX */
86
        /* XXX sys_getsid() XXX */

powered by: WebSVN 2.1.0

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