From e9721db183823b35040cc9fda4e01c3896c5869e Mon Sep 17 00:00:00 2001 From: Alberto Escolar Piedras Date: Wed, 5 Jul 2023 16:45:38 +0200 Subject: [PATCH] native_simulator: Align with upstream latest with more trampolines Upstream SHA: be3eac6931b49291e51da5d5aa1a99ab58f81541 Signed-off-by: Alberto Escolar Piedras --- scripts/native_simulator/Makefile | 2 + .../common/src/include/nsi_host_trampolines.h | 10 ++++ .../common/src/nsi_host_trampolines.c | 53 +++++++++++++++++++ .../native_simulator/common/src/nsi_tasks.h | 2 +- 4 files changed, 66 insertions(+), 1 deletion(-) diff --git a/scripts/native_simulator/Makefile b/scripts/native_simulator/Makefile index 5dc9b409e1f..6684c938945 100644 --- a/scripts/native_simulator/Makefile +++ b/scripts/native_simulator/Makefile @@ -10,6 +10,8 @@ NSI_CONFIG_FILE?=nsi_config -include ${NSI_CONFIG_FILE} +#If the file does not exist, we don't use it as a build dependency +NSI_CONFIG_FILE:=$(wildcard ${NSI_CONFIG_FILE}) NSI_PATH?=./ NSI_BUILD_PATH?=$(abspath _build/) diff --git a/scripts/native_simulator/common/src/include/nsi_host_trampolines.h b/scripts/native_simulator/common/src/include/nsi_host_trampolines.h index 53eff33bc99..f7f7dce877d 100644 --- a/scripts/native_simulator/common/src/include/nsi_host_trampolines.h +++ b/scripts/native_simulator/common/src/include/nsi_host_trampolines.h @@ -22,10 +22,20 @@ extern "C" { #endif +void *nsi_host_calloc(unsigned long nmemb, unsigned long size); +int nsi_host_close(int fd); /* void nsi_host_exit (int status); Use nsi_exit() instead */ +void nsi_host_free(void *ptr); +char *nsi_host_getcwd(char *buf, unsigned long size); +int nsi_host_isatty(int fd); +void *nsi_host_malloc(unsigned long size); +int nsi_host_open(const char *pathname, int flags); /* int nsi_host_printf (const char *fmt, ...); Use the nsi_tracing.h equivalents */ long nsi_host_random(void); +long nsi_host_read(int fd, void *buffer, unsigned long size); void nsi_host_srandom(unsigned int seed); +char *nsi_host_strdup(const char *s); +long nsi_host_write(int fd, void *buffer, unsigned long size); #ifdef __cplusplus } diff --git a/scripts/native_simulator/common/src/nsi_host_trampolines.c b/scripts/native_simulator/common/src/nsi_host_trampolines.c index d35dce40759..3feb8482c91 100644 --- a/scripts/native_simulator/common/src/nsi_host_trampolines.c +++ b/scripts/native_simulator/common/src/nsi_host_trampolines.c @@ -7,13 +7,66 @@ */ #include +#include +#include +#include + +void *nsi_host_calloc(unsigned long nmemb, unsigned long size) +{ + return calloc(nmemb, size); +} + +int nsi_host_close(int fd) +{ + return close(fd); +} + +void nsi_host_free(void *ptr) +{ + free(ptr); +} + +char *nsi_host_getcwd(char *buf, unsigned long size) +{ + return getcwd(buf, size); +} + +int nsi_host_isatty(int fd) +{ + return isatty(fd); +} + +void *nsi_host_malloc(unsigned long size) +{ + return malloc(size); +} + +int nsi_host_open(const char *pathname, int flags) +{ + return open(pathname, flags); +} long nsi_host_random(void) { return random(); } +long nsi_host_read(int fd, void *buffer, unsigned long size) +{ + return read(fd, buffer, size); +} + void nsi_host_srandom(unsigned int seed) { srandom(seed); } + +char *nsi_host_strdup(const char *s) +{ + return strdup(s); +} + +long nsi_host_write(int fd, void *buffer, unsigned long size) +{ + return write(fd, buffer, size); +} diff --git a/scripts/native_simulator/common/src/nsi_tasks.h b/scripts/native_simulator/common/src/nsi_tasks.h index ee98ba5ddc1..f3d4ec08ae2 100644 --- a/scripts/native_simulator/common/src/nsi_tasks.h +++ b/scripts/native_simulator/common/src/nsi_tasks.h @@ -42,7 +42,7 @@ extern "C" { * The function must take no parameters and return nothing. */ #define NSI_TASK(fn, level, prio) \ - static void (* const NSI_CONCAT(__nsi_task_, fn))() \ + static void (* const NSI_CONCAT(__nsi_task_, fn))(void) \ __attribute__((__used__)) \ __attribute__((__section__(".nsi_" #level NSI_STRINGIFY(prio) "_task")))\ = fn