updates to make 64bit compiling
This commit is contained in:
parent
071d9cc8eb
commit
9909769c0a
@ -1 +1 @@
|
||||
Subproject commit e0807b8cddb07c2eb91dfe0b230d3121897b7a96
|
||||
Subproject commit 853d1c33ecab1a7096bed7c3f94893d0a27437f3
|
@ -3,6 +3,12 @@ project(coremark C)
|
||||
set(TARGET coremark)
|
||||
#set(CMAKE_BUILD_TYPE Release)
|
||||
|
||||
option(HAVE_NO_INIT_FINI "Enable NO_INIT_FINI" OFF)
|
||||
|
||||
if(HAVE_NO_INIT_FINI)
|
||||
#if HAVE_NO_INIT_FINI is ON
|
||||
add_definitions(-DHAVE_NO_INIT_FINI)
|
||||
endif()
|
||||
|
||||
|
||||
# Source files
|
||||
@ -21,7 +27,8 @@ set(SOURCES
|
||||
# Create executable
|
||||
add_executable(coremark ${SOURCES})
|
||||
target_include_directories(${TARGET} PRIVATE ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/cm)
|
||||
target_compile_options(${TARGET} PRIVATE -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast -fno-common -funroll-loops -finline-functions -falign-functions=16 -falign-jumps=4 -falign-loops=4 -finline-limit=1000 -fno-if-conversion2 -fselective-scheduling -fno-crossjumping -freorder-blocks-and-partition -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast -fno-common -funroll-loops -finline-functions -falign-functions=16 -falign-jumps=4 -falign-loops=4 -finline-limit=1000 -fno-if-conversion2 -fselective-scheduling -fno-crossjumping -freorder-blocks-and-partition )
|
||||
target_compile_options(${TARGET} PRIVATE -mcmodel=medany)
|
||||
target_compile_options(${TARGET} PRIVATE -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast -fno-builtin-strnlen -fno-common -funroll-loops -finline-functions -falign-functions=16 -falign-jumps=4 -falign-loops=4 -finline-limit=1000 -fno-if-conversion2 -fselective-scheduling -fno-crossjumping -freorder-blocks-and-partition -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast -fno-common -funroll-loops -finline-functions -falign-functions=16 -falign-jumps=4 -falign-loops=4 -finline-limit=1000 -fno-if-conversion2 -fselective-scheduling -fno-crossjumping -freorder-blocks-and-partition )
|
||||
target_compile_definitions(${TARGET} PRIVATE PERFORMANCE_RUN=1 CLOCKS_PER_SEC=10000000 FLAGS_STR="" PERFORMANCE_RUN=1 CLOCKS_PER_SEC=10000000 ITERATIONS=600)
|
||||
|
||||
set(BOARD "iss" CACHE STRING "Target board")
|
||||
|
@ -10,14 +10,57 @@
|
||||
},
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "dbg",
|
||||
"name": "debug",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv32imc.cmake"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "rel",
|
||||
"name": "debug_moon",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"BOARD": "moonlight",
|
||||
"HAVE_NO_INIT_FINI": "ON",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv32imc.cmake"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "debug_tgc",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"BOARD": "tgc_vp",
|
||||
"HAVE_NO_INIT_FINI": "ON",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv32imc.cmake"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "debug_64",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv64gc.cmake"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "debug_64_moon",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"BOARD": "moonlight",
|
||||
"HAVE_NO_INIT_FINI": "ON",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv64gc.cmake"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "debug_64_tgc",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"BOARD": "tgc_vp",
|
||||
"HAVE_NO_INIT_FINI": "ON",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv64gc.cmake"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "release",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv32imc.cmake"
|
||||
|
@ -2,9 +2,18 @@ cmake_minimum_required(VERSION 3.21)
|
||||
project(dhrystone C)
|
||||
set(TARGET dhrystone)
|
||||
|
||||
option(HAVE_NO_INIT_FINI "Enable NO_INIT_FINI" OFF)
|
||||
|
||||
if(HAVE_NO_INIT_FINI)
|
||||
#if HAVE_NO_INIT_FINI is ON
|
||||
add_definitions(-DHAVE_NO_INIT_FINI)
|
||||
endif()
|
||||
|
||||
set(ITERATIONS 50000) # 20000 for TGC
|
||||
|
||||
add_executable(${TARGET} dhry_1.c dhry_2.c dhry_stubs.c)
|
||||
target_compile_options(${TARGET} PRIVATE -mcmodel=medany)
|
||||
#target_compile_options(${TARGET} PRIVATE -mcmodel=medany -fPIC)
|
||||
target_include_directories(${TARGET} PRIVATE ${CMAKE_CURRENT_LIST_DIR})
|
||||
target_compile_options(${TARGET} PRIVATE -fno-inline -fno-builtin-printf -fno-common -Wno-implicit -funroll-loops -fpeel-loops -fgcse-sm -fgcse-las)
|
||||
target_compile_definitions(${TARGET} PRIVATE ITERATIONS=${ITERATIONS} HZ=32768 TIME NO_INIT)
|
||||
@ -13,6 +22,8 @@ set(BOARD "iss" CACHE STRING "Target board")
|
||||
add_subdirectory(../../bare-metal-bsp bsp)
|
||||
target_link_libraries(${TARGET} PRIVATE bsp)
|
||||
target_link_options(${TARGET} PRIVATE LINKER:--wrap=scanf)
|
||||
#target_link_options(${TARGET} PRIVATE LINKER:--wrap=scanf -Wl,--no-gc-sections)
|
||||
|
||||
target_link_options(${TARGET} PRIVATE -Wl,-Map=${TARGET}.map)
|
||||
include(CMakePrintHelpers)
|
||||
cmake_print_properties(TARGETS ${TARGET} PROPERTIES COMPILE_DEFINITIONS COMPILE_OPTIONS LINK_OPTIONS INTERFACE_LINK_OPTIONS)
|
||||
|
@ -10,14 +10,57 @@
|
||||
},
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "dbg",
|
||||
"name": "debug",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv32imc.cmake"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "rel",
|
||||
"name": "debug_moon",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"BOARD": "moonlight",
|
||||
"HAVE_NO_INIT_FINI": "ON",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv32imc.cmake"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "debug_tgc",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"BOARD": "tgc_vp",
|
||||
"HAVE_NO_INIT_FINI": "ON",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv32imc.cmake"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "debug_64",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv64gc.cmake"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "debug_64_moon",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"BOARD": "moonlight",
|
||||
"HAVE_NO_INIT_FINI": "ON",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv64gc.cmake"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "debug_64_tgc",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"BOARD": "tgc_vp",
|
||||
"HAVE_NO_INIT_FINI": "ON",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv64gc.cmake"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "release",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"CMAKE_TOOLCHAIN_FILE": "../../bare-metal-bsp/cmake/rv32imc.cmake"
|
||||
|
@ -15,6 +15,7 @@ int factorial(int i) {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
extern volatile uintptr_t tohost;
|
||||
|
||||
void write_tohost(char *string) {
|
||||
volatile uint64_t payload[4] = {64, 0, (uintptr_t)string,
|
||||
|
Loading…
x
Reference in New Issue
Block a user