Changeset 6d9c49a in mainline for arch


Ignore:
Timestamp:
2006-03-13T19:39:30Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
45d6add
Parents:
78a95d6f
Message:

Added kernel IPC functionality.

Location:
arch
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • arch/amd64/include/types.h

    r78a95d6f r6d9c49a  
    4949
    5050typedef __u64 __native;
     51typedef __s64 __snative;
    5152
    5253typedef struct page_specifier pte_t;
  • arch/amd64/src/asm_utils.S

    r78a95d6f r6d9c49a  
    208208        swapgs
    209209
     210        sti
    210211        movq %r9, %rcx      # Exchange last parameter as a third
    211212        call syscall_handler
    212        
     213        cli                 # We will be touching stack pointer
     214               
    213215        popq %r11
    214216        popq %rcx
  • arch/amd64/src/syscall.c

    r78a95d6f r6d9c49a  
    6363
    6464/** Dispatch system call */
    65 __native syscall_handler(__native id, __native a1, __native a2, __native a3)
     65__native syscall_handler(__native a1, __native a2, __native a3,
     66                         __native id)
    6667{
    67         interrupts_enable();
    6868        if (id < SYSCALL_END)
    6969                return syscall_table[id](a1,a2,a3);
    7070        else
    7171                panic("Undefined syscall %d", id);
    72         interrupts_disable();
    7372}
  • arch/ia32/include/types.h

    r78a95d6f r6d9c49a  
    4848
    4949typedef __u32 __native;
     50typedef __s32 __native;
    5051
    5152typedef struct page_specifier pte_t;
  • arch/ia32/src/interrupt.c

    r78a95d6f r6d9c49a  
    115115{
    116116        __native *stack = (__native *) st;
    117        
     117
     118        interrupts_enable();
    118119        if (stack[-2] < SYSCALL_END)
    119120                stack[-2] = syscall_table[stack[-2]](stack[-5], stack[-3], stack[-4]);
    120121        else
    121122                panic("Undefined syscall %d", stack[-2]);
     123        interrupts_disable();
    122124}
    123125
  • arch/ia64/include/types.h

    r78a95d6f r6d9c49a  
    1 /*
     1
    22 * Copyright (C) 2005 Jakub Jermar
    33 * All rights reserved.
     
    4848
    4949typedef __u64 __native;
     50typedef __s64 __native;
    5051
    5152typedef struct pte pte_t;
  • arch/mips32/include/types.h

    r78a95d6f r6d9c49a  
    4949
    5050typedef __u32 __native;
     51typedef __s32 __snative;
    5152
    5253typedef struct pte pte_t;
  • arch/mips32/src/exception.c

    r78a95d6f r6d9c49a  
    134134static void syscall_exception(int n, struct exception_regdump *pstate)
    135135{
     136        interrupts_enable();
    136137        if (pstate->a3 < SYSCALL_END)
    137138                pstate->v0 = syscall_table[pstate->a3](pstate->a0,
     
    140141        else
    141142                panic("Undefined syscall %d", pstate->a3);
     143        interrupts_disable();
    142144        pstate->epc += 4;
    143145}
  • arch/sparc64/include/types.h

    r78a95d6f r6d9c49a  
    4848
    4949typedef __u64 __native;
     50typedef __s64 __native;
    5051
    5152typedef struct pte pte_t;
Note: See TracChangeset for help on using the changeset viewer.