[libcpu/aarch64] disable irq/fiq when switch thread (#5605)

* [libcpu/aarch64] add smp support

* [libcpu/aarch64] rt_hw_trap_irq get irq instead of iar when using gicv2

* [libcpu/aarch64] disable irq/fiq when switch thread
This commit is contained in:
GUI 2022-02-21 23:24:51 +08:00 committed by GitHub
parent 6895da5307
commit 9b6e75f90b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 4 additions and 21 deletions

View File

@ -150,15 +150,15 @@ rt_hw_get_gtimer_frq:
B.EQ 1f B.EQ 1f
B . B .
3: 3:
MOV X3, 0x0d MOV X3, #((3 << 6) | 0x0d) /* EL3h */
MOV X2, X30 MOV X2, X30
B 0f B 0f
2: 2:
MOV X3, 0x09 MOV X3, #((3 << 6) | 0x09) /* EL2h */
MOV X2, X30 MOV X2, X30
B 0f B 0f
1: 1:
MOV X3, 0x05 MOV X3, #((3 << 6) | 0x05) /* EL1h */
MOV X2, X30 MOV X2, X30
B 0f B 0f
0: 0:

View File

@ -7,7 +7,7 @@
* Date Author Notes * Date Author Notes
* 2011-09-15 Bernard first version * 2011-09-15 Bernard first version
* 2019-07-28 zdzn add smp support * 2019-07-28 zdzn add smp support
* 2021-12-21 GuEe-GUI set tpidr_el2 as multiprocessor id instead of mpidr_el1 * 2021-12-21 GuEe-GUI set tpidr_el1 as multiprocessor id instead of mpidr_el1
* 2021-12-28 GuEe-GUI add spinlock for aarch64 * 2021-12-28 GuEe-GUI add spinlock for aarch64
*/ */

View File

@ -1,13 +0,0 @@
/*
* Copyright (c) 2006-2022, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
*/
.global Reset_Handler
.section ".start", "ax"
Reset_Handler:
nop

View File

@ -8,9 +8,6 @@
* 2022-02-16 GuEe-GUI replace vectors entry to macro * 2022-02-16 GuEe-GUI replace vectors entry to macro
*/ */
#include "rtconfig.h"
#ifndef RT_USING_VMTHREAD
.macro ventry label .macro ventry label
.align 7 .align 7
b \label b \label
@ -45,4 +42,3 @@ system_vectors:
ventry vector_error /* IRQ/vIRQ */ ventry vector_error /* IRQ/vIRQ */
ventry vector_error /* FIQ/vFIQ */ ventry vector_error /* FIQ/vFIQ */
ventry vector_error /* SError/vSError */ ventry vector_error /* SError/vSError */
#endif /* !RT_USING_VMTHREAD */