[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 01/13] i386: hvf: Move HVFState definition into hvf
From: |
Claudio Fontana |
Subject: |
Re: [PATCH 01/13] i386: hvf: Move HVFState definition into hvf |
Date: |
Fri, 5 Jun 2020 16:19:10 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
On 5/28/20 9:37 PM, Roman Bolshakov wrote:
> "sysemu/hvf.h" is intended for inclusion in generic code. However it
> also contains several hvf definitions and declarations, including
> HVFState that are used only inside "hvf.c". "hvf-i386.h" would be more
> appropriate place to define HVFState as it's only included by "hvf.c"
> and "x86_task.c".
>
> Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
> ---
> include/sysemu/hvf.h | 37 -------------------------------------
> target/i386/hvf/hvf-i386.h | 35 +++++++++++++++++++++++++++++++++++
> 2 files changed, 35 insertions(+), 37 deletions(-)
>
> diff --git a/include/sysemu/hvf.h b/include/sysemu/hvf.h
> index d211e808e9..30a565ab73 100644
> --- a/include/sysemu/hvf.h
> +++ b/include/sysemu/hvf.h
> @@ -15,8 +15,6 @@
>
> #include "cpu.h"
> #include "qemu/bitops.h"
> -#include "exec/memory.h"
> -#include "sysemu/accel.h"
>
> extern bool hvf_allowed;
> #ifdef CONFIG_HVF
> @@ -32,41 +30,6 @@ uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t
> idx,
> #define hvf_get_supported_cpuid(func, idx, reg) 0
> #endif
>
> -/* hvf_slot flags */
> -#define HVF_SLOT_LOG (1 << 0)
> -
> -typedef struct hvf_slot {
> - uint64_t start;
> - uint64_t size;
> - uint8_t *mem;
> - int slot_id;
> - uint32_t flags;
> - MemoryRegion *region;
> -} hvf_slot;
> -
> -typedef struct hvf_vcpu_caps {
> - uint64_t vmx_cap_pinbased;
> - uint64_t vmx_cap_procbased;
> - uint64_t vmx_cap_procbased2;
> - uint64_t vmx_cap_entry;
> - uint64_t vmx_cap_exit;
> - uint64_t vmx_cap_preemption_timer;
> -} hvf_vcpu_caps;
> -
> -typedef struct HVFState {
> - AccelState parent;
> - hvf_slot slots[32];
> - int num_slots;
> -
> - hvf_vcpu_caps *hvf_caps;
> -} HVFState;
> -extern HVFState *hvf_state;
> -
> -void hvf_set_phys_mem(MemoryRegionSection *, bool);
> -void hvf_handle_io(CPUArchState *, uint16_t, void *,
> - int, int, int);
> -hvf_slot *hvf_find_overlap_slot(uint64_t, uint64_t);
> -
> /* Disable HVF if |disable| is 1, otherwise, enable it iff it is supported by
> * the host CPU. Use hvf_enabled() after this to get the result. */
> void hvf_disable(int disable);
> diff --git a/target/i386/hvf/hvf-i386.h b/target/i386/hvf/hvf-i386.h
> index 15ee4835cf..7cdf256649 100644
> --- a/target/i386/hvf/hvf-i386.h
> +++ b/target/i386/hvf/hvf-i386.h
> @@ -16,6 +16,7 @@
> #ifndef HVF_I386_H
> #define HVF_I386_H
>
> +#include "sysemu/accel.h"
> #include "sysemu/hvf.h"
> #include "cpu.h"
> #include "x86.h"
> @@ -37,6 +38,40 @@ struct hvf_state {
> uint64_t mem_quota;
> };
>
> +/* hvf_slot flags */
> +#define HVF_SLOT_LOG (1 << 0)
> +
> +typedef struct hvf_slot {
> + uint64_t start;
> + uint64_t size;
> + uint8_t *mem;
> + int slot_id;
> + uint32_t flags;
> + MemoryRegion *region;
> +} hvf_slot;
> +
> +typedef struct hvf_vcpu_caps {
> + uint64_t vmx_cap_pinbased;
> + uint64_t vmx_cap_procbased;
> + uint64_t vmx_cap_procbased2;
> + uint64_t vmx_cap_entry;
> + uint64_t vmx_cap_exit;
> + uint64_t vmx_cap_preemption_timer;
> +} hvf_vcpu_caps;
> +
> +typedef struct HVFState {
> + AccelState parent;
> + hvf_slot slots[32];
> + int num_slots;
> +
> + hvf_vcpu_caps *hvf_caps;
> +} HVFState;
> +extern HVFState *hvf_state;
> +
> +void hvf_set_phys_mem(MemoryRegionSection *, bool);
> +void hvf_handle_io(CPUArchState *, uint16_t, void *, int, int, int);
> +hvf_slot *hvf_find_overlap_slot(uint64_t, uint64_t);
> +
> #ifdef NEED_CPU_H
> /* Functions exported to host specific mode */
>
>
Reviewed-by: Claudio Fontana <cfontana@suse.de>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH 01/13] i386: hvf: Move HVFState definition into hvf,
Claudio Fontana <=