On 24.06.2025 05:56, dm...@proton.me wrote:
> @@ -458,16 +459,16 @@ struct arch_domain
>  } __cacheline_aligned;
>  
>  #ifdef CONFIG_HVM
> -#define X86_EMU_LAPIC    XEN_X86_EMU_LAPIC
> -#define X86_EMU_HPET     XEN_X86_EMU_HPET
> -#define X86_EMU_PM       XEN_X86_EMU_PM
> -#define X86_EMU_RTC      XEN_X86_EMU_RTC
> -#define X86_EMU_IOAPIC   XEN_X86_EMU_IOAPIC
> -#define X86_EMU_PIC      XEN_X86_EMU_PIC
> -#define X86_EMU_VGA      XEN_X86_EMU_VGA
> -#define X86_EMU_IOMMU    XEN_X86_EMU_IOMMU
> -#define X86_EMU_USE_PIRQ XEN_X86_EMU_USE_PIRQ
> -#define X86_EMU_VPCI     XEN_X86_EMU_VPCI

The old code deliberately used values from the public interface.

> --- /dev/null
> +++ b/xen/include/xen/domain-emu.h
> @@ -0,0 +1,30 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef XEN_DOMAIN_EMU_H
> +#define XEN_DOMAIN_EMU_H
> +
> +/*
> + * Domain emulation flags.
> + */
> +#define DOMAIN_EMU_LAPIC            (1U << 0)
> +#define DOMAIN_EMU_HPET             (1U << 1)
> +#define DOMAIN_EMU_PM               (1U << 2)
> +#define DOMAIN_EMU_RTC              (1U << 3)
> +#define DOMAIN_EMU_IOAPIC           (1U << 4)
> +#define DOMAIN_EMU_PIC              (1U << 5)
> +#define DOMAIN_EMU_VGA              (1U << 6)
> +#define DOMAIN_EMU_IOMMU            (1U << 7)
> +#define DOMAIN_EMU_PIT              (1U << 8)
> +#define DOMAIN_EMU_PIRQ             (1U << 9)
> +#define DOMAIN_EMU_PCI              (1U << 10)

There's nothing in the new code making sure that the values won't go out
of sync.

Jan

Reply via email to