Kindly ping for any comments.
Thanks,
Qian
On 8/29/2023 12:24 PM, Qian Wen wrote:
CPUID.1.EBX[23:16]: Maximum number of addressable IDs for logical
processors in this physical package.
CPUID.4:EAX[31:26]: Maximum number of addressable IDs for processor cores
in the physical package.
The current qemu code doesn't limit the value written to these two fields.
If the guest has a huge number of cores, APs (application processor) will
fail to bring up and the wrong info will be reported.
According to HW behavior, setting max value written to CPUID.1.EBX[23:16]
to 255, and CPUID.4:EAX[31:26] to 63.
---
Changes v3 -> v4:
- Add "Reviewed-by" from Isaku and Xiaoyao.
- Rebase to the v8.1.0.
Changes v2 -> v3:
- Add patch 2.
- Revise the commit message and comment to be clearer.
- Using MIN() for limitation.
Changes v1 -> v2:
- Revise the commit message and comment to more clearer.
- Rebased to v8.1.0-rc2.
Qian Wen (2):
target/i386: Avoid cpu number overflow in legacy topology
target/i386: Avoid overflow of the cache parameter enumerated by leaf
4
target/i386/cpu.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
base-commit:f5fe7c17ac4e309e47e78f0f9761aebc8d2f2c81
|