fixed arm9

added optimizations to 3ds*
This commit is contained in:
Morten Delenk 2017-04-30 09:39:53 +00:00
parent e5db9dfff1
commit e41b942c38
5 changed files with 11 additions and 11 deletions

View file

@ -30,7 +30,8 @@ LOAD_PROFILE(${ARCH} ${SYSTEM})
ADD_EXECUTABLE(kernel ${PLATFORM_SRCS} ${ISA_SRCS} ${GENERIC_SRCS}) ADD_EXECUTABLE(kernel ${PLATFORM_SRCS} ${ISA_SRCS} ${GENERIC_SRCS})
SET(CMAKE_ASM-ATT_COMPILE_OBJECT SET(CMAKE_ASM-ATT_COMPILE_OBJECT
"<CMAKE_C_COMPILER> -g -x assembler-with-cpp -I../../ -I../../libk/include/ -I../../kernel/src/include/ ${ISA_ASM_FLAGS} ${PLATFORM_ASM_FLAGS} -c -o <OBJECT> <SOURCE>") "<CMAKE_C_COMPILER> -g -x assembler-with-cpp -I../../ -I../../libk/include/ -I../../kernel/src/include/ ${ISA_ASM_FLAGS} ${PLATFORM_ASM_FLAGS} -c -o <OBJECT> <SOURCE>")
SET(CMAKE_C_FLAGS "-g -w -Werror -Wno-unused -Wno-unused-variable -fno-use-cxa-atexit -std=c11 -ffreestanding -I../../ -I../../libk/include/ -I../../kernel/src/include/ ${ISA_C_FLAGS} ${PLATFORM_C_FLAGS}") SET(CMAKE_C_FLAGS "-g -w -Werror -Wno-unused -Wno-unused-variable -fno-use-cxa-atexit -std=c11 -ffreestanding -ffunction-sections -fdata-sections -I../../ -I../../libk/include/ -I../../kernel/src/include/ ${ISA_C_FLAGS} ${PLATFORM_C_FLAGS}")
SET(CMAKE_CXX_FLAGS "-g -w -Werror -Wno-unused -Wno-unused-variable -fno-use-cxa-atexit -ffreestanding -fno-rtti -fno-exceptions -std=gnu++17 -I../../ -I../../libk/include/ -I../../kernel/src/include/ ${ISA_CXX_FLAGS} ${PLATFORM_CXX_FLAGS}") SET(CMAKE_CXX_FLAGS "-g -w -Werror -Wno-unused -Wno-unused-variable -fno-use-cxa-atexit -ffreestanding -fno-rtti -fno-exceptions -std=gnu++17 -ffunction-sections -fdata-sections -I../../ -I../../libk/include/ -I../../kernel/src/include/ ${ISA_CXX_FLAGS} ${PLATFORM_CXX_FLAGS}")
SET_TARGET_PROPERTIES(kernel PROPERTIES LINK_FLAGS SET_TARGET_PROPERTIES(kernel PROPERTIES LINK_FLAGS
"-T ../../kernel/${PLATFORM_LAYOUT} -N ${ISA_LINKER_FLAGS} ${PLATFORM_LINKER_FLAGS} -nostdlib -nodefaultlibs -lgcc -Wl,--gc-sections") "-T ../../kernel/${PLATFORM_LAYOUT} -N ${ISA_LINKER_FLAGS} ${PLATFORM_LINKER_FLAGS} -nostdlib -nodefaultlibs -Wl,--gc-sections -ffreestanding")
TARGET_LINK_LIBRARIES(kernel gcc)

View file

@ -1,3 +1,3 @@
SET(PLATFORM_C_FLAGS "-I../../kernel/arch/arm/3ds11/include") SET(PLATFORM_C_FLAGS "-I../../kernel/arch/arm/3ds11/include -mcpu=mpcore -mlittle-endian -march=armv6k -mtune=mpcore -mfloat-abi=hard -mtp=soft -O9")
SET(PLATFORM_CXX_FLAGS "${PLATFORM_C_FLAGS}") SET(PLATFORM_CXX_FLAGS "${PLATFORM_C_FLAGS}")
SET(PLATFORM_ASM_FLAGS "${PLATFORM_C_FLAGS}") SET(PLATFORM_ASM_FLAGS "${PLATFORM_C_FLAGS}")

View file

@ -1,3 +1,3 @@
SET(PLATFORM_C_FLAGS "-I../../kernel/arch/arm/3ds9/include") SET(PLATFORM_C_FLAGS "-I../../kernel/arch/arm/3ds9/include -mcpu=arm946e-s -march=armv5te -mthumb-interwork -mthumb -Os")
SET(PLATFORM_CXX_FLAGS "${PLATFORM_C_FLAGS}") SET(PLATFORM_CXX_FLAGS "${PLATFORM_C_FLAGS}")
SET(PLATFORM_ASM_FLAGS "${PLATFORM_C_FLAGS}") SET(PLATFORM_ASM_FLAGS "${PLATFORM_C_FLAGS}")

View file

@ -6,7 +6,7 @@ _start:
mrs r0, cpsr mrs r0, cpsr
orr r0, r0, #0x80 orr r0, r0, #0x80
msr cpsr_c, r0 //Disable IRQs msr cpsr_c, r0 //Disable IRQs
//Flush instruction cache /* //Flush instruction cache
mov r0, #0 mov r0, #0
mcr p15, 0, r0, c7, c5, 0 mcr p15, 0, r0, c7, c5, 0
@ -26,9 +26,9 @@ _start:
mcr p15, 0, r0, c7, c5, 0 mcr p15, 0, r0, c7, c5, 0
ldr r0, =0xFFFF0830 ldr r0, =0xFFFF0830
blx r0 blx r0
*/
ldr sp, =kernel_stack //set stack ldr sp, =kernel_stack //set stack
/*
//Configure ITCM tosomething //Configure ITCM tosomething
mrc p15, 0, r0, c9, c1, 1 mrc p15, 0, r0, c9, c1, 1
bic r0, #0b111110 bic r0, #0b111110
@ -85,7 +85,7 @@ _start:
orr r0, r0, #(1<<2) orr r0, r0, #(1<<2)
orr r0, r0, #(1<<0) orr r0, r0, #(1<<0)
mcr p15, 0, r0, c1, c0, 0 mcr p15, 0, r0, c1, c0, 0
*/
//Start start //Start start
blx start blx start

View file

@ -4,8 +4,7 @@ if config["ENABLE_I2C"]:
config["PROTECT_MCU"] = get_yes_no("Prevent writes to MCU firmware (Device 3, Register 5)", True) config["PROTECT_MCU"] = get_yes_no("Prevent writes to MCU firmware (Device 3, Register 5)", True)
config["ENABLE_SCREENINIT"] = get_yes_no("Enable screeninit.", True) config["ENABLE_SCREENINIT"] = get_yes_no("Enable screeninit.", True)
add_driver(False, "i2c") add_driver(False, "i2c")
if config["ENABLE_SCREENINIT"]: add_driver(False, "mcu")
add_driver(False, "mcu")
add_driver(True, "framebuffer") add_driver(True, "framebuffer")
add_driver(False, "picafb") add_driver(False, "picafb")
print("Enable complete Unicode font: NO (because of the size)") print("Enable complete Unicode font: NO (because of the size)")