From f21ea46befe7401cc35205d3b64e3991504b6289 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Fri, 14 Mar 2025 11:44:03 +0100 Subject: [PATCH] uses htif in iss setting --- libwrap/sys/write.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/libwrap/sys/write.c b/libwrap/sys/write.c index cc77a75..ee84770 100644 --- a/libwrap/sys/write.c +++ b/libwrap/sys/write.c @@ -4,6 +4,7 @@ #include #include #include +#include #include "platform.h" #include "stub.h" @@ -12,6 +13,8 @@ #include "semihosting.h" #endif +extern uint32_t tohost; + ssize_t __wrap_write(int fd, const void *ptr, size_t len) { const uint8_t *current = (const uint8_t *)ptr; #if defined(SEMIHOSTING) @@ -25,6 +28,14 @@ ssize_t __wrap_write(int fd, const void *ptr, size_t len) { return len; } // return len; +#elif defined(BOARD_iss) + volatile uint64_t payload[4]; + payload[0]= 64; + payload[1]= 0; + payload[2]= (uintptr_t)ptr; + payload[3]= len; + tohost = (uint32_t)payload; + return len; #endif if (isatty(fd)) { for (size_t jj = 0; jj < len; jj++) { @@ -38,7 +49,7 @@ ssize_t __wrap_write(int fd, const void *ptr, size_t len) { uart_write(uart, '\r'); } #elif defined(BOARD_iss) - *((uint32_t *)0xFFFF0000) = current[jj]; + // *((uint32_t *)0xFFFF0000) = current[jj]; #elif defined(BOARD_TGCP) // TODO: implement #else