forked from ArchC/sparc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sparc_syscall.H
40 lines (34 loc) · 1.52 KB
/
sparc_syscall.H
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/******************************************************
* ArchC Architecture Dependent Syscall header file. *
* This file is automatically generated by ArchC *
* WITHOUT WARRANTY OF ANY KIND, either express *
* or implied. *
* For more information on ArchC, please visit: *
* http://www.archc.org *
* *
* The ArchC Team *
* Computer Systems Laboratory (LSC) *
* IC-UNICAMP *
* http://www.lsc.ic.unicamp.br *
******************************************************/
#ifndef sparc_SYSCALL_H
#define sparc_SYSCALL_H
#include "sparc_arch.H"
#include "sparc_arch_ref.H"
#include "sparc_parms.H"
#include "ac_syscall.H"
//sparc system calls
class sparc_syscall : public ac_syscall<sparc_parms::ac_word, sparc_parms::ac_Hword>, public sparc_arch_ref
{
public:
sparc_syscall(sparc_arch& ref) : ac_syscall<sparc_parms::ac_word, sparc_parms::ac_Hword>(ref, sparc_parms::AC_RAMSIZE), sparc_arch_ref(ref) {};
virtual ~sparc_syscall() {};
void get_buffer(int argn, unsigned char* buf, unsigned int size);
void set_buffer(int argn, unsigned char* buf, unsigned int size);
void set_buffer_noinvert(int argn, unsigned char* buf, unsigned int size);
int get_int(int argn);
void set_int(int argn, int val);
void return_from_syscall();
void set_prog_args(int argc, char **argv);
};
#endif