From 2ae9957e7b9ea51ed65907e80ce1e6f36da40b10 Mon Sep 17 00:00:00 2001 From: BujSet Date: Thu, 10 Jul 2025 16:41:27 +0000 Subject: [PATCH 1/6] PAL file for arm zephyr executor runner --- runtime/platform/default/arm_zephyr.hpp | 52 +++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 runtime/platform/default/arm_zephyr.hpp diff --git a/runtime/platform/default/arm_zephyr.hpp b/runtime/platform/default/arm_zephyr.hpp new file mode 100644 index 00000000000..25e896dd92b --- /dev/null +++ b/runtime/platform/default/arm_zephyr.hpp @@ -0,0 +1,52 @@ +#ifndef _ARM_ZEPHYR_PAL_HPP +#define _ARM_ZEPHYR_PAL_HPP + +#include +#include + +void et_pal_init(void) {} + +ET_NORETURN void et_pal_abort(void) { + _exit(-1); +} + +et_timestamp_t et_pal_current_ticks(void) { + return k_uptime_ticks(); +} + +et_tick_ratio_t et_pal_ticks_to_ns_multiplier(void) { + // Since we don't know the CPU freq for your target and just cycles in the + // FVP for et_pal_current_ticks() we return a conversion ratio of 1 + return {1, 1}; +} + +/** + * Emit a log message via platform output (serial port, console, etc). + */ +void et_pal_emit_log_message( + ET_UNUSED et_timestamp_t timestamp, + et_pal_log_level_t level, + const char* filename, + ET_UNUSED const char* function, + size_t line, + const char* message, + ET_UNUSED size_t length) { + fprintf( + stderr, + "%c [executorch:%s:%zu %s()] %s\n", + level, + filename, + line, + function, + message); +} + +void* et_pal_allocate(ET_UNUSED size_t size) { + return k_malloc(size); +} + +void et_pal_free(ET_UNUSED void* ptr) { + k_free(ptr); +} + +#endif // _ARM_ZEPHYR_PAL_HPP From 20276a5a3245d307551fd0ed4ff68272c4d99f94 Mon Sep 17 00:00:00 2001 From: BujSet Date: Thu, 10 Jul 2025 21:06:26 +0000 Subject: [PATCH 2/6] Adding short line option for arm_zephyr PAL selection --- runtime/platform/targets.bzl | 1 + 1 file changed, 1 insertion(+) diff --git a/runtime/platform/targets.bzl b/runtime/platform/targets.bzl index eecac8ae5db..9ccf2b6dd37 100644 --- a/runtime/platform/targets.bzl +++ b/runtime/platform/targets.bzl @@ -45,6 +45,7 @@ def define_common_targets(): "ovr_config//os:android": ["default/android.cpp"], "DEFAULT": _select_pal({ "minimal": ["default/minimal.cpp"], + "arm_zephyr": ["default/arm_zephyr.hpp"], "posix": ["default/posix.cpp"], })}), deps = [ From 76c8f990d8d47e5e2ec0e947afd60781561fc057 Mon Sep 17 00:00:00 2001 From: BujSet Date: Fri, 11 Jul 2025 00:24:51 +0000 Subject: [PATCH 3/6] Removing uneeded ET_UNUSED label --- runtime/platform/default/arm_zephyr.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/platform/default/arm_zephyr.hpp b/runtime/platform/default/arm_zephyr.hpp index 25e896dd92b..1298e35b96a 100644 --- a/runtime/platform/default/arm_zephyr.hpp +++ b/runtime/platform/default/arm_zephyr.hpp @@ -41,7 +41,7 @@ void et_pal_emit_log_message( message); } -void* et_pal_allocate(ET_UNUSED size_t size) { +void* et_pal_allocate(size_t size) { return k_malloc(size); } From 333d7598f4d6e7b864afe25619b823bc5134c5ff Mon Sep 17 00:00:00 2001 From: BujSet Date: Fri, 11 Jul 2025 14:50:19 +0000 Subject: [PATCH 4/6] Removing change to bzl file since PAL can't and should not be built in a non-zephyr environment --- runtime/platform/targets.bzl | 1 - 1 file changed, 1 deletion(-) diff --git a/runtime/platform/targets.bzl b/runtime/platform/targets.bzl index 9ccf2b6dd37..eecac8ae5db 100644 --- a/runtime/platform/targets.bzl +++ b/runtime/platform/targets.bzl @@ -45,7 +45,6 @@ def define_common_targets(): "ovr_config//os:android": ["default/android.cpp"], "DEFAULT": _select_pal({ "minimal": ["default/minimal.cpp"], - "arm_zephyr": ["default/arm_zephyr.hpp"], "posix": ["default/posix.cpp"], })}), deps = [ From c78ee9bcb7ffeea7ad53992ff337a9c39876a471 Mon Sep 17 00:00:00 2001 From: BujSet Date: Tue, 15 Jul 2025 17:32:08 +0000 Subject: [PATCH 5/6] Testing if PAL can be a cpp file instead of header --- runtime/platform/default/{arm_zephyr.hpp => arm_zephyr.cpp} | 5 ----- 1 file changed, 5 deletions(-) rename runtime/platform/default/{arm_zephyr.hpp => arm_zephyr.cpp} (92%) diff --git a/runtime/platform/default/arm_zephyr.hpp b/runtime/platform/default/arm_zephyr.cpp similarity index 92% rename from runtime/platform/default/arm_zephyr.hpp rename to runtime/platform/default/arm_zephyr.cpp index 1298e35b96a..68b17e68050 100644 --- a/runtime/platform/default/arm_zephyr.hpp +++ b/runtime/platform/default/arm_zephyr.cpp @@ -1,6 +1,3 @@ -#ifndef _ARM_ZEPHYR_PAL_HPP -#define _ARM_ZEPHYR_PAL_HPP - #include #include @@ -48,5 +45,3 @@ void* et_pal_allocate(size_t size) { void et_pal_free(ET_UNUSED void* ptr) { k_free(ptr); } - -#endif // _ARM_ZEPHYR_PAL_HPP From 2bab70b5ff3f8d6d402aa557122b2bb401e2250a Mon Sep 17 00:00:00 2001 From: BujSet Date: Tue, 15 Jul 2025 18:08:33 +0000 Subject: [PATCH 6/6] linting --- runtime/platform/default/arm_zephyr.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/runtime/platform/default/arm_zephyr.cpp b/runtime/platform/default/arm_zephyr.cpp index 68b17e68050..6932ddd1e7a 100644 --- a/runtime/platform/default/arm_zephyr.cpp +++ b/runtime/platform/default/arm_zephyr.cpp @@ -4,11 +4,11 @@ void et_pal_init(void) {} ET_NORETURN void et_pal_abort(void) { - _exit(-1); + _exit(-1); } et_timestamp_t et_pal_current_ticks(void) { - return k_uptime_ticks(); + return k_uptime_ticks(); } et_tick_ratio_t et_pal_ticks_to_ns_multiplier(void) { @@ -39,9 +39,9 @@ void et_pal_emit_log_message( } void* et_pal_allocate(size_t size) { - return k_malloc(size); + return k_malloc(size); } void et_pal_free(ET_UNUSED void* ptr) { - k_free(ptr); -} + k_free(ptr); +}