Annotation of qemu/roms/SLOF/clients/net-snk/include/systemcall.h, revision 1.1

1.1     ! root        1: /******************************************************************************
        !             2:  * Copyright (c) 2004, 2008 IBM Corporation
        !             3:  * All rights reserved.
        !             4:  * This program and the accompanying materials
        !             5:  * are made available under the terms of the BSD License
        !             6:  * which accompanies this distribution, and is available at
        !             7:  * http://www.opensource.org/licenses/bsd-license.php
        !             8:  *
        !             9:  * Contributors:
        !            10:  *     IBM Corporation - initial implementation
        !            11:  *****************************************************************************/
        !            12: 
        !            13: 
        !            14: #ifndef SYSTEMCALL_H
        !            15: #define SYSTEMCALL_H
        !            16: 
        !            17: extern inline int
        !            18: syscall (int nr)
        !            19: {
        !            20:     register unsigned long r0 asm("r0") = nr;
        !            21:     register unsigned long r3 asm("r3");
        !            22:     asm volatile ("sc" : "=r" (r3) 
        !            23:                        : "r" (r0));
        !            24:     return r3;
        !            25: } 
        !            26: 
        !            27: extern inline long
        !            28: syscall_1 (int nr, long arg0)
        !            29: {
        !            30:     register unsigned long r0 asm("r0") = nr;
        !            31:     register unsigned long r3 asm("r3") = arg0;
        !            32:     asm volatile ("sc" : "=r" (r3) 
        !            33:                        : "0" (r3), "r" (r0));
        !            34:     return r3;
        !            35: } 
        !            36: 
        !            37: extern inline long
        !            38: syscall_2 (int nr, long arg0, long arg1)
        !            39: {
        !            40:     register unsigned long r0 asm("r0") = nr;
        !            41:     register unsigned long r3 asm("r3") = arg0;
        !            42:     register unsigned long r4 asm("r4") = arg1;
        !            43:     asm volatile ("sc" : "=r" (r3) 
        !            44:                       : "0" (r3), "r" (r4), "r" (r0)); 
        !            45:     return r3;
        !            46: } 
        !            47: 
        !            48: extern inline long
        !            49: syscall_3 (int nr, long arg0, long arg1, long arg2)
        !            50: {
        !            51:     register unsigned long r0 asm("r0") = nr;
        !            52:     register unsigned long r3 asm("r3") = arg0;
        !            53:     register unsigned long r4 asm("r4") = arg1;
        !            54:     register unsigned long r5 asm("r5") = arg2;
        !            55:     asm volatile ("sc" : "=r" (r3) 
        !            56:                       : "0" (r3), "r" (r4), "r" (r5), "r" (r0)); 
        !            57:     return r3;
        !            58: } 
        !            59: 
        !            60: extern inline long
        !            61: syscall_4 (int nr, long arg0, long arg1, long arg2, long arg3)
        !            62: {
        !            63:     register unsigned long r0 asm("r0") = nr;
        !            64:     register unsigned long r3 asm("r3") = arg0;
        !            65:     register unsigned long r4 asm("r4") = arg1;
        !            66:     register unsigned long r5 asm("r5") = arg2;
        !            67:     register unsigned long r6 asm("r6") = arg3;
        !            68:     asm volatile ("sc" : "=r" (r3) 
        !            69:                       : "0" (r3), "r" (r4), "r" (r5), "r" (r6), "r" (r0)); 
        !            70:     return r3;
        !            71: } 
        !            72: 
        !            73: extern inline long
        !            74: syscall_5 (int nr, long arg0, long arg1, long arg2, long arg3, 
        !            75:           long arg4)
        !            76: {
        !            77:     register unsigned long r0 asm("r0") = nr;
        !            78:     register unsigned long r3 asm("r3") = arg0;
        !            79:     register unsigned long r4 asm("r4") = arg1;
        !            80:     register unsigned long r5 asm("r5") = arg2;
        !            81:     register unsigned long r6 asm("r6") = arg3;
        !            82:     register unsigned long r7 asm("r7") = arg4;
        !            83:     asm volatile ("sc" : "=r" (r3) 
        !            84:                       : "0" (r3), "r" (r4), "r" (r5), 
        !            85:                         "r" (r6), "r" (r7), "r" (r0)); 
        !            86:     return r3;
        !            87: } 
        !            88: 
        !            89: extern inline long
        !            90: syscall_6 (int nr, long arg0, long arg1, long arg2, long arg3, 
        !            91:           long arg4, long arg5)
        !            92: {
        !            93:     register unsigned long r0 asm("r0") = nr;
        !            94:     register unsigned long r3 asm("r3") = arg0;
        !            95:     register unsigned long r4 asm("r4") = arg1;
        !            96:     register unsigned long r5 asm("r5") = arg2;
        !            97:     register unsigned long r6 asm("r6") = arg3;
        !            98:     register unsigned long r7 asm("r7") = arg4;
        !            99:     register unsigned long r8 asm("r8") = arg5;
        !           100:     asm volatile ("sc" : "=r" (r3) 
        !           101:                       : "0" (r3), "r" (r4), "r" (r5), 
        !           102:                         "r" (r6), "r" (r7), "r" (r8), "r" (r0)); 
        !           103:     return r3;
        !           104: } 
        !           105: 
        !           106: extern inline long
        !           107: syscall_7 (int nr, long arg0, long arg1, long arg2, long arg3, 
        !           108:           long arg4, long arg5, long arg6)
        !           109: {
        !           110:     register unsigned long r0 asm("r0") = nr;
        !           111:     register unsigned long r3 asm("r3") = arg0;
        !           112:     register unsigned long r4 asm("r4") = arg1;
        !           113:     register unsigned long r5 asm("r5") = arg2;
        !           114:     register unsigned long r6 asm("r6") = arg3;
        !           115:     register unsigned long r7 asm("r7") = arg4;
        !           116:     register unsigned long r8 asm("r8") = arg5;
        !           117:     register unsigned long r9 asm("r9") = arg6;
        !           118:     asm volatile ("sc" : "=r" (r3) 
        !           119:                       : "0" (r3), "r" (r4), "r" (r5), 
        !           120:                         "r" (r6), "r" (r7), "r" (r8), 
        !           121:                         "r" (r9), "r" (r0)); 
        !           122:     return r3;
        !           123: } 
        !           124: 
        !           125: 
        !           126: #define _exit_sc_nr 1
        !           127: #define _read_sc_nr 2
        !           128: #define _write_sc_nr 3
        !           129: #define _open_sc_nr 4
        !           130: #define _close_sc_nr 5
        !           131: #define _getpid_sc_nr 6
        !           132: #define _brk_sc_nr 7
        !           133: #define _ioctl_sc_nr 8
        !           134: #define _socket_sc_nr 9
        !           135: #define _wait4_sc_nr 10
        !           136: #define _sigreturn_sc_nr 11
        !           137: #define _rt_sigaction_sc_nr 12
        !           138: #define _lseek_sc_nr 13
        !           139: 
        !           140: #define _sock_sc_nr 1
        !           141: #define _sendto_sc_nr 2
        !           142: #define _send_sc_nr 3
        !           143: #define _recv_sc_nr 4
        !           144: 
        !           145: 
        !           146: //typedef unsigned long size_t; 
        !           147: 
        !           148: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.