hv: move define of struct cpu_gp_regs to a separate headfile
EFI stub code need to reference to the struct cpu_gp_regs, which is currently defined in vcpu.h, however include vcpu.h in EFI stub code will include other header files not requried by EFI stub code. After moving the define of struct cpu_gp_regs to a separate headfile, the file can be included in EFI stub code without other header files. Signed-off-by: Binbin Wu <binbin.wu@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
parent
5a5b2a1ead
commit
adddf512a6
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* Copyright (C) 2018 Intel Corporation. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#ifndef _VGPR_H_
|
||||
#define _VGPR_H_
|
||||
|
||||
/* General-purpose register layout aligned with the general-purpose register idx
|
||||
* when vmexit, such as vmexit due to CR access, refer to SMD Vol.3C 27-6.
|
||||
*/
|
||||
struct cpu_gp_regs {
|
||||
uint64_t rax;
|
||||
uint64_t rcx;
|
||||
uint64_t rdx;
|
||||
uint64_t rbx;
|
||||
uint64_t rsp;
|
||||
uint64_t rbp;
|
||||
uint64_t rsi;
|
||||
uint64_t rdi;
|
||||
uint64_t r8;
|
||||
uint64_t r9;
|
||||
uint64_t r10;
|
||||
uint64_t r11;
|
||||
uint64_t r12;
|
||||
uint64_t r13;
|
||||
uint64_t r14;
|
||||
uint64_t r15;
|
||||
};
|
||||
#endif
|
|
@ -50,6 +50,7 @@
|
|||
#ifndef ASSEMBLER
|
||||
|
||||
#include <guest.h>
|
||||
#include <gpr.h>
|
||||
|
||||
enum vcpu_state {
|
||||
VCPU_INIT,
|
||||
|
@ -66,28 +67,6 @@ enum vm_cpu_mode {
|
|||
CPU_MODE_64BIT, /* IA-32E mode (CS.L = 1) */
|
||||
};
|
||||
|
||||
/* General-purpose register layout aligned with the general-purpose register idx
|
||||
* when vmexit, such as vmexit due to CR access, refer to SMD Vol.3C 27-6.
|
||||
*/
|
||||
struct cpu_gp_regs {
|
||||
uint64_t rax;
|
||||
uint64_t rcx;
|
||||
uint64_t rdx;
|
||||
uint64_t rbx;
|
||||
uint64_t rsp;
|
||||
uint64_t rbp;
|
||||
uint64_t rsi;
|
||||
uint64_t rdi;
|
||||
uint64_t r8;
|
||||
uint64_t r9;
|
||||
uint64_t r10;
|
||||
uint64_t r11;
|
||||
uint64_t r12;
|
||||
uint64_t r13;
|
||||
uint64_t r14;
|
||||
uint64_t r15;
|
||||
};
|
||||
|
||||
struct segment_sel {
|
||||
uint16_t selector;
|
||||
uint64_t base;
|
||||
|
|
Loading…
Reference in New Issue