Skip to content
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

cppc init failure after guest reboot #8695

Open
yison opened this issue Aug 14, 2024 · 1 comment
Open

cppc init failure after guest reboot #8695

yison opened this issue Aug 14, 2024 · 1 comment
Labels
status: new The issue status: new for creation

Comments

@yison
Copy link
Contributor

yison commented Aug 14, 2024

at first guest boot, cppc can init successfully.
But cppc failed to init after guest reboot.

@yison yison added the status: new The issue status: new for creation label Aug 14, 2024
@yison
Copy link
Contributor Author

yison commented Aug 14, 2024

[External_System_ID] ACRN-10970

yison added a commit to yison/acrn-hypervisor that referenced this issue Aug 14, 2024
After rebooting guest, CPPC initialization failed because _CST and _CPC
missed in DSDT table. When writing _CST and _CPC in DSDT table, it gets
cx_cnt or px_cnt as condition. Getting cx_cnt or px_cnt triggers
the hypercall hcall_get_cpu_pm_state. The hypercall hcall_get_cpu_pm_state
uses VM_CREATED as VM state's condition. While, after rebooting guest,
the VM state is VM_PAUSED when writing _CST and _CPC in DSDT table.
Therefore, changing VM state's condition from VM_CREATED to VM_CREATED or
VM_PAUSED for hcall_get_cpu_pm_state can solve the CPPC initialization
failed issue after rebooting guest.

Tracked-On: projectacrn#8695
Signed-off-by: Yuan Lu <[email protected]>
Reviewed-by: Fei Li <[email protected]>
acrnsi-robot pushed a commit that referenced this issue Aug 16, 2024
After rebooting guest, CPPC initialization failed because _CST and _CPC
missed in DSDT table. When writing _CST and _CPC in DSDT table, it gets
cx_cnt or px_cnt as condition. Getting cx_cnt or px_cnt triggers
the hypercall hcall_get_cpu_pm_state. The hypercall hcall_get_cpu_pm_state
uses VM_CREATED as VM state's condition. While, after rebooting guest,
the VM state is VM_PAUSED when writing _CST and _CPC in DSDT table.
Therefore, changing VM state's condition from VM_CREATED to VM_CREATED or
VM_PAUSED for hcall_get_cpu_pm_state can solve the CPPC initialization
failed issue after rebooting guest.

Tracked-On: #8695
Signed-off-by: Yuan Lu <[email protected]>
Reviewed-by: Fei Li <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: new The issue status: new for creation
Projects
None yet
Development

No branches or pull requests

1 participant