From c6a2f5b7bdee378cc868ee9284e760ebbdf635f0 Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Mon, 7 Aug 2023 12:42:10 -0400 Subject: [PATCH] rt_hw_cpu_shutdown: implement default weak function and remvoe duplicated default functions in each cpu/bsp level --- bsp/allwinner_tina/libcpu/cpuport.c | 2 +- bsp/bluetrum/libcpu/cpu/cpuport.c | 13 ------------- bsp/imx6sx/cortex-a9/cpu/cpu.c | 11 ----------- bsp/mipssim/drivers/board.c | 22 ---------------------- bsp/raspberry-pi/raspi2/cpu/cpu.c | 11 ----------- bsp/raspberry-pi/raspi3-32/cpu/cpu.c | 12 ------------ bsp/rockchip/rk3568/driver/board.c | 2 +- documentation/doxygen/hardware.h | 10 ---------- libcpu/aarch64/common/cpu.c | 2 +- libcpu/aarch64/common/cpu.h | 2 -- libcpu/arc/em/cpuport.c | 8 -------- libcpu/arm/AT91SAM7S/cpu.c | 19 ------------------- libcpu/arm/AT91SAM7X/cpu.c | 18 ------------------ libcpu/arm/am335x/cpu.c | 2 +- libcpu/arm/arm926/cpuport.c | 2 +- libcpu/arm/armv6/cpuport.c | 2 +- libcpu/arm/cortex-a/cpuport.c | 2 +- libcpu/arm/cortex-m3/cpuport.c | 10 ---------- libcpu/arm/cortex-m33/cpuport.c | 10 ---------- libcpu/arm/cortex-m4/cpuport.c | 10 ---------- libcpu/arm/cortex-m7/cpuport.c | 10 ---------- libcpu/arm/cortex-r4/cpu.c | 19 ------------------- libcpu/arm/dm36x/cpuport.c | 2 +- libcpu/arm/lpc214x/cpuport.c | 19 ------------------- libcpu/arm/lpc24xx/cpu.c | 19 ------------------- libcpu/arm/realview-a8-vmm/cpu.c | 13 ------------- libcpu/arm/s3c24x0/cpu.c | 15 --------------- libcpu/arm/s3c44b0/cpu.c | 19 ------------------- libcpu/arm/sep4020/cpu.c | 16 ---------------- libcpu/arm/zynqmp-r5/cpu.c | 16 ---------------- libcpu/avr32/uc3/cpu.c | 9 --------- libcpu/mips/gs232/cpuport.c | 12 ------------ libcpu/risc-v/common/cpuport.c | 13 ------------- libcpu/risc-v/t-head/c906/cpuport.c | 2 +- libcpu/risc-v/virt64/cpuport.c | 2 +- libcpu/rx/cpuport.c | 11 ----------- libcpu/ti-dsp/c28x/cpuport.c | 10 ---------- libcpu/ti-dsp/c6x/cpuport.c | 15 --------------- libcpu/unicore32/sep6200/cpu.c | 2 +- libcpu/xilinx/microblaze/cpu.c | 11 ----------- src/kservice.c | 14 ++++++++++++++ 41 files changed, 25 insertions(+), 394 deletions(-) diff --git a/bsp/allwinner_tina/libcpu/cpuport.c b/bsp/allwinner_tina/libcpu/cpuport.c index 94f2baf415..37d6469955 100644 --- a/bsp/allwinner_tina/libcpu/cpuport.c +++ b/bsp/allwinner_tina/libcpu/cpuport.c @@ -160,7 +160,7 @@ void rt_hw_cpu_reset() * shutdown CPU * */ -void rt_hw_cpu_shutdown() +void rt_hw_cpu_shutdown(void) { rt_uint32_t level; rt_kprintf("shutdown...\n"); diff --git a/bsp/bluetrum/libcpu/cpu/cpuport.c b/bsp/bluetrum/libcpu/cpu/cpuport.c index a2d405ccdd..d292585028 100644 --- a/bsp/bluetrum/libcpu/cpu/cpuport.c +++ b/bsp/bluetrum/libcpu/cpu/cpuport.c @@ -52,16 +52,3 @@ rt_uint8_t *rt_hw_stack_init(void *tentry, /* return task's current stack address */ return (rt_uint8_t *)stk; } - -/** shutdown CPU */ -void rt_hw_cpu_shutdown(void) -{ - rt_uint32_t level; - rt_kprintf("shutdown...\n"); - - level = rt_hw_interrupt_disable(); - while (level) - { - RT_ASSERT(0); - } -} diff --git a/bsp/imx6sx/cortex-a9/cpu/cpu.c b/bsp/imx6sx/cortex-a9/cpu/cpu.c index 2d78715011..ec44c1493b 100644 --- a/bsp/imx6sx/cortex-a9/cpu/cpu.c +++ b/bsp/imx6sx/cortex-a9/cpu/cpu.c @@ -17,17 +17,6 @@ */ /*@{*/ -/** shutdown CPU */ -void rt_hw_cpu_shutdown() -{ - rt_uint32_t level; - rt_kprintf("shutdown...\n"); - level = rt_hw_interrupt_disable(); - while (level) - { - RT_ASSERT(0); - } -} /*@}*/ diff --git a/bsp/mipssim/drivers/board.c b/bsp/mipssim/drivers/board.c index a0ef220bc7..9c295f0a28 100644 --- a/bsp/mipssim/drivers/board.c +++ b/bsp/mipssim/drivers/board.c @@ -26,28 +26,6 @@ extern unsigned char __bss_end; -/** - * this function will reset CPU - * - */ -void rt_hw_cpu_reset(void) -{ - rt_kprintf("reboot system...\n"); - while (1); -} - -/** - * this function will shutdown CPU - * - */ -void rt_hw_cpu_shutdown(void) -{ - rt_kprintf("shutdown...\n"); - - while (1); -} - - /** * This is the timer interrupt service routine. */ diff --git a/bsp/raspberry-pi/raspi2/cpu/cpu.c b/bsp/raspberry-pi/raspi2/cpu/cpu.c index 5f82671c1b..78dce1a237 100644 --- a/bsp/raspberry-pi/raspi2/cpu/cpu.c +++ b/bsp/raspberry-pi/raspi2/cpu/cpu.c @@ -17,17 +17,6 @@ */ /*@{*/ -/** shutdown CPU */ -void rt_hw_cpu_shutdown() -{ - rt_uint32_t level; - rt_kprintf("shutdown...\n"); - level = rt_hw_interrupt_disable(); - while (level) - { - RT_ASSERT(0); - } -} /*@}*/ diff --git a/bsp/raspberry-pi/raspi3-32/cpu/cpu.c b/bsp/raspberry-pi/raspi3-32/cpu/cpu.c index b43b804597..d0a583e96b 100644 --- a/bsp/raspberry-pi/raspi3-32/cpu/cpu.c +++ b/bsp/raspberry-pi/raspi3-32/cpu/cpu.c @@ -75,17 +75,5 @@ void rt_hw_spin_unlock(rt_hw_spinlock_t *lock) */ /*@{*/ -/** shutdown CPU */ -void rt_hw_cpu_shutdown() -{ - rt_uint32_t level; - rt_kprintf("shutdown...\n"); - - level = rt_hw_interrupt_disable(); - while (level) - { - RT_ASSERT(0); - } -} /*@}*/ diff --git a/bsp/rockchip/rk3568/driver/board.c b/bsp/rockchip/rk3568/driver/board.c index 06197763d3..5fdbe52ea0 100644 --- a/bsp/rockchip/rk3568/driver/board.c +++ b/bsp/rockchip/rk3568/driver/board.c @@ -133,7 +133,7 @@ void start_cpu(int argc, char *argv[]) MSH_CMD_EXPORT(start_cpu, start_cpu); #ifdef RT_AMP_SLAVE -void rt_hw_cpu_shutdown() +void rt_hw_cpu_shutdown(void) { if (psci_ops.cpu_off) { diff --git a/documentation/doxygen/hardware.h b/documentation/doxygen/hardware.h index bc05274998..9f613c272e 100644 --- a/documentation/doxygen/hardware.h +++ b/documentation/doxygen/hardware.h @@ -74,14 +74,4 @@ void rt_hw_interrupt_umask(int vector); void rt_hw_interrupt_install(int vector, rt_isr_handler_t new_handler, rt_isr_handler_t *old_handler); -/** - * This function will reset whole platform. - */ -void rt_hw_cpu_reset(void); - -/** - * This function will halt whole platform. - */ -void rt_hw_cpu_shutdown(void); - /**@}*/ diff --git a/libcpu/aarch64/common/cpu.c b/libcpu/aarch64/common/cpu.c index 8953b64556..7aeb59f634 100644 --- a/libcpu/aarch64/common/cpu.c +++ b/libcpu/aarch64/common/cpu.c @@ -357,7 +357,7 @@ const char *rt_hw_cpu_arch(void) } /** shutdown CPU */ -rt_weak void rt_hw_cpu_shutdown() +void rt_hw_cpu_shutdown(void) { rt_uint32_t level; rt_kprintf("shutdown...\n"); diff --git a/libcpu/aarch64/common/cpu.h b/libcpu/aarch64/common/cpu.h index 28044bb185..e3efaec485 100644 --- a/libcpu/aarch64/common/cpu.h +++ b/libcpu/aarch64/common/cpu.h @@ -56,8 +56,6 @@ extern struct cpu_ops_t cpu_ops_spin_tbl; #endif /* RT_USING_SMP */ -extern void rt_hw_cpu_shutdown(void); - extern void (*system_off)(void); #endif /* __RT_HW_CPU_H__ */ \ No newline at end of file diff --git a/libcpu/arc/em/cpuport.c b/libcpu/arc/em/cpuport.c index 679e2e78ee..b7653a5c21 100644 --- a/libcpu/arc/em/cpuport.c +++ b/libcpu/arc/em/cpuport.c @@ -29,14 +29,6 @@ struct init_stack_frame { rt_uint32_t r0; }; -/** - * shutdown CPU - */ -rt_weak void rt_hw_cpu_shutdown(void) -{ - -} - rt_uint8_t *rt_hw_stack_init(void *tentry, void *parameter, rt_uint8_t *stack_addr, diff --git a/libcpu/arm/AT91SAM7S/cpu.c b/libcpu/arm/AT91SAM7S/cpu.c index e05f8f29ab..8cab991b6a 100644 --- a/libcpu/arm/AT91SAM7S/cpu.c +++ b/libcpu/arm/AT91SAM7S/cpu.c @@ -16,23 +16,4 @@ */ /*@{*/ -/** - * this function will reset CPU - * - */ -void rt_hw_cpu_reset() -{ -} - -/** - * this function will shutdown CPU - * - */ -rt_weak void rt_hw_cpu_shutdown() -{ - rt_kprintf("shutdown...\n"); - - while (1); -} - /*@}*/ diff --git a/libcpu/arm/AT91SAM7X/cpu.c b/libcpu/arm/AT91SAM7X/cpu.c index 5406ddf294..bac6dc5cdb 100644 --- a/libcpu/arm/AT91SAM7X/cpu.c +++ b/libcpu/arm/AT91SAM7X/cpu.c @@ -16,23 +16,5 @@ */ /*@{*/ -/** - * this function will reset CPU - * - */ -void rt_hw_cpu_reset() -{ -} - -/** - * this function will shutdown CPU - * - */ -rt_weak void rt_hw_cpu_shutdown() -{ - rt_kprintf("shutdown...\n"); - - while (1); -} /*@}*/ diff --git a/libcpu/arm/am335x/cpu.c b/libcpu/arm/am335x/cpu.c index d91542fbb9..7fcbc06d1a 100644 --- a/libcpu/arm/am335x/cpu.c +++ b/libcpu/arm/am335x/cpu.c @@ -182,7 +182,7 @@ rt_base_t rt_hw_cpu_dcache_status() * shutdown CPU * */ -rt_weak void rt_hw_cpu_shutdown() +void rt_hw_cpu_shutdown(void) { rt_base_t level; rt_kprintf("shutdown...\n"); diff --git a/libcpu/arm/arm926/cpuport.c b/libcpu/arm/arm926/cpuport.c index caf0c46a39..45ed6d7e83 100644 --- a/libcpu/arm/arm926/cpuport.c +++ b/libcpu/arm/arm926/cpuport.c @@ -161,7 +161,7 @@ void rt_hw_cpu_reset() * shutdown CPU * */ -rt_weak void rt_hw_cpu_shutdown() +void rt_hw_cpu_shutdown(void) { rt_base_t level; rt_kprintf("shutdown...\n"); diff --git a/libcpu/arm/armv6/cpuport.c b/libcpu/arm/armv6/cpuport.c index aafd9bbfff..f7d6ab44f6 100644 --- a/libcpu/arm/armv6/cpuport.c +++ b/libcpu/arm/armv6/cpuport.c @@ -162,7 +162,7 @@ void rt_hw_cpu_reset() * shutdown CPU * */ -rt_weak void rt_hw_cpu_shutdown() +void rt_hw_cpu_shutdown(void) { rt_base_t level; rt_kprintf("shutdown...\n"); diff --git a/libcpu/arm/cortex-a/cpuport.c b/libcpu/arm/cortex-a/cpuport.c index ec523f2aa7..ac947fb823 100644 --- a/libcpu/arm/cortex-a/cpuport.c +++ b/libcpu/arm/cortex-a/cpuport.c @@ -74,7 +74,7 @@ void rt_hw_spin_unlock(rt_hw_spinlock_t *lock) /*@{*/ /** shutdown CPU */ -rt_weak void rt_hw_cpu_shutdown() +void rt_hw_cpu_shutdown(void) { rt_base_t level; rt_kprintf("shutdown...\n"); diff --git a/libcpu/arm/cortex-m3/cpuport.c b/libcpu/arm/cortex-m3/cpuport.c index 632f1f762b..8f5616a3dd 100644 --- a/libcpu/arm/cortex-m3/cpuport.c +++ b/libcpu/arm/cortex-m3/cpuport.c @@ -343,16 +343,6 @@ void rt_hw_hard_fault_exception(struct exception_info * exception_info) while (1); } -/** - * shutdown CPU - */ -rt_weak void rt_hw_cpu_shutdown(void) -{ - rt_kprintf("shutdown...\n"); - - RT_ASSERT(0); -} - /** * reset CPU */ diff --git a/libcpu/arm/cortex-m33/cpuport.c b/libcpu/arm/cortex-m33/cpuport.c index 44e1d466d3..749932c609 100644 --- a/libcpu/arm/cortex-m33/cpuport.c +++ b/libcpu/arm/cortex-m33/cpuport.c @@ -485,16 +485,6 @@ void rt_hw_hard_fault_exception(struct exception_info *exception_info) while (1); } -/** - * shutdown CPU - */ -rt_weak void rt_hw_cpu_shutdown(void) -{ - rt_kprintf("shutdown...\n"); - - RT_ASSERT(0); -} - /** * reset CPU */ diff --git a/libcpu/arm/cortex-m4/cpuport.c b/libcpu/arm/cortex-m4/cpuport.c index 488613ee63..9504008e36 100644 --- a/libcpu/arm/cortex-m4/cpuport.c +++ b/libcpu/arm/cortex-m4/cpuport.c @@ -428,16 +428,6 @@ void rt_hw_hard_fault_exception(struct exception_info *exception_info) while (1); } -/** - * shutdown CPU - */ -rt_weak void rt_hw_cpu_shutdown(void) -{ - rt_kprintf("shutdown...\n"); - - RT_ASSERT(0); -} - /** * reset CPU */ diff --git a/libcpu/arm/cortex-m7/cpuport.c b/libcpu/arm/cortex-m7/cpuport.c index c2faae245f..d4a14decc9 100644 --- a/libcpu/arm/cortex-m7/cpuport.c +++ b/libcpu/arm/cortex-m7/cpuport.c @@ -427,16 +427,6 @@ void rt_hw_hard_fault_exception(struct exception_info *exception_info) while (1); } -/** - * shutdown CPU - */ -rt_weak void rt_hw_cpu_shutdown(void) -{ - rt_kprintf("shutdown...\n"); - - RT_ASSERT(0); -} - /** * reset CPU */ diff --git a/libcpu/arm/cortex-r4/cpu.c b/libcpu/arm/cortex-r4/cpu.c index 0a18b6b607..fa60a0cf5e 100644 --- a/libcpu/arm/cortex-r4/cpu.c +++ b/libcpu/arm/cortex-r4/cpu.c @@ -16,25 +16,6 @@ */ /*@{*/ -/** - * this function will reset CPU - * - */ -void rt_hw_cpu_reset() -{ -} - -/** - * this function will shutdown CPU - * - */ -rt_weak void rt_hw_cpu_shutdown() -{ - rt_kprintf("shutdown...\n"); - - while (1); -} - #ifdef __TI_COMPILER_VERSION__ #ifdef RT_USING_CPU_FFS int __rt_ffs(int value) diff --git a/libcpu/arm/dm36x/cpuport.c b/libcpu/arm/dm36x/cpuport.c index 697f4460ce..b25e6b7f43 100644 --- a/libcpu/arm/dm36x/cpuport.c +++ b/libcpu/arm/dm36x/cpuport.c @@ -160,7 +160,7 @@ void rt_hw_cpu_reset() * shutdown CPU * */ -rt_weak void rt_hw_cpu_shutdown() +void rt_hw_cpu_shutdown(void) { rt_base_t level; rt_kprintf("shutdown...\n"); diff --git a/libcpu/arm/lpc214x/cpuport.c b/libcpu/arm/lpc214x/cpuport.c index 91fa2d761f..4b8896aa73 100644 --- a/libcpu/arm/lpc214x/cpuport.c +++ b/libcpu/arm/lpc214x/cpuport.c @@ -159,25 +159,6 @@ rt_isr_handler_t rt_hw_interrupt_install(int vector, rt_isr_handler_t handler, return old_handler; } -/** - * this function will reset CPU - * - */ -void rt_hw_cpu_reset(void) -{ -} - -/** - * this function will shutdown CPU - * - */ -rt_weak void rt_hw_cpu_shutdown() -{ - rt_kprintf("shutdown...\n"); - - while (1); -} - void rt_hw_trap_irq(void) { int irqno; diff --git a/libcpu/arm/lpc24xx/cpu.c b/libcpu/arm/lpc24xx/cpu.c index 9871debee6..5f0987f967 100644 --- a/libcpu/arm/lpc24xx/cpu.c +++ b/libcpu/arm/lpc24xx/cpu.c @@ -16,23 +16,4 @@ */ /*@{*/ -/** - * this function will reset CPU - * - */ -void rt_hw_cpu_reset() -{ -} - -/** - * this function will shutdown CPU - * - */ -rt_weak void rt_hw_cpu_shutdown() -{ - rt_kprintf("shutdown...\n"); - - while (1); -} - /*@}*/ diff --git a/libcpu/arm/realview-a8-vmm/cpu.c b/libcpu/arm/realview-a8-vmm/cpu.c index 95c122f1d2..0eee5a70ee 100644 --- a/libcpu/arm/realview-a8-vmm/cpu.c +++ b/libcpu/arm/realview-a8-vmm/cpu.c @@ -17,17 +17,4 @@ */ /*@{*/ -/** shutdown CPU */ -rt_weak void rt_hw_cpu_shutdown() -{ - rt_base_t level; - rt_kprintf("shutdown...\n"); - - level = rt_hw_interrupt_disable(); - while (level) - { - RT_ASSERT(0); - } -} - /*@}*/ diff --git a/libcpu/arm/s3c24x0/cpu.c b/libcpu/arm/s3c24x0/cpu.c index 12fbc9c33a..41e9c4a78b 100644 --- a/libcpu/arm/s3c24x0/cpu.c +++ b/libcpu/arm/s3c24x0/cpu.c @@ -167,20 +167,5 @@ void rt_hw_cpu_reset() /* NEVER REACHED */ } -/** - * shutdown CPU - * - */ -rt_weak void rt_hw_cpu_shutdown() -{ - rt_base_t level; - rt_kprintf("shutdown...\n"); - - level = rt_hw_interrupt_disable(); - while (level) - { - RT_ASSERT(0); - } -} /*@}*/ diff --git a/libcpu/arm/s3c44b0/cpu.c b/libcpu/arm/s3c44b0/cpu.c index e4ea96f74e..8bda7e365c 100644 --- a/libcpu/arm/s3c44b0/cpu.c +++ b/libcpu/arm/s3c44b0/cpu.c @@ -96,23 +96,4 @@ rt_base_t rt_hw_cpu_dcache_status() return rt_hw_cpu_icache_status(); } -/** - * this function will reset CPU - * - */ -void rt_hw_cpu_reset() -{ -} - -/** - * this function will shutdown CPU - * - */ -rt_weak void rt_hw_cpu_shutdown() -{ - rt_kprintf("shutdown...\n"); - - while (1); -} - /*@}*/ diff --git a/libcpu/arm/sep4020/cpu.c b/libcpu/arm/sep4020/cpu.c index 343fcf3612..2ceb1e2ae7 100644 --- a/libcpu/arm/sep4020/cpu.c +++ b/libcpu/arm/sep4020/cpu.c @@ -169,20 +169,4 @@ void rt_hw_cpu_reset() /* NEVER REACHED */ } -/** - * shutdown CPU - * - */ -rt_weak void rt_hw_cpu_shutdown() -{ - rt_base_t level; - rt_kprintf("shutdown...\n"); - - level = rt_hw_interrupt_disable(); - while (level) - { - RT_ASSERT(RT_NULL); - } -} - /*@}*/ diff --git a/libcpu/arm/zynqmp-r5/cpu.c b/libcpu/arm/zynqmp-r5/cpu.c index 788df69d6c..c14a29e9bf 100644 --- a/libcpu/arm/zynqmp-r5/cpu.c +++ b/libcpu/arm/zynqmp-r5/cpu.c @@ -18,19 +18,3 @@ void rt_hw_cpu_reset() while (1); /* loop forever and wait for reset to happen */ /* NEVER REACHED */ } - -/** - * shutdown CPU - * - */ -void rt_hw_cpu_shutdown() -{ - rt_base_t level; - rt_kprintf("shutdown...\n"); - - level = rt_hw_interrupt_disable(); - while (level) - { - RT_ASSERT(0); - } -} diff --git a/libcpu/avr32/uc3/cpu.c b/libcpu/avr32/uc3/cpu.c index 36e7611582..a6d187ef41 100644 --- a/libcpu/avr32/uc3/cpu.c +++ b/libcpu/avr32/uc3/cpu.c @@ -15,15 +15,6 @@ */ /*@{*/ -/** - * shutdown CPU - * - */ -void rt_hw_cpu_shutdown() -{ - rt_kprintf("shutdown...\n"); - RT_ASSERT(0); -} /*@}*/ diff --git a/libcpu/mips/gs232/cpuport.c b/libcpu/mips/gs232/cpuport.c index aa0234e672..c473eed50c 100644 --- a/libcpu/mips/gs232/cpuport.c +++ b/libcpu/mips/gs232/cpuport.c @@ -34,18 +34,6 @@ void rt_hw_cpu_reset(void) while (1); } -/** - * this function will shutdown CPU - * - */ -rt_weak void rt_hw_cpu_shutdown(void) -{ - rt_kprintf("shutdown...\n"); - - while (1); -} - - #define Hit_Invalidate_I 0x10 #define Hit_Invalidate_D 0x11 #define CONFIG_SYS_CACHELINE_SIZE 32 diff --git a/libcpu/risc-v/common/cpuport.c b/libcpu/risc-v/common/cpuport.c index 25c884b2e5..502a8fcbf3 100644 --- a/libcpu/risc-v/common/cpuport.c +++ b/libcpu/risc-v/common/cpuport.c @@ -97,16 +97,3 @@ rt_weak void rt_hw_context_switch_interrupt(rt_ubase_t from, rt_ubase_t to, rt_t return ; } #endif /* end of RT_USING_SMP */ - -/** shutdown CPU */ -rt_weak void rt_hw_cpu_shutdown() -{ - rt_base_t level; - rt_kprintf("shutdown...\n"); - - level = rt_hw_interrupt_disable(); - while (level) - { - RT_ASSERT(0); - } -} diff --git a/libcpu/risc-v/t-head/c906/cpuport.c b/libcpu/risc-v/t-head/c906/cpuport.c index 142a071362..c4f88bdacd 100644 --- a/libcpu/risc-v/t-head/c906/cpuport.c +++ b/libcpu/risc-v/t-head/c906/cpuport.c @@ -106,7 +106,7 @@ void rt_hw_context_switch_interrupt(rt_ubase_t from, rt_ubase_t to, rt_thread_t #endif /* end of RT_USING_SMP */ /** shutdown CPU */ -void rt_hw_cpu_shutdown() +void rt_hw_cpu_shutdown(void) { rt_uint32_t level; rt_kprintf("shutdown...\n"); diff --git a/libcpu/risc-v/virt64/cpuport.c b/libcpu/risc-v/virt64/cpuport.c index 0979f227e8..33d9e83c04 100644 --- a/libcpu/risc-v/virt64/cpuport.c +++ b/libcpu/risc-v/virt64/cpuport.c @@ -108,7 +108,7 @@ void rt_hw_context_switch_interrupt(rt_ubase_t from, rt_ubase_t to, rt_thread_t #endif /* end of RT_USING_SMP */ /** shutdown CPU */ -void rt_hw_cpu_shutdown() +void rt_hw_cpu_shutdown(void) { rt_uint32_t level; rt_kprintf("shutdown...\n"); diff --git a/libcpu/rx/cpuport.c b/libcpu/rx/cpuport.c index 3425b6b9c9..37ee47c042 100644 --- a/libcpu/rx/cpuport.c +++ b/libcpu/rx/cpuport.c @@ -174,17 +174,6 @@ void rt_hw_context_switch_interrupt(rt_uint32_t from, rt_uint32_t to) ENTER_INTERRUPT(); } -/** - * shut down the chip - * - * @author LXZ (2014/11/8) - */ -rt_weak void rt_hw_cpu_shutdown(void) -{ - rt_kprintf("shutdown...\n"); - - RT_ASSERT(0); -} /** * switch to the first thread,it just call one time * diff --git a/libcpu/ti-dsp/c28x/cpuport.c b/libcpu/ti-dsp/c28x/cpuport.c index c1c1141413..ffb40fee77 100644 --- a/libcpu/ti-dsp/c28x/cpuport.c +++ b/libcpu/ti-dsp/c28x/cpuport.c @@ -158,16 +158,6 @@ int __rt_ffs(int value) } #endif -/** - * shutdown CPU - */ -rt_weak void rt_hw_cpu_shutdown(void) -{ - rt_kprintf("shutdown...\n"); - - RT_ASSERT(0); -} - void rt_interrupt_enter(void) { rt_base_t level; diff --git a/libcpu/ti-dsp/c6x/cpuport.c b/libcpu/ti-dsp/c6x/cpuport.c index 31f1255a2d..dccfab995a 100644 --- a/libcpu/ti-dsp/c6x/cpuport.c +++ b/libcpu/ti-dsp/c6x/cpuport.c @@ -13,21 +13,6 @@ #include "trap.h" -/*------------ rt_hw_cpu_shutdown() function ---------------------------------- - * DESCRIPTION: Shutdown CPU - * ARGUMENTS: - * None - * RETURNED VALUE: None ------------------------------------------------------------------------------*/ -rt_weak void rt_hw_cpu_shutdown(void) -{ - rt_kprintf("shutdown...\n"); - - rt_hw_interrupt_disable(); - - RT_ASSERT(0); -} - /*------------ nested_exception_handler() function --------------------------- * DESCRIPTION: Function handles Nested Exception * ARGUMENTS: diff --git a/libcpu/unicore32/sep6200/cpu.c b/libcpu/unicore32/sep6200/cpu.c index 219c37d344..02ad39caa0 100644 --- a/libcpu/unicore32/sep6200/cpu.c +++ b/libcpu/unicore32/sep6200/cpu.c @@ -260,7 +260,7 @@ void rt_hw_cpu_reset() * shutdown CPU * */ -rt_weak void rt_hw_cpu_shutdown() +void rt_hw_cpu_shutdown(void) { rt_base_t level; rt_kprintf("shutdown...\n"); diff --git a/libcpu/xilinx/microblaze/cpu.c b/libcpu/xilinx/microblaze/cpu.c index 36617c26d1..1fa99810e3 100755 --- a/libcpu/xilinx/microblaze/cpu.c +++ b/libcpu/xilinx/microblaze/cpu.c @@ -10,14 +10,3 @@ #include -/** - * this function will shutdown CPU - * - */ -rt_weak void rt_hw_cpu_shutdown() -{ - rt_kprintf("shutdown...\n"); - - while (1); -} - diff --git a/src/kservice.c b/src/kservice.c index 6c9389dfc5..1a8c047120 100644 --- a/src/kservice.c +++ b/src/kservice.c @@ -77,6 +77,20 @@ rt_weak void rt_hw_cpu_reset(void) return; } +rt_weak void rt_hw_cpu_shutdown(void) +{ + rt_base_t level; + LOG_I("CPU shutdown..."); + LOG_W("Using default rt_hw_cpu_shutdown()." + "Please consider implementing rt_hw_cpu_reset() in another file."); + level = rt_hw_interrupt_disable(); + while (level) + { + RT_ASSERT(RT_NULL); + } + return; +} + rt_weak const char *rt_hw_cpu_arch(void) { return "unknown";