mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-22 17:27:53 +00:00
hv: dm: Use new ioctl ACRN_IOCTL_SET_VCPU_REGS
struct acrn_set_vcpu_regs -> struct acrn_vcpu_regs struct acrn_vcpu_regs -> struct acrn_regs IC_SET_VCPU_REGS -> ACRN_IOCTL_SET_VCPU_REGS Tracked-On: #6282 Signed-off-by: Shuo A Liu <shuo.a.liu@intel.com>
This commit is contained in:
@@ -323,7 +323,7 @@ static void init_xsave(struct acrn_vcpu *vcpu)
|
||||
ectx->xs_area.xsave_hdr.hdr.xcomp_bv |= XSAVE_COMPACTED_FORMAT;
|
||||
}
|
||||
|
||||
void set_vcpu_regs(struct acrn_vcpu *vcpu, struct acrn_vcpu_regs *vcpu_regs)
|
||||
void set_vcpu_regs(struct acrn_vcpu *vcpu, struct acrn_regs *vcpu_regs)
|
||||
{
|
||||
struct ext_context *ectx;
|
||||
struct run_context *ctx;
|
||||
@@ -406,7 +406,7 @@ void set_vcpu_regs(struct acrn_vcpu *vcpu, struct acrn_vcpu_regs *vcpu_regs)
|
||||
vcpu_regs->cr0);
|
||||
}
|
||||
|
||||
static struct acrn_vcpu_regs realmode_init_vregs = {
|
||||
static struct acrn_regs realmode_init_vregs = {
|
||||
.gdt = {
|
||||
.limit = 0xFFFFU,
|
||||
.base = 0UL,
|
||||
@@ -432,7 +432,7 @@ static uint64_t init_vgdt[] = {
|
||||
0x00CF93000000FFFFUL, /* Linear Data */
|
||||
};
|
||||
|
||||
static struct acrn_vcpu_regs protect_mode_init_vregs = {
|
||||
static struct acrn_regs protect_mode_init_vregs = {
|
||||
.cs_ar = PROTECTED_MODE_CODE_SEG_AR,
|
||||
.cs_limit = PROTECTED_MODE_SEG_LIMIT,
|
||||
.cs_sel = 0x10U,
|
||||
@@ -463,10 +463,10 @@ void reset_vcpu_regs(struct acrn_vcpu *vcpu)
|
||||
|
||||
void init_vcpu_protect_mode_regs(struct acrn_vcpu *vcpu, uint64_t vgdt_base_gpa)
|
||||
{
|
||||
struct acrn_vcpu_regs vcpu_regs;
|
||||
struct acrn_regs vcpu_regs;
|
||||
|
||||
(void)memcpy_s((void *)&vcpu_regs, sizeof(struct acrn_vcpu_regs),
|
||||
(void *)&protect_mode_init_vregs, sizeof(struct acrn_vcpu_regs));
|
||||
(void)memcpy_s((void *)&vcpu_regs, sizeof(struct acrn_regs),
|
||||
(void *)&protect_mode_init_vregs, sizeof(struct acrn_regs));
|
||||
|
||||
vcpu_regs.gdt.base = vgdt_base_gpa;
|
||||
vcpu_regs.gdt.limit = sizeof(init_vgdt) - 1U;
|
||||
|
@@ -419,7 +419,7 @@ int32_t hcall_set_vcpu_regs(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm,
|
||||
__unused uint64_t param1, uint64_t param2)
|
||||
{
|
||||
struct acrn_vm *vm = vcpu->vm;
|
||||
struct acrn_set_vcpu_regs vcpu_regs;
|
||||
struct acrn_vcpu_regs vcpu_regs;
|
||||
struct acrn_vcpu *target_vcpu;
|
||||
int32_t ret = -1;
|
||||
|
||||
|
@@ -557,7 +557,7 @@ void vcpu_clear_eoi_exit_bitmap(struct acrn_vcpu *vcpu, uint32_t vector);
|
||||
*
|
||||
* @return None
|
||||
*/
|
||||
void set_vcpu_regs(struct acrn_vcpu *vcpu, struct acrn_vcpu_regs *vcpu_regs);
|
||||
void set_vcpu_regs(struct acrn_vcpu *vcpu, struct acrn_regs *vcpu_regs);
|
||||
|
||||
/**
|
||||
* @brief reset all the vcpu registers
|
||||
|
@@ -418,7 +418,7 @@ struct acrn_descriptor_ptr {
|
||||
/**
|
||||
* @brief registers info for vcpu.
|
||||
*/
|
||||
struct acrn_vcpu_regs {
|
||||
struct acrn_regs {
|
||||
struct acrn_gp_regs gprs;
|
||||
struct acrn_descriptor_ptr gdt;
|
||||
struct acrn_descriptor_ptr idt;
|
||||
@@ -445,8 +445,6 @@ struct acrn_vcpu_regs {
|
||||
uint16_t gs_sel;
|
||||
uint16_t ldt_sel;
|
||||
uint16_t tr_sel;
|
||||
|
||||
uint16_t reserved_16[4];
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -454,15 +452,15 @@ struct acrn_vcpu_regs {
|
||||
*
|
||||
* the pamameter for HC_SET_VCPU_STATE
|
||||
*/
|
||||
struct acrn_set_vcpu_regs {
|
||||
struct acrn_vcpu_regs {
|
||||
/** the virtual CPU ID for the VCPU to set state */
|
||||
uint16_t vcpu_id;
|
||||
|
||||
/** reserved space to make cpu_state aligned to 8 bytes */
|
||||
uint16_t reserved0[3];
|
||||
uint16_t reserved[3];
|
||||
|
||||
/** the structure to hold vcpu state */
|
||||
struct acrn_vcpu_regs vcpu_regs;
|
||||
struct acrn_regs vcpu_regs;
|
||||
} __aligned(8);
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user