Skip to content

LoongArch: Fixed a MP wake up bug and enabled IPI vectors. #10984

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 9, 2025

Conversation

kilaterlee
Copy link
Contributor

Description

  1. Fix a bug about MP init on LoongArch
  2. Enable the IPI vectors on LoongArch

How This Was Tested

Using out-of-order wake-up APs, they can start correctly.

Integration Instructions

<N/A>

@kilaterlee kilaterlee marked this pull request as ready for review April 21, 2025 07:30
@kilaterlee kilaterlee requested a review from MarsDoge April 21, 2025 07:32
@kilaterlee kilaterlee force-pushed the Submit0421 branch 3 times, most recently from feb890c to 1e1a53b Compare April 27, 2025 03:36
@kilaterlee
Copy link
Contributor Author

@niruiyu Hi Ray, cloud you please help to check this patch set and approve it?

@kilaterlee
Copy link
Contributor Author

@niruiyu Hi Ray, cloud you please help to check this patch set and approve it?

@niruiyu Hi Ray, hope you can help to review this patch set if you have time. :)

@kilaterlee kilaterlee force-pushed the Submit0421 branch 2 times, most recently from b549855 to 8518ff1 Compare May 7, 2025 00:52
If the AP wakes up out of order for the 1st time, and the data in the
HOB is also out of order, then there will be a issue: if the big number
core wakes up before the small number core, the big number core will
modify the APIC number in the CpuMpData, which will cause the small
number core can not be wake up. Using the APIC number from the HOB to
wake up the APs can fix it.

Signed-off-by: Chao Li <lichao@loongson.cn>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Dun Tan <dun.tan@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Dongyan Qian <qiandongyan@loongson.cn>
Cc: Xiangdong Meng <mengxiangdong@loongson.cn>
Since the LoongArch AP boot SPEC is published, it can identify which IPI
by vector. Added IPI vector logic and enabled them.

Signed-off-by: Chao Li <lichao@loongson.cn>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Dun Tan <dun.tan@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Dongyan Qian <qiandongyan@loongson.cn>
Cc: Xiangdong Meng <mengxiangdong@loongson.cn>
@lgao4 lgao4 added the push Auto push patch series in PR if all checks pass label May 9, 2025
@lgao4 lgao4 merged commit fc21547 into tianocore:master May 9, 2025
124 checks passed
@kilaterlee kilaterlee deleted the Submit0421 branch May 9, 2025 01:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
push Auto push patch series in PR if all checks pass
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants