mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-12-07 20:52:41 +00:00
There's a corner case: When want to get CPUID.01H:EDX value, may have the following code snippet: uint32_t unused,edx; cpuid_subleaf(0x1U, 0x0U, &unused, &unused, &unused, &edx); while in cpuid_subleaf: *eax = leaf; *ecx = subleaf; eax and ecx point to the same location, When deep into asm_cpuid, it's input value will be 0x0U and 0x0U. but the expected input value is 0x1U and 0x0U. This case will return CPUID.00H:EDX, which is the wrong answer. Tracked-On: #4526 Signed-off-by: Junming Liu <junming.liu@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>