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