Resolves: https://gitlab.com/xen-project/xen/-/issues/194
Signed-off-by: Matthew Barnes <matthew.barnes@cloud.com>
---
xen/arch/x86/include/asm/genapic.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/xen/arch/x86/include/asm/genapic.h b/xen/arch/x86/include/asm/genapic.h
index a694371c6d16..d29bccc39b4b 100644
--- a/xen/arch/x86/include/asm/genapic.h
+++ b/xen/arch/x86/include/asm/genapic.h
@@ -45,21 +45,21 @@ void cf_check send_IPI_self_legacy(uint8_t vector);
void cf_check init_apic_ldr_flat(void);
unsigned int cf_check cpu_mask_to_apicid_flat(const cpumask_t *cpumask);
+const cpumask_t *cf_check vector_allocation_cpumask_phys(int cpu);
void cf_check send_IPI_mask_flat(const cpumask_t *cpumask, int vector);
const cpumask_t *cf_check vector_allocation_cpumask_flat(int cpu);
#define GENAPIC_FLAT \
- .int_delivery_mode = dest_LowestPrio, \
- .int_dest_mode = 1 /* logical delivery */, \
+ .int_delivery_mode = dest_Fixed, \
+ .int_dest_mode = 0 /* physical delivery */, \
.init_apic_ldr = init_apic_ldr_flat, \
- .vector_allocation_cpumask = vector_allocation_cpumask_flat, \
- .cpu_mask_to_apicid = cpu_mask_to_apicid_flat, \
+ .vector_allocation_cpumask = vector_allocation_cpumask_phys, \
+ .cpu_mask_to_apicid = cpu_mask_to_apicid_phys, \
.send_IPI_mask = send_IPI_mask_flat, \
.send_IPI_self = send_IPI_self_legacy
void cf_check init_apic_ldr_phys(void);
unsigned int cf_check cpu_mask_to_apicid_phys(const cpumask_t *cpumask);
void cf_check send_IPI_mask_phys(const cpumask_t *mask, int vector);
-const cpumask_t *cf_check vector_allocation_cpumask_phys(int cpu);
#define GENAPIC_PHYS \
.int_delivery_mode = dest_Fixed, \
.int_dest_mode = 0 /* physical delivery */, \
--
2.46.0
On Wed, Oct 02, 2024 at 04:17:24PM +0100, Matthew Barnes wrote: The commit needs a log, doesn't need to be extremely long, but it's important to note the reasoning behind using physical delivery for external interrupts vs logial mode. Take a look at the x2APIC one for inspiration, the motivation should be similar. Thanks, Roger.
On 03.10.2024 12:51, Roger Pau Monné wrote: > On Wed, Oct 02, 2024 at 04:17:24PM +0100, Matthew Barnes wrote: > > The commit needs a log, doesn't need to be extremely long, but it's > important to note the reasoning behind using physical delivery for > external interrupts vs logial mode. Furthermore I question that the naming can remain as is - the driver is no longer uniformly "flat" then. Jan
On Fri, Oct 04, 2024 at 08:48:05AM +0200, Jan Beulich wrote: > On 03.10.2024 12:51, Roger Pau Monné wrote: > > On Wed, Oct 02, 2024 at 04:17:24PM +0100, Matthew Barnes wrote: > > > > The commit needs a log, doesn't need to be extremely long, but it's > > important to note the reasoning behind using physical delivery for > > external interrupts vs logial mode. > > Furthermore I question that the naming can remain as is - the driver > is no longer uniformly "flat" then. Yeah, that's done in a later patch. I wouldn't mind if it was all folded into the same patch TBH. Thanks, Roger.
© 2016 - 2024 Red Hat, Inc.