Skip to content
This repository was archived by the owner on Apr 25, 2021. It is now read-only.

Commit 9de10a7

Browse files
committed
시스템 콜 테이블 업데이트
1 parent 122e50f commit 9de10a7

3 files changed

Lines changed: 36 additions & 49 deletions

File tree

src/openpie_vfs.c

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,6 @@ int SVC_CALL_VFS_OUT(int r0, int r1, int r2, int r3, int *v1) {
5050
return errno;
5151
}
5252

53-
54-
typedef enum vfs_command {
55-
VFS_OPEN = 1,
56-
VFS_VALID = 2,
57-
VFS_REPR = 3,
58-
VFS_CLOSE = 4,
59-
VFS_READ = 5,
60-
VFS_WRITE = 6,
61-
VFS_SEEK = 7,
62-
VFS_FLUSH = 8,
63-
} vfs_command;
64-
6553
typedef struct _mp_obj_vfs_openpie_file_t {
6654
mp_obj_base_t base;
6755
int fd;
@@ -90,7 +78,7 @@ mp_obj_t mp_vfs_openpie_file_open(const mp_obj_type_t *type, mp_obj_t address_in
9078
o->base.type = type;
9179
o->fd = -1;
9280

93-
int errno = SVC_CALL_VFS_OUT(VFS_OPEN, (int) address, (int) path, (int) mode, &(o->fd));
81+
int errno = SVC_CALL_VFS_OUT(SYS_VFS_OPEN, (int) address, (int) path, (int) mode, &(o->fd));
9482
if (errno != 0) {
9583
mp_raise_OSError(errno);
9684
}
@@ -131,7 +119,7 @@ STATIC mp_uint_t vfs_openpie_file_read(mp_obj_t o_in, void *buf, mp_uint_t size,
131119
check_fd_is_open(o);
132120

133121
int count = 0;
134-
int errno = SVC_CALL_VFS_OUT(VFS_READ, o->fd, (int) size, (int) buf, &count);
122+
int errno = SVC_CALL_VFS_OUT(SYS_VFS_READ, o->fd, (int) size, (int) buf, &count);
135123
if (errno != 0) {
136124
*errcode = errno;
137125
return MP_STREAM_ERROR;
@@ -149,7 +137,7 @@ STATIC mp_uint_t vfs_openpie_file_write(mp_obj_t o_in, const void *buf, mp_uint_
149137
}
150138
#endif
151139
int written = 0;
152-
int errno = SVC_CALL_VFS_OUT(VFS_WRITE, o->fd, (int) buf, (int) size, &written);
140+
int errno = SVC_CALL_VFS_OUT(SYS_VFS_WRITE, o->fd, (int) buf, (int) size, &written);
153141
if (errno != 0) {
154142
*errcode = errno;
155143
return MP_STREAM_ERROR;
@@ -163,7 +151,7 @@ STATIC mp_uint_t vfs_openpie_file_ioctl(mp_obj_t o_in, mp_uint_t request, uintpt
163151
int errno;
164152
switch (request) {
165153
case MP_STREAM_FLUSH:
166-
errno = SVC_CALL_VFS(VFS_FLUSH, o->fd, 0, 0);
154+
errno = SVC_CALL_VFS(SYS_VFS_FLUSH, o->fd, 0, 0);
167155
if (errno != 0) {
168156
*errcode = errno;
169157
return MP_STREAM_ERROR;
@@ -172,7 +160,7 @@ STATIC mp_uint_t vfs_openpie_file_ioctl(mp_obj_t o_in, mp_uint_t request, uintpt
172160
case MP_STREAM_SEEK: {
173161
struct mp_stream_seek_t *s = (struct mp_stream_seek_t *) arg;
174162
int offset = 0;
175-
errno = SVC_CALL_VFS_OUT(VFS_SEEK, o->fd, s->offset, s->whence, &offset);
163+
errno = SVC_CALL_VFS_OUT(SYS_VFS_SEEK, o->fd, s->offset, s->whence, &offset);
176164
if (errno != 0) {
177165
*errcode = errno;
178166
return MP_STREAM_ERROR;
@@ -181,7 +169,7 @@ STATIC mp_uint_t vfs_openpie_file_ioctl(mp_obj_t o_in, mp_uint_t request, uintpt
181169
return 0;
182170
}
183171
case MP_STREAM_CLOSE:
184-
errno = SVC_CALL_VFS(VFS_CLOSE, o->fd, 0, 0);
172+
errno = SVC_CALL_VFS(SYS_VFS_CLOSE, o->fd, 0, 0);
185173
if (errno != 0) {
186174
*errcode = errno;
187175
return MP_STREAM_ERROR;

src/syscall.h

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,6 @@
22
#define OPENPIE_SYSCALL_H
33

44
#include "syscall_arch.h"
5-
6-
typedef enum {
7-
SYS_UNKNOWN = 0,
8-
SYS_CONTROL = 1,
9-
SYS_INVOKE = 2,
10-
SYS_REQUEST = 3,
11-
SYS_VFS = 4,
12-
SYS_DEBUG = 5,
13-
SYS_LEGACY = 6,
14-
} syscall_number;
15-
16-
typedef enum {
17-
SYS_CONTROL_SHUTDOWN = 1,
18-
SYS_CONTROL_REBOOT = 2,
19-
SYS_CONTROL_CRASH = 3,
20-
SYS_CONTROL_RETURN = 4,
21-
} syscall_control_number;
22-
23-
typedef enum {
24-
// VERSION?
25-
SYS_REQUEST_COMPONENTS = 1,
26-
SYS_REQUEST_METHODS = 2,
27-
SYS_REQUEST_ANNOTATIONS = 3,
28-
} syscall_request_number;
29-
30-
// typedef enum {
31-
// } syscall_vfs_number;
32-
33-
typedef enum {
34-
SYS_LEGACY_usystem_get_stdout_str = 1
35-
} syscall_legacy_number;
5+
#include "syscall_table.h"
366

377
#endif //OPENPIE_SYSCALL_H

src/syscall_table.h

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#define SYS_DEBUG (1)
2+
#define SYS_CONTROL (2)
3+
#define SYS_CONTROL_SHUTDOWN (1)
4+
#define SYS_CONTROL_REBOOT (2)
5+
#define SYS_CONTROL_CRASH (3)
6+
#define SYS_CONTROL_RETURN (4)
7+
#define SYS_SIGNAL (3)
8+
#define SYS_SIGNAL_REQUEST (1)
9+
#define SYS_SIGNAL_PENDING (2)
10+
#define SYS_INVOKE (4)
11+
#define SYS_REQUEST (5)
12+
#define SYS_REQUEST_COMPONENTS (1)
13+
#define SYS_REQUEST_METHODS (2)
14+
#define SYS_REQUEST_ANNOTATIONS (3)
15+
#define SYS_INFO (6)
16+
#define SYS_INFO_VERSION (1)
17+
#define SYS_INFO_RAM_SIZE (2)
18+
#define SYS_TIMER (7)
19+
#define SYS_TIMER_TICKS_MS (1)
20+
#define SYS_TIMER_TICKS_US (2)
21+
#define SYS_VFS (8)
22+
#define SYS_VFS_OPEN (1)
23+
#define SYS_VFS_VALID (2)
24+
#define SYS_VFS_REPR (3)
25+
#define SYS_VFS_CLOSE (4)
26+
#define SYS_VFS_READ (5)
27+
#define SYS_VFS_WRITE (6)
28+
#define SYS_VFS_SEEK (7)
29+
#define SYS_VFS_FLUSH (8)

0 commit comments

Comments
 (0)