[libcpu][aarch64] Fixed the rt_hw_secondary_cpu_bsp_start() bug #8898
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
解决libcpu/aarch64中secondary cpu启动函数
rt_hw_secondary_cpu_bsp_start
中对gic进行重新初始化出现的问题。描述如下:
在未修改代码之前,
rt_hw_secondary_cpu_bsp_start
函数会调用rt_hw_interrupt_init
函数来对gic进行初始化,但是调用rt_hw_interrupt_init
来初始化gic会出现两个问题:rt_memset
清空isr_table[]数组里面的内容。将会造成系统在初始化过程中调用rt_hw_interrupt_install
注册的中断处理函数失效。arm_gic_dist_init
重新初始化gic分发器,该函数会失能所有中断。所以secondary cpu使用
rt_hw_interrupt_init
函数对gic初始化是不妥的。你的解决方案是什么 (what is your solution)
将
rt_hw_interrupt_init
函数中部分代码抽出来。请提供验证的bsp和config (provide the config and bsp)
qemu-virt64-aarch64
.config:
action:
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0
代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up