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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.17.0/] [newlib/] [libc/] [machine/] [crx/] [sys/] [syscall.h] - Blame information for rev 407

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 148 jeremybenn
/* syscall.h -- CRX virtual I/O and trap service codes
2
 *
3
 * Copyright (c) 2004 National Semiconductor Corporation
4
 *
5
 * The authors hereby grant permission to use, copy, modify, distribute,
6
 * and license this software and its documentation for any purpose, provided
7
 * that existing copyright notices are retained in all copies and that this
8
 * notice is included verbatim in any distributions. No written agreement,
9
 * license, or royalty fee is required for any of the authorized uses.
10
 * Modifications to this software may be copyrighted by their authors
11
 * and need not follow the licensing terms described here, provided that
12
 * the new terms are clearly indicated on the first page of each file where
13
 * they apply.
14
 */
15
 
16
#ifndef _SYSCALL_H
17
#define _SYSCALL_H
18
 
19
#include <sys/asm.h>
20
 
21
/* SVC codes to pass to the debugger */
22
 
23
/* Virtual I/O services */
24
#define SVC_OPEN        0x401
25
#define SVC_CLOSE       0x402
26
#define SVC_READ        0x403
27
#define SVC_WRITE       0x404
28
#define SVC_LSEEK       0x405
29
#define SVC_RENAME      0x406
30
#define SVC_UNLINK      0x407
31
#define SVC_GETENV      0x408
32
 
33
/* Time service */
34
#define SVC_TIME        0x300
35
 
36
/* Start/end of program services */
37
#define SVC_EOP         0x410
38
 
39
/* Trap services */
40
#define SVC_SVC         0x505
41
#define SVC_DVZ         0x506
42
#define SVC_FLG         0x507
43
#define SVC_UND         0x50a
44
#define SVC_IAD         0x50c
45
 
46
 
47
/* Places the code of the requested service in R0, then transfers control
48
   to the debugger using the BPT exception.
49
   It is called from the start routine, VIO functions and the trap
50
   handlers.  */
51
 
52
#define STRINGIFY(x)    #x
53
#define HOST_SERVICE(service) \
54
  do { \
55
    __asm__("movd\t$" STRINGIFY(service) ",r0"); \
56
    _excp_(bpt); \
57
    __asm__(".short\t0xFFFF"); \
58
  } while (0)
59
 
60
#endif  /* _SYSCALL_H */
61
 

powered by: WebSVN 2.1.0

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