initial test harness for smp regression

This commit is contained in:
2026-03-24 18:00:50 +01:00
parent 7253aadd52
commit c11f68d20c
8 changed files with 605 additions and 12 deletions

View File

@@ -19,6 +19,10 @@ add_subdirectory(${THREADX4TGFS_ROOT}/third-party/threadx ${CMAKE_BINARY_DIR}/th
target_link_libraries(threadx PUBLIC c)
target_compile_definitions(threadx PUBLIC TX_REGRESSION_TEST)
add_subdirectory(${THREADX4TGFS_ROOT}/port/threadx_smp ${CMAKE_BINARY_DIR}/port/threadx_smp)
target_link_libraries(threadx_smp PUBLIC c)
target_compile_definitions(threadx_smp PUBLIC TX_REGRESSION_TEST TX_THREAD_SMP_ONLY_CORE_0_DEFAULT TX_SMP_NOT_POSSIBLE)
project(threadx_regression C ASM)
enable_testing()
set(TARGET_MEM "ram_dram" CACHE STRING "memory map to use")
@@ -60,11 +64,15 @@ set_source_files_properties(${MOONLIGHT_TRAP_SOURCE} PROPERTIES GENERATED TRUE)
add_subdirectory(${THREADX4TGFS_ROOT}/port/moonlight ${CMAKE_BINARY_DIR}/port/moonlight)
add_dependencies(moonlight_platform_common threadx_regression_generated_trap)
if(TARGET moonlight_platform_common_smp)
add_dependencies(moonlight_platform_common_smp threadx_regression_generated_trap)
endif()
function(setup_target TARGET)
set(options)
set(oneValueArgs PLATFORM_TARGET)
set(multiValueArgs LIBRARIES SOURCES)
cmake_parse_arguments(ST "${options}" "" "${multiValueArgs}" ${ARGN})
cmake_parse_arguments(ST "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(ST_UNPARSED_ARGUMENTS)
message(FATAL_ERROR "setup_target(${TARGET} ...): unknown args: ${ST_UNPARSED_ARGUMENTS}")
endif()
@@ -73,7 +81,11 @@ function(setup_target TARGET)
set_target_properties(${TARGET} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}
)
target_add_moonlight_platform(${TARGET})
if(ST_PLATFORM_TARGET)
target_add_moonlight_platform(${TARGET} PLATFORM_TARGET ${ST_PLATFORM_TARGET})
else()
target_add_moonlight_platform(${TARGET})
endif()
if(ST_SOURCES)
target_sources(${TARGET} PRIVATE ${ST_SOURCES})
@@ -100,3 +112,4 @@ function(setup_target TARGET)
endfunction()
add_subdirectory(threadx regression_targets)
add_subdirectory(smp smp_regression_targets)