Changeset 002e613 in mainline


Ignore:
Timestamp:
2006-09-01T21:01:02Z (18 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
cfa70add
Parents:
9314ee1
Message:

Allow architectures to decide between inlined and not inlined version of syscall wrapper.
Implement inlined syscall wrapper for sparc64.

Files:
8 added
7 edited
1 moved

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/include/trap/syscall.h

    r9314ee1 r002e613  
    5050        ba trap_instruction_handler
    5151        or %g1, %lo(syscall), %g1
    52 
    5352.endm
    5453
  • kernel/arch/sparc64/src/trap/trap_table.S

    r9314ee1 r002e613  
    514514 * Input registers:
    515515 *      %g1             Address of function to call.
    516  *      %g2             Argument for the function.
     516 *      %g2             First argument for the function.
    517517 *      %g6             Pre-set as kernel stack base if trap from userspace.
    518518 *      %g7             Pre-set as address of the userspace window buffer.
  • kernel/generic/include/syscall/syscall.h

    r9314ee1 r002e613  
    3333 */
    3434
    35 #ifndef __SYSCALL_H__
    36 #define __SYSCALL_H__
     35#ifndef KERN_SYSCALL_H_
     36#define KERN_SYSCALL_H_
    3737
    3838typedef enum {
     
    8181extern unative_t sys_tls_set(unative_t addr);
    8282
    83 
    8483#endif
    8584
  • uspace/libc/arch/amd64/include/syscall.h

    r9314ee1 r002e613  
    11/*
    2  * Copyright (C) 2006 Martin Decky
     2 * Copyright (C) 2005 Martin Decky
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    29 /** @addtogroup libcsparc64 sparc64
    30   * @brief sparc64 architecture dependent parts of libc
    31   * @ingroup lc
     29/** @addtogroup libc
    3230 * @{
    3331 */
    34 /** @file
     32/**
     33 * @file
    3534 */
    3635
    37 #include <libc.h>
     36#ifndef LIBC_amd64_SYSCALL_H_
     37#define LIBC_amd64_SYSCALL_H_
    3838
    39 sysarg_t __syscall(const sysarg_t p1, const sysarg_t p2, const sysarg_t p3, const sysarg_t p4, const syscall_t id)
    40 {
    41         return 0;
    42 }
     39#include <syscall.h>
     40
     41#endif
    4342
    4443/** @}
  • uspace/libc/arch/sparc64/Makefile.inc

    r9314ee1 r002e613  
    3333TOOLCHAIN_DIR = /usr/local/sparc64/bin
    3434
    35 ARCH_SOURCES += arch/$(ARCH)/src/syscall.c \
    36                 arch/$(ARCH)/src/psthread.S \
     35ARCH_SOURCES += arch/$(ARCH)/src/psthread.S \
    3736                arch/$(ARCH)/src/thread.c
    3837
  • uspace/libc/generic/ddi.c

    r9314ee1 r002e613  
    5353int map_physmem(void *pf, void *vp, unsigned long pages, int flags)
    5454{
    55         return __SYSCALL4(SYS_MAP_PHYSMEM, (sysarg_t) pf, (sysarg_t)vp, pages, flags);
     55        return __SYSCALL4(SYS_MAP_PHYSMEM, (sysarg_t) pf, (sysarg_t) vp, pages, flags);
    5656}
    5757
  • uspace/libc/include/libc.h

    r9314ee1 r002e613  
    3838#include <types.h>
    3939#include <kernel/syscall/syscall.h>
     40#include <libarch/syscall.h>
    4041
    4142#define __SYSCALL0(id) __syscall(0, 0, 0, 0, id)
     
    4849extern void __io_init(void);
    4950extern void __exit(void);
    50 extern sysarg_t __syscall(const sysarg_t p1, const sysarg_t p2, const sysarg_t p3, const sysarg_t p4, const syscall_t id);
    51 
    5251
    5352#endif
  • uspace/libc/include/sys/types.h

    r9314ee1 r002e613  
    2727 */
    2828
    29  /** @addtogroup libc
     29/** @addtogroup libc
    3030 * @{
    3131 */
     
    3333 */
    3434
    35 #ifndef __LIBC__SYS_TYPES_H__
    36 #define __LIBC__SYS_TYPES_H__
     35#ifndef LIBC_SYS_TYPES_H_
     36#define LIBC_SYS_TYPES_H_
    3737
    3838#include <types.h>
     
    4040#endif
    4141
    42 
    43 
    44  /** @}
     42/** @}
    4543 */
    4644 
Note: See TracChangeset for help on using the changeset viewer.