x86/irq: Set up per host CPU posted interrupt descriptors
authorJacob Pan <jacob.jun.pan@linux.intel.com>
Tue, 23 Apr 2024 17:41:08 +0000 (10:41 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 29 Apr 2024 22:54:42 +0000 (00:54 +0200)
commit43650dcf6d6322ec2d0938bb51f755810ffa783a
tree2cd02699df1c194b5e3a0749d6a89f3e4d7d2a87
parentf5a3562ec9dd29e61735ccf098d8ba05cf6c7c72
x86/irq: Set up per host CPU posted interrupt descriptors

To support posted MSIs, create a posted interrupt descriptor (PID) for each
host CPU. Later on, when setting up interrupt affinity, the IOMMU's
interrupt remapping table entry (IRTE) will point to the physical address
of the matching CPU's PID.

Each PID is initialized with the owner CPU's physical APICID as the
destination.

Originally-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240423174114.526704-7-jacob.jun.pan@linux.intel.com
arch/x86/include/asm/hardirq.h
arch/x86/include/asm/posted_intr.h
arch/x86/kernel/cpu/common.c
arch/x86/kernel/irq.c