hypervisor: Add support for handling #HV Doorbell Page

As part of this handling there are 4 different operations:

1. Getting the hypervisor preffered doorbell page GPA.
2. Informing hypervisor about the doorbell page chosen by the guest
3. Querying the GPA of the doorbell page
4. Clearing the GPA of the doorbell page from hypervisor

Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
Signed-off-by: Muminul Islam <muislam@microsoft.com>
This commit is contained in:
Jinank Jain
2023-10-19 03:05:02 +00:00
committed by Bo Chen
parent d6db3a9d32
commit cb5ea05945
3 changed files with 136 additions and 0 deletions

View File

@@ -257,6 +257,16 @@ pub enum HypervisorCpuError {
///
#[error("Failed to set TSC frequency: {0}")]
SetTscKhz(#[source] anyhow::Error),
///
/// Error reading value at given GPA
///
#[error("Failed to read from GPA: {0}")]
GpaRead(#[source] anyhow::Error),
///
/// Error writing value at given GPA
///
#[error("Failed to write to GPA: {0}")]
GpaWrite(#[source] anyhow::Error),
}
#[derive(Debug)]