Fix userland exit() type

This commit is contained in:
TXuian 2024-05-16 14:44:41 +08:00
parent 56ec6edbe5
commit 0b858de120
13 changed files with 26 additions and 25 deletions

View File

@ -28,7 +28,7 @@ int main(int argc, char* argv[])
char* shell_task_param[2] = { "/shell", 0 }; char* shell_task_param[2] = { "/shell", 0 };
if ((fd = open(&session, shell_task_param[0])) < 0) { if ((fd = open(&session, shell_task_param[0])) < 0) {
printf("Open %s failed\n", shell_task_param[0]); printf("Open %s failed\n", shell_task_param[0]);
exit(); exit(1);
} }
if (spawn(&session, fd, read, fsize, shell_task_param[0], shell_task_param) < 0) { if (spawn(&session, fd, read, fsize, shell_task_param[0], shell_task_param) < 0) {
@ -37,6 +37,6 @@ int main(int argc, char* argv[])
close(&session, fd); close(&session, fd);
exit(); exit(0);
return 0; return 0;
} }

View File

@ -12,6 +12,7 @@
#include <assert.h> #include <assert.h>
#include <stdbool.h> #include <stdbool.h>
#include <stdint.h> #include <stdint.h>
#include <stdlib.h>
#include "libfs_to_client.h" #include "libfs_to_client.h"
#include "libserial.h" #include "libserial.h"
@ -90,7 +91,7 @@ int main(int argc, char** argv)
struct Session session_nowait; struct Session session_nowait;
if (connect_session(&session_wait, "SimpleServer", 4096) < 0 || connect_session(&session_nowait, "SimpleServer", 4096) < 0) { if (connect_session(&session_wait, "SimpleServer", 4096) < 0 || connect_session(&session_nowait, "SimpleServer", 4096) < 0) {
printf("connect session failed\n"); printf("connect session failed\n");
exit(); exit(1);
} }
char *buf1 = NULL, *buf2 = NULL; char *buf1 = NULL, *buf2 = NULL;
@ -138,5 +139,5 @@ int main(int argc, char** argv)
free_session(&session_wait); free_session(&session_wait);
free_session(&session_nowait); free_session(&session_nowait);
exit(); exit(0);
} }

View File

@ -38,10 +38,10 @@ int main(int argc, char* argv[])
{ {
if (register_server("SimpleServer") < 0) { if (register_server("SimpleServer") < 0) {
printf("register server name: %s failed.\n", "SimpleServer"); printf("register server name: %s failed.\n", "SimpleServer");
exit(); exit(1);
} }
ipc_server_loop(&IpcSimpleServer); ipc_server_loop(&IpcSimpleServer);
// never reached // never reached
exit(); exit(0);
} }

View File

@ -48,6 +48,6 @@ int main(int argc, char* argv[])
printf("Test memry error %s.\n", 0x50000000); printf("Test memry error %s.\n", 0x50000000);
printf("After error computing.\n"); printf("After error computing.\n");
exit(); exit(0);
return 0; return 0;
} }

View File

@ -24,12 +24,12 @@ int main(int argc, char* argv[])
struct Session session; struct Session session;
if (connect_session(&session, "TestIRQ", 4096) < 0) { if (connect_session(&session, "TestIRQ", 4096) < 0) {
printf("connect session failed\n"); printf("connect session failed\n");
exit(); exit(1);
} }
printf("%s start waiting for IRQ.\n", prog_name); printf("%s start waiting for IRQ.\n", prog_name);
wait_intr(&session); wait_intr(&session);
printf("%s return from waiting for IRQ.\n", prog_name); printf("%s return from waiting for IRQ.\n", prog_name);
exit(); exit(0);
} }

View File

@ -40,16 +40,16 @@ int main()
{ {
if (register_irq(SW_INTERRUPT_3, Ipc_intr_3) < 0) { if (register_irq(SW_INTERRUPT_3, Ipc_intr_3) < 0) {
printf("TEST_SW_HDLR: bind failed"); printf("TEST_SW_HDLR: bind failed");
exit(); exit(1);
} }
static char prog_name[] = "TestIRQ"; static char prog_name[] = "TestIRQ";
if (register_server("TestIRQ") < 0) { if (register_server("TestIRQ") < 0) {
printf("register server name: %s failed.\n", prog_name); printf("register server name: %s failed.\n", prog_name);
exit(); exit(1);
} }
ipc_server_loop(&IpcSwIntrHandler); ipc_server_loop(&IpcSwIntrHandler);
exit(); exit(0);
} }

View File

@ -39,6 +39,6 @@ int main(int argc, char* argv[])
// test function // test function
count_down(); count_down();
exit(); exit(0);
return 0; return 0;
} }

View File

@ -96,5 +96,5 @@ int main()
printf("%s: Soft interrupt send 1 time\n", prog_name); printf("%s: Soft interrupt send 1 time\n", prog_name);
} }
printf("%s: Soft interrupt send done\n", prog_name); printf("%s: Soft interrupt send done\n", prog_name);
exit(); exit(0);
} }

View File

@ -178,7 +178,7 @@ int main(int argc, char** argv)
static char server_name[] = "TimerServer"; static char server_name[] = "TimerServer";
if (register_server(server_name) < 0) { if (register_server(server_name) < 0) {
printf("register server name %s failed\n", server_name); printf("register server name %s failed\n", server_name);
exit(); exit(1);
} }
static uint32_t epit_instance = HW_EPIT2; static uint32_t epit_instance = HW_EPIT2;
@ -188,7 +188,7 @@ int main(int argc, char** argv)
ipc_server_loop(&IpcSabreliteTimer); ipc_server_loop(&IpcSabreliteTimer);
exit(); exit(0);
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View File

@ -250,23 +250,23 @@ int main(int argc, char** argv)
{ {
if (connect_session(&timer_session, timer_server_name, 4096) < 0) { if (connect_session(&timer_session, timer_server_name, 4096) < 0) {
printf("%s connect server: %s failed\n", enet_server_name, timer_server_name); printf("%s connect server: %s failed\n", enet_server_name, timer_server_name);
exit(); exit(1);
} }
printf("%s: Mapping %08x(size: %x) to %08x\n", enet_server_name, AIPS1_ARB_PHY_BASE_ADDR, AIPS1_ARB_END_ADDR - AIPS1_ARB_BASE_ADDR, AIPS1_ARB_BASE_ADDR); printf("%s: Mapping %08x(size: %x) to %08x\n", enet_server_name, AIPS1_ARB_PHY_BASE_ADDR, AIPS1_ARB_END_ADDR - AIPS1_ARB_BASE_ADDR, AIPS1_ARB_BASE_ADDR);
if (!mmap(AIPS1_ARB_BASE_ADDR, AIPS1_ARB_PHY_BASE_ADDR, AIPS1_ARB_END_ADDR - AIPS1_ARB_BASE_ADDR, true)) { if (!mmap(AIPS1_ARB_BASE_ADDR, AIPS1_ARB_PHY_BASE_ADDR, AIPS1_ARB_END_ADDR - AIPS1_ARB_BASE_ADDR, true)) {
printf("%s: mmap AIPS1 ARB(%8x) failed\n", enet_server_name, AIPS1_ARB_PHY_BASE_ADDR); printf("%s: mmap AIPS1 ARB(%8x) failed\n", enet_server_name, AIPS1_ARB_PHY_BASE_ADDR);
exit(); exit(1);
} }
printf("%s: Mapping %08x(size: %x) to %8x\n", enet_server_name, AIPS2_ARB_PHY_BASE_ADDR, AIPS2_ARB_END_ADDR - AIPS2_ARB_BASE_ADDR, AIPS2_ARB_BASE_ADDR); printf("%s: Mapping %08x(size: %x) to %8x\n", enet_server_name, AIPS2_ARB_PHY_BASE_ADDR, AIPS2_ARB_END_ADDR - AIPS2_ARB_BASE_ADDR, AIPS2_ARB_BASE_ADDR);
if (!mmap(AIPS2_ARB_BASE_ADDR, AIPS2_ARB_PHY_BASE_ADDR, AIPS2_ARB_END_ADDR - AIPS2_ARB_BASE_ADDR, true)) { if (!mmap(AIPS2_ARB_BASE_ADDR, AIPS2_ARB_PHY_BASE_ADDR, AIPS2_ARB_END_ADDR - AIPS2_ARB_BASE_ADDR, true)) {
printf("%s: mmap AIPS1 ARB(%08x) failed\n", enet_server_name, AIPS2_ARB_PHY_BASE_ADDR); printf("%s: mmap AIPS1 ARB(%08x) failed\n", enet_server_name, AIPS2_ARB_PHY_BASE_ADDR);
exit(); exit(1);
} }
enet_test(); enet_test();
exit(); exit(0);
return 0; return 0;
} }

View File

@ -358,10 +358,10 @@ int main(int argc, char* argv[])
if (register_server("MemFS") < 0) { if (register_server("MemFS") < 0) {
printf("register server name: %s failed.\n", "MemFs"); printf("register server name: %s failed.\n", "MemFs");
exit(); exit(1);
} }
ipc_server_loop(&IpcFsServer); ipc_server_loop(&IpcFsServer);
// never reached // never reached
exit(); exit(0);
} }

View File

@ -26,9 +26,9 @@ int spawn(struct Session* session, int fd, ipc_read_fn ipc_read, ipc_fsize_fn ip
return ret; return ret;
} }
int exit() void exit(int status)
{ {
return syscall(SYSCALL_EXIT, 0, 0, 0, 0); syscall(SYSCALL_EXIT, (uintptr_t)status, 0, 0, 0);
} }
int yield(task_yield_reason reason) int yield(task_yield_reason reason)

View File

@ -65,7 +65,7 @@ typedef int (*ipc_write_fn)(struct Session* session, int fd, char* src, int offs
int syscall(int sys_num, intptr_t a1, intptr_t a2, intptr_t a3, intptr_t a4); int syscall(int sys_num, intptr_t a1, intptr_t a2, intptr_t a3, intptr_t a4);
int spawn(struct Session* session, int fd, ipc_read_fn ipc_read, ipc_fsize_fn ipc_fsize, char* name, char** argv); int spawn(struct Session* session, int fd, ipc_read_fn ipc_read, ipc_fsize_fn ipc_fsize, char* name, char** argv);
int exit(); void exit(int status);
int yield(task_yield_reason reason); int yield(task_yield_reason reason);
int kill(int pid); int kill(int pid);
int register_server(char* name); int register_server(char* name);