2021-05-16 18:58:22 +08:00

80 lines
2.4 KiB
C

/*
* Copyright (c) 2020 Institute of Parallel And Distributed Systems (IPADS), Shanghai Jiao Tong University (SJTU)
* OS-Lab-2020 (i.e., ChCore) is licensed under the Mulan PSL v1.
* You can use this software according to the terms and conditions of the Mulan PSL v1.
* You may obtain a copy of Mulan PSL v1 at:
* http://license.coscl.org.cn/MulanPSL
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
* PURPOSE.
* See the Mulan PSL v1 for more details.
*/
#pragma once
#define NR_SYSCALL 256
void sys_exit(int ret);
int sys_create_pmo(u64 size, u64 type);
int sys_map_pmo(u64 target_process_cap, u64 pmo_cap, u64 addr, u64 perm);
u64 sys_handle_brk(u64 addr);
/* lab3 syscalls finished */
void sys_yield(void);
void sys_create_device_pmo(void);
void sys_create_thread(void);
void sys_create_process(void);
void sys_cap_copy_to(void);
void sys_cap_copy_from(void);
void sys_unmap_pmo(void);
void sys_set_affinity(void);
void sys_get_affinity(void);
void sys_create_pmos(void);
void sys_map_pmos(void);
void sys_write_pmo(void);
void sys_transfer_caps(void);
void sys_read_pmo(void);
void sys_register_server(void);
void sys_register_client(void);
void sys_ipc_call(void);
void sys_ipc_reg_call(void);
void sys_ipc_return(void);
#define SYS_putc 0
#define SYS_getc 1
#define SYS_yield 2
#define SYS_exit 3
#define SYS_sleep 4
#define SYS_create_pmo 5
#define SYS_map_pmo 6
#define SYS_create_thread 7
#define SYS_create_process 8
#define SYS_register_server 9
#define SYS_register_client 10
#define SYS_get_conn_stack 11
#define SYS_ipc_call 12
#define SYS_ipc_return 13
#define SYS_cap_copy_to 15
#define SYS_cap_copy_from 16
#define SYS_unmap_pmo 17
#define SYS_set_affinity 18
#define SYS_get_affinity 19
#define SYS_create_device_pmo 20
/* Lab4 specfic */
#define SYS_get_cpu_id 50
#define SYS_ipc_reg_call 51
#define SYS_create_pmos 101
#define SYS_map_pmos 102
#define SYS_write_pmo 103
#define SYS_read_pmo 104
#define SYS_transfer_caps 105
#define SYS_handle_brk 201
#define SYS_fs_load_cpio 253
#define SYS_debug 255