summaryrefslogtreecommitdiff
path: root/libcpu
diff options
context:
space:
mode:
authorthewon86 <[email protected]>2022-04-20 10:56:11 +0800
committerguo <[email protected]>2022-04-20 14:22:43 +0800
commitf5b0bfd3f4f450424b5bc1f084959d0436c8a6e6 (patch)
tree1081304c855cd4002a7f460e59561415bf3e95c1 /libcpu
parent5fa15a19a0917e762c8d10207544f2a0396fd15b (diff)
uniform code writing-disable interrupt
Diffstat (limited to 'libcpu')
-rw-r--r--libcpu/aarch64/common/cpu.c2
-rw-r--r--libcpu/aarch64/common/mmu.c2
-rw-r--r--libcpu/arm/am335x/cpu.c2
-rw-r--r--libcpu/arm/arm926/cpuport.c2
-rw-r--r--libcpu/arm/armv6/cpuport.c2
-rw-r--r--libcpu/arm/cortex-a/cpu.c2
-rw-r--r--libcpu/arm/dm36x/cpuport.c2
-rw-r--r--libcpu/arm/realview-a8-vmm/cpu.c2
-rw-r--r--libcpu/arm/s3c24x0/cpu.c2
-rw-r--r--libcpu/arm/sep4020/cpu.c10
-rw-r--r--libcpu/arm/zynqmp-r5/cpu.c2
-rw-r--r--libcpu/mips/common/exception.c2
-rw-r--r--libcpu/mips/gs264/mmu.c3
-rw-r--r--libcpu/ppc/ppc405/interrupt.c6
-rw-r--r--libcpu/risc-v/ch32v1/cpuport.c4
-rw-r--r--libcpu/risc-v/common/cpuport.c2
-rw-r--r--libcpu/risc-v/nuclei/cpuport.c2
-rw-r--r--libcpu/risc-v/t-head/e9xx/cpuport.c2
-rw-r--r--libcpu/risc-v/virt64/cpuport.c2
-rw-r--r--libcpu/unicore32/sep6200/cpu.c2
20 files changed, 29 insertions, 26 deletions
diff --git a/libcpu/aarch64/common/cpu.c b/libcpu/aarch64/common/cpu.c
index 3fb6c4c3d1..8dc6635ef4 100644
--- a/libcpu/aarch64/common/cpu.c
+++ b/libcpu/aarch64/common/cpu.c
@@ -98,7 +98,7 @@ void rt_hw_spin_unlock(rt_hw_spinlock_t *lock)
/** shutdown CPU */
RT_WEAK void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ register rt_int32_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/aarch64/common/mmu.c b/libcpu/aarch64/common/mmu.c
index 59292c6db2..777a0a5b1a 100644
--- a/libcpu/aarch64/common/mmu.c
+++ b/libcpu/aarch64/common/mmu.c
@@ -240,7 +240,7 @@ void rt_hw_mmu_init(void)
int rt_hw_mmu_map(unsigned long addr, unsigned long size, unsigned long attr)
{
int ret;
- rt_ubase_t level;
+ rt_base_t level;
level = rt_hw_interrupt_disable();
ret = rt_hw_mmu_setmtt(addr, addr + size, addr, attr);
diff --git a/libcpu/arm/am335x/cpu.c b/libcpu/arm/am335x/cpu.c
index 19161a1817..f04994af26 100644
--- a/libcpu/arm/am335x/cpu.c
+++ b/libcpu/arm/am335x/cpu.c
@@ -151,7 +151,7 @@ rt_base_t rt_hw_cpu_dcache_status()
*/
RT_WEAK void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/arm/arm926/cpuport.c b/libcpu/arm/arm926/cpuport.c
index 9148afa401..d27ee10d30 100644
--- a/libcpu/arm/arm926/cpuport.c
+++ b/libcpu/arm/arm926/cpuport.c
@@ -163,7 +163,7 @@ RT_WEAK void rt_hw_cpu_reset()
*/
RT_WEAK void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/arm/armv6/cpuport.c b/libcpu/arm/armv6/cpuport.c
index 6e82539c6e..232e7f0cec 100644
--- a/libcpu/arm/armv6/cpuport.c
+++ b/libcpu/arm/armv6/cpuport.c
@@ -164,7 +164,7 @@ RT_WEAK void rt_hw_cpu_reset()
*/
RT_WEAK void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/arm/cortex-a/cpu.c b/libcpu/arm/cortex-a/cpu.c
index c95c58a13c..7d1a389f08 100644
--- a/libcpu/arm/cortex-a/cpu.c
+++ b/libcpu/arm/cortex-a/cpu.c
@@ -65,7 +65,7 @@ void rt_hw_spin_unlock(rt_hw_spinlock_t *lock)
/** shutdown CPU */
RT_WEAK void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/arm/dm36x/cpuport.c b/libcpu/arm/dm36x/cpuport.c
index 435ca2f15f..a23dc323c6 100644
--- a/libcpu/arm/dm36x/cpuport.c
+++ b/libcpu/arm/dm36x/cpuport.c
@@ -162,7 +162,7 @@ RT_WEAK void rt_hw_cpu_reset()
*/
RT_WEAK void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/arm/realview-a8-vmm/cpu.c b/libcpu/arm/realview-a8-vmm/cpu.c
index 8c5a6d16dd..48e859e4e5 100644
--- a/libcpu/arm/realview-a8-vmm/cpu.c
+++ b/libcpu/arm/realview-a8-vmm/cpu.c
@@ -20,7 +20,7 @@
/** shutdown CPU */
RT_WEAK void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/arm/s3c24x0/cpu.c b/libcpu/arm/s3c24x0/cpu.c
index 3a72782ae4..06db937eb9 100644
--- a/libcpu/arm/s3c24x0/cpu.c
+++ b/libcpu/arm/s3c24x0/cpu.c
@@ -173,7 +173,7 @@ RT_WEAK void rt_hw_cpu_reset()
*/
RT_WEAK void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/arm/sep4020/cpu.c b/libcpu/arm/sep4020/cpu.c
index 256ede56e9..2977f38f4c 100644
--- a/libcpu/arm/sep4020/cpu.c
+++ b/libcpu/arm/sep4020/cpu.c
@@ -11,7 +11,7 @@
#include <rtthread.h>
#include <sep4020.h>
-extern rt_uint32_t rt_hw_interrupt_disable(void);
+extern rt_base_t rt_hw_interrupt_disable(void);
//TODO
#warning I DON'T KNOW IF THE MMU OPERATION WORKS ON SEP4020
@@ -175,12 +175,14 @@ RT_WEAK void rt_hw_cpu_reset()
*/
RT_WEAK void rt_hw_cpu_shutdown()
{
- rt_uint32_t UNUSED level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
-
- RT_ASSERT(RT_NULL);
+ while (level)
+ {
+ RT_ASSERT(RT_NULL);
+ }
}
/*@}*/
diff --git a/libcpu/arm/zynqmp-r5/cpu.c b/libcpu/arm/zynqmp-r5/cpu.c
index d0f1b0204c..788df69d6c 100644
--- a/libcpu/arm/zynqmp-r5/cpu.c
+++ b/libcpu/arm/zynqmp-r5/cpu.c
@@ -25,7 +25,7 @@ void rt_hw_cpu_reset()
*/
void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/mips/common/exception.c b/libcpu/mips/common/exception.c
index 9c9858f5e1..ca048a926b 100644
--- a/libcpu/mips/common/exception.c
+++ b/libcpu/mips/common/exception.c
@@ -61,7 +61,7 @@ const char *exception_name[] = {
rt_base_t rt_hw_interrupt_disable(void)
{
- rt_base_t status = read_c0_status();
+ register rt_base_t status = read_c0_status();
clear_c0_status(ST0_IE);
return status;
}
diff --git a/libcpu/mips/gs264/mmu.c b/libcpu/mips/gs264/mmu.c
index 2ba6d92106..1dcf0a445d 100644
--- a/libcpu/mips/gs264/mmu.c
+++ b/libcpu/mips/gs264/mmu.c
@@ -803,7 +803,8 @@ void *rt_hw_mmu_v2p(rt_mmu_info *mmu_info, void* v_addr)
}
#ifdef RT_USING_USERSPACE
-void init_mm_setup(unsigned int *mtbl, unsigned int size, unsigned int pv_off) {
+void init_mm_setup(unsigned int *mtbl, unsigned int size, unsigned int pv_off)
+{
unsigned int va;
for (va = 0; va < 0x1000; va++) {
diff --git a/libcpu/ppc/ppc405/interrupt.c b/libcpu/ppc/ppc405/interrupt.c
index 72477fcb04..79607691f4 100644
--- a/libcpu/ppc/ppc405/interrupt.c
+++ b/libcpu/ppc/ppc405/interrupt.c
@@ -77,7 +77,7 @@ void uic_interrupt(rt_uint32_t uic_base, int vec_base)
rt_isr_handler_t rt_hw_interrupt_install(int vector, rt_isr_handler_t new_handler,
void* param, const char* name)
{
- int intVal;
+ rt_base_t level;
rt_isr_handler_t old_handler;
if (((int)vector < 0) || ((int) vector >= MAX_HANDLERS))
@@ -86,13 +86,13 @@ rt_isr_handler_t rt_hw_interrupt_install(int vector, rt_isr_handler_t new_handle
}
/* install the handler in the system interrupt table */
- intVal = rt_hw_interrupt_disable (); /* lock interrupts to prevent races */
+ level = rt_hw_interrupt_disable(); /* lock interrupts to prevent races */
old_handler = isr_table[vector].handler;
isr_table[vector].handler = new_handler;
isr_table[vector].param = param;
- rt_hw_interrupt_enable (intVal);
+ rt_hw_interrupt_enable(level);
}
void rt_hw_interrupt_mask(int vector)
diff --git a/libcpu/risc-v/ch32v1/cpuport.c b/libcpu/risc-v/ch32v1/cpuport.c
index 754caeb250..3bd76ee561 100644
--- a/libcpu/risc-v/ch32v1/cpuport.c
+++ b/libcpu/risc-v/ch32v1/cpuport.c
@@ -151,7 +151,7 @@ void sw_clearpend(void)
*/
rt_base_t rt_hw_interrupt_disable(void)
{
- rt_base_t value = 0;
+ register rt_base_t value = 0;
asm("csrrw %0, mstatus, %1":"=r"(value):"r"(0x1800));
return value;
}
@@ -188,7 +188,7 @@ void rt_hw_context_switch_interrupt(rt_ubase_t from, rt_ubase_t to)
/* shutdown CPU */
void rt_hw_cpu_shutdown(void)
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/risc-v/common/cpuport.c b/libcpu/risc-v/common/cpuport.c
index 622e1bd321..97f34d8c4c 100644
--- a/libcpu/risc-v/common/cpuport.c
+++ b/libcpu/risc-v/common/cpuport.c
@@ -153,7 +153,7 @@ void rt_hw_context_switch_interrupt(rt_ubase_t from, rt_ubase_t to)
/** shutdown CPU */
RT_WEAK void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/risc-v/nuclei/cpuport.c b/libcpu/risc-v/nuclei/cpuport.c
index a107799937..88f3af8230 100644
--- a/libcpu/risc-v/nuclei/cpuport.c
+++ b/libcpu/risc-v/nuclei/cpuport.c
@@ -152,7 +152,7 @@ void rt_hw_context_switch(rt_ubase_t from, rt_ubase_t to)
*/
RT_WEAK void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/risc-v/t-head/e9xx/cpuport.c b/libcpu/risc-v/t-head/e9xx/cpuport.c
index 646220df56..824fe5240f 100644
--- a/libcpu/risc-v/t-head/e9xx/cpuport.c
+++ b/libcpu/risc-v/t-head/e9xx/cpuport.c
@@ -137,7 +137,7 @@ rt_uint8_t *rt_hw_stack_init(void *tentry,
/** shutdown CPU */
RT_WEAK void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/risc-v/virt64/cpuport.c b/libcpu/risc-v/virt64/cpuport.c
index 9b0c2cce6b..26360bd18a 100644
--- a/libcpu/risc-v/virt64/cpuport.c
+++ b/libcpu/risc-v/virt64/cpuport.c
@@ -102,7 +102,7 @@ void rt_hw_context_switch_interrupt(rt_ubase_t from, rt_ubase_t to)
/** shutdown CPU */
void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();
diff --git a/libcpu/unicore32/sep6200/cpu.c b/libcpu/unicore32/sep6200/cpu.c
index 966277295d..8ce7f89186 100644
--- a/libcpu/unicore32/sep6200/cpu.c
+++ b/libcpu/unicore32/sep6200/cpu.c
@@ -262,7 +262,7 @@ RT_WEAK void rt_hw_cpu_reset()
*/
RT_WEAK void rt_hw_cpu_shutdown()
{
- rt_uint32_t level;
+ rt_base_t level;
rt_kprintf("shutdown...\n");
level = rt_hw_interrupt_disable();