>>> On 04.09.15 at 14:08, <roger....@citrix.com> wrote:
> --- a/xen/include/asm-x86/domain.h
> +++ b/xen/include/asm-x86/domain.h
> @@ -387,8 +387,21 @@ struct arch_domain
>      bool_t mem_access_emulate_enabled;
>  
>      struct monitor_write_data *event_write_data;
> +
> +    /* Emulated devices enabled bitmap. */
> +    uint32_t emulation_flags;
>  } __cacheline_aligned;
>  
> +#define has_vlapic(d)       ((d)->arch.emulation_flags & XEN_X86_EMU_LAPIC)
> +#define has_vhpet(d)        ((d)->arch.emulation_flags & XEN_X86_EMU_HPET)
> +#define has_vpmtimer(d)     ((d)->arch.emulation_flags & XEN_X86_EMU_PMTIMER)
> +#define has_vrtc(d)         ((d)->arch.emulation_flags & XEN_X86_EMU_RTC)
> +#define has_vioapic(d)      ((d)->arch.emulation_flags & XEN_X86_EMU_IOAPIC)
> +#define has_vpic(d)         ((d)->arch.emulation_flags & XEN_X86_EMU_PIC)
> +#define has_vpmu(d)         ((d)->arch.emulation_flags & XEN_X86_EMU_PMU)
> +#define has_vvga(d)         ((d)->arch.emulation_flags & XEN_X86_EMU_VGA)
> +#define has_viommu(d)       ((d)->arch.emulation_flags & XEN_X86_EMU_IOMMU)

And btw, now that I saw a few uses of these - do they really all need
to be has_v*() instead of just has_*()? Together with the macros taking
a domain pointer it's quite obvious that talk is about virtual devices...

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to