From 727fdcb7bbe2ad7af7e2e05b58e61769a973dea0 Mon Sep 17 00:00:00 2001 From: Hongyu Liu Date: Tue, 11 Mar 2025 11:45:40 +0100 Subject: [PATCH] adds examples of write/tohost usage --- hello-world/hello.c | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/hello-world/hello.c b/hello-world/hello.c index 219ed8a..29a9145 100644 --- a/hello-world/hello.c +++ b/hello-world/hello.c @@ -1,24 +1,31 @@ #include #include +#include #include -#include "platform.h" #include "encoding.h" +#include "platform.h" +#include -int factorial(int i){ - - volatile int result = 1; - for (int ii = 1; ii <= i; ii++) { - result = result * ii; - } - return result; +int factorial(int i) { + volatile int result = 1; + for (int ii = 1; ii <= i; ii++) { + result = result * ii; + } + return result; } +extern volatile uint32_t tohost; +extern volatile uint32_t fromhost; +int main() { + volatile int result = factorial(10); + char string[] = "hello world with write"; -int main() -{ - volatile int result = factorial (10); - printf("Factorial is %d\n", result); - printf("End of execution"); - return 0; + write(STDOUT_FILENO, string, sizeof(string)); + + uint64_t payload[4] = {64, 0, (uintptr_t)string, (strlen(string) + 1)}; + // tohost = (uint32_t)payload; + printf("Factorial is %d", result); + // printf("End of execution"); + return 0; }