Support ARM GIC ITS in ACPI mode
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
dann frazier |
Bug Description
[Impact]
ARM systems that use a GICv3 controller require ITS support to route Message Signal Interrupts (MSI) to CPUs. This currently does not work on systems in ACPI mode. Most (all?) upcoming server SoCs will be using ACPI-enabled firmware as dictated by the ARM Server Base System Architecture specification.
[Test Case]
Boot such a system and look for ITS boot messages and ITS-MSI entries in /proc/interrupts.
[Regression Risk]
The required patches are currently in linux-next, so we should have upstream support for issues. There are a couple 1-liner changes to arch-generic code (drivers/
The bulk of the changes are to ARM-specific code (irq-gic-v3* drivers). I have regression tested on X-Gene (no GICv3 ITS) and Cavium Thunder-X (w/ GICv3 ITS) in the currently certified DTB modes.
This bug was fixed in the package linux - 4.8.0-16.17
---------------
linux (4.8.0-16.17) yakkety; urgency=low
[ Tim Gardner ]
* Release Tracking Bug
- LP: #1626768
* Support ARM GIC ITS in ACPI mode (LP: #1626631)
- [Config] CONFIG_ACPI_IORT=y
- SAUCE: ACPI: I/O Remapping Table (IORT) initial support
- SAUCE: ACPI: Add new IORT functions to support MSI domain handling
- SAUCE: irqchip/gicv3-its: Cleanup for ITS domain initialization
- SAUCE: irqchip/gicv3-its: Refactor ITS DT init code to prepare for ACPI
- SAUCE: irqchip/gicv3-its: Probe ITS in the ACPI way
- SAUCE: irqchip/gicv3-its: Factor out PCI-MSI part that might be reused for ACPI
- SAUCE: irqchip/gicv3-its: Use MADT ITS subtable to do PCI/MSI domain initialization
- SAUCE: PCI/MSI: Setup MSI domain on a per-device basis using IORT ACPI table
* 4.8 dropped CONFIG_ATA=y (breaks systemd's TEST-08-ISSUE-2730 upstream test)
(LP: #1626394)
- [Config] CONFIG_ATA=y
* Yakkety: Enable drivers with respect to Xenial (LP: #1626543) MAC80211_ RC_MINSTREL_ VHT=y for all arches BLK_DEV_ NVME_SCSI= y MTD_UBI_ GLUEBI= m
- [Config] CONFIG_VMD=m
- [Config] CONFIG_
- [Config] CONFIG_OF=y for all arches
- [Config] CONFIG_
- [Config] Xenial device settings sync with amd64
- [Config] Xenial device settings sync with i386
- [Config] CONFIG_
- [Config] Xenial device settings sync with armhf
- [Config] Xenial device settings sync with arm64
* yakkety 4.8, missing config CONFIG_ USERFAULTFD= y (LP: #1626149) USERFAULTFD= y
- [Config] CONFIG_
* 4.8 regression: SLAB is being used instead of SLUB (LP: #1626564)
- [Config] CONFIG_SLUB=y
* image won't boot after upgrading to yakkety's 4.8 kernel because efi inclusion- list
(LP: #1626158)
- add nls_cp437 to the generic.
-- Tim Gardner <email address hidden> Thu, 22 Sep 2016 06:51:45 -0600