microsoft / mu_tiano_platforms

Project Mu Virtual Platform Firmware
https://microsoft.github.io/mu/
Other
54 stars 49 forks source link

SBSA multi-processor not fully functional #153

Open kuqin12 opened 1 year ago

kuqin12 commented 1 year ago

QEMU will release all cores at launching. These cores will go through the BL1 boot process and then APs will enter a plat_secondary_cold_boot_setup function.

In the implementation of QEMU TFA, the APs will be left in the flash region where the BL1 code reside, waiting for events. In this case, MMIO write operations to the secure flash region from the BSP will wake up the APs. However, as the P30_CMD_READ_DEVICE_ID command is issued to the flash device, the flash will change mode to return device status registers. When APs wake up during these events, the code will no longer be accessible and results in AP panicking.

The idea is to bring these APs out of XIP state and host them in a memory-based code region. But there is a catch when the system reset. Resolution is still pending.

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had activity in 45 days. It will be closed if no further activity occurs within 7 days. Thank you for your contributions.

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had activity in 45 days. It will be closed if no further activity occurs within 7 days. Thank you for your contributions.

makubacki commented 1 year ago

@kuqin12 - Check this