diff --git a/Kconfig b/Kconfig index 17ade6bf29f4998fd3022a6dc492da65c13f4986..d7196d706e6afbfc1f5eb13840a0b331a3f04a4a 100644 --- a/Kconfig +++ b/Kconfig @@ -94,7 +94,7 @@ menu "Platform" ######################### config options of bsp ##################### config PLATFORM string - default "virt" if PLATFORM_QEMU_ARM_VIRT_CM7 || PLATFORM_QEMU_ARM_VIRT_CM4 || PLATFORM_QEMU_ARM_VIRT_CM55 || PRODUCT_QEMU_RISCV32_VIRT || PLATFORM_QEMU_CSKY_SMARTL || PLATFORM_QEMU_XTENSA_ESP32 + default "virt" if PLATFORM_QEMU_ARM_VIRT_CM7 || PLATFORM_QEMU_ARM_VIRT_CM4 || PLATFORM_QEMU_ARM_VIRT_CM55 || PRODUCT_QEMU_RISCV32_VIRT || PLATFORM_QEMU_CSKY_SMARTL || PLATFORM_QEMU_XTENSA_ESP32 || PLATFORM_QEMU_ARM_VIRT_ARM9 config PRODUCT_NAME string @@ -104,10 +104,11 @@ config PRODUCT_NAME default "riscv32_virt" if PRODUCT_QEMU_RISCV32_VIRT default "csky_smartl_e802" if PRODUCT_QEMU_CSKY_SMARTL_E802 default "xtensa_esp32" if PRODUCT_QEMU_XTENSA_ESP32 + default "arm_968es" if PRODUCT_QEMU_ARM_968ES config DEVICE_COMPANY string - default "qemu" if PLATFORM_QEMU_ARM_VIRT_CM7 || PLATFORM_QEMU_ARM_VIRT_CM4 || PLATFORM_QEMU_ARM_VIRT_CM55 || PRODUCT_QEMU_RISCV32_VIRT || PLATFORM_QEMU_CSKY_SMARTL || PLATFORM_QEMU_XTENSA_ESP32 + default "qemu" if PLATFORM_QEMU_ARM_VIRT_CM7 || PLATFORM_QEMU_ARM_VIRT_CM4 || PLATFORM_QEMU_ARM_VIRT_CM55 || PRODUCT_QEMU_RISCV32_VIRT || PLATFORM_QEMU_CSKY_SMARTL || PLATFORM_QEMU_XTENSA_ESP32 || PLATFORM_QEMU_ARM_VIRT_ARM9 choice prompt "Chip" @@ -119,6 +120,13 @@ choice - qemu_riscv32_virt - qemu_csky_smartl - qemu_xtensa_esp32 + - qemu_arm_968es + +config PLATFORM_QEMU_ARM_VIRT_ARM9 + bool "qemu_arm_968es" + select ARCH_ARM9 + help + QEMU ARM Virtual Platform using ARM9 CPU. config PLATFORM_QEMU_ARM_VIRT_CM7 bool "qemu_arm_virt_cm7" @@ -166,6 +174,9 @@ choice config PRODUCT_QEMU_ARM bool "arm_virt" if PLATFORM_QEMU_ARM_VIRT_CM7 +config PRODUCT_QEMU_ARM_968ES + bool "arm_968es" if PLATFORM_QEMU_ARM_VIRT_ARM9 + config PRODUCT_QEMU_ARM_MPS2_AN386 bool "arm_mps2_an386" if PLATFORM_QEMU_ARM_VIRT_CM4 diff --git a/arch/arm/arm9/gcc/BUILD.gn b/arch/arm/arm9/gcc/BUILD.gn index 9ac2ce9b50ea4953220b47d1d61966827aa210fe..a155665a0cbc91cf5cbbf729752ab68253b201b9 100644 --- a/arch/arm/arm9/gcc/BUILD.gn +++ b/arch/arm/arm9/gcc/BUILD.gn @@ -37,7 +37,6 @@ kernel_module(module_name) { "los_exc.S", "los_interrupt.c", "los_timer.c", - "reset_vector.S", ] configs += [ "$LITEOSTOPDIR:warn_config" ] } diff --git a/arch/arm/arm9/gcc/los_dispatch.S b/arch/arm/arm9/gcc/los_dispatch.S index 3d9c17b03ec1dea26de8cb0952045d5f0d9526c4..5a0202576beeeed3e48b072cafeea28caae9f444 100644 --- a/arch/arm/arm9/gcc/los_dispatch.S +++ b/arch/arm/arm9/gcc/los_dispatch.S @@ -29,6 +29,11 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + .syntax unified + .arch armv5te + .fpu fpv4-sp-d16 + .thumb + .equ OS_PSR_THUMB, 0x20 .equ OS_PSR_INT_DIS, 0xC0 .equ OS_PSR_FIQ_DIS, 0x40 diff --git a/arch/arm/arm9/gcc/los_timer.c b/arch/arm/arm9/gcc/los_timer.c index 1b13f9beebab0ced0d450fccaf7508d0d1161e48..cff1c5faadc4dacc2318b960a9f6ebfb04c80325 100644 --- a/arch/arm/arm9/gcc/los_timer.c +++ b/arch/arm/arm9/gcc/los_timer.c @@ -41,10 +41,10 @@ #define OS_TIMER_INT_MASK 7 #define OS_TIMER_IRQ_NUM 8 #define OS_TIMER_ENABLE (1U << 0) -#define OS_TIMER_32K_CLK_BIT (1U << 21) +#define OS_TIMER_32K_CLK_BIT (1U << 20) #define OS_TIMER_CNT_READ_BIT (1U << 0) -#define OS_TIMER_REG_BASE 0x00802A40UL +#define OS_TIMER_REG_BASE 0x00802A00UL #define OS_TIMER_CLK_PWD_ADDR 0x00802008UL #define OS_TIMER_PERIOD_REG_ADDR (OS_TIMER_REG_BASE) #define OS_TIMER_CTL_REG_ADDR (OS_TIMER_REG_BASE + 12)