nb/intel/{sandybridge,haswell}: Generate IOAPIC DMAR entries from hw
Use acpi_create_dmar_ds_ioapic_from_hw() to generate DMAR entries. This can restore s3 resume capability for Sandy Bridge platforms lost after commitd165357ec3("sb,soc/intel: Use register_new_ioapic_gsi0()"). Cherry-picked from commitb184e6e0a1("nb/intel/{sandybridge,haswell}: Generate IOAPIC DMAR entries from hw"). Original-signed-off-by: Bill XIE <persmule@hardenedlinux.org> Change-Id: I83e735707cd9ff30aa339443593239cd7e3e4656 Original-reviewed-on: https://review.coreboot.org/c/coreboot/+/72513 Original-reviewed-by: Nico Huber <nico.h@gmx.de> Original-reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Signed-off-by: Bill XIE <persmule@hardenedlinux.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/72763 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
This commit is contained in:
parent
4d661eebe9
commit
79a11950ac
2 changed files with 8 additions and 4 deletions
|
|
@ -4,6 +4,7 @@
|
|||
#include <console/console.h>
|
||||
#include <commonlib/helpers.h>
|
||||
#include <acpi/acpi.h>
|
||||
#include <arch/ioapic.h>
|
||||
#include <device/device.h>
|
||||
#include <device/pci_ops.h>
|
||||
#include "haswell.h"
|
||||
|
|
@ -38,7 +39,8 @@ static unsigned long acpi_fill_dmar(unsigned long current)
|
|||
|
||||
const unsigned long tmp = current;
|
||||
current += acpi_create_dmar_drhd(current, DRHD_INCLUDE_PCI_ALL, 0, vtvc0bar);
|
||||
current += acpi_create_dmar_ds_ioapic(current, 2, PCH_IOAPIC_PCI_BUS,
|
||||
current += acpi_create_dmar_ds_ioapic_from_hw(current, IO_APIC_ADDR,
|
||||
PCH_IOAPIC_PCI_BUS,
|
||||
PCH_IOAPIC_PCI_SLOT, 0);
|
||||
|
||||
size_t i;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include <console/console.h>
|
||||
#include <commonlib/helpers.h>
|
||||
#include <acpi/acpi.h>
|
||||
#include <arch/ioapic.h>
|
||||
#include <device/device.h>
|
||||
#include <device/pci_ops.h>
|
||||
#include "sandybridge.h"
|
||||
|
|
@ -42,7 +43,8 @@ static unsigned long acpi_fill_dmar(unsigned long current)
|
|||
const unsigned long tmp = current;
|
||||
current += acpi_create_dmar_drhd(current, DRHD_INCLUDE_PCI_ALL, 0, VTVC0_BASE);
|
||||
|
||||
current += acpi_create_dmar_ds_ioapic(current, 2, PCH_IOAPIC_PCI_BUS,
|
||||
current += acpi_create_dmar_ds_ioapic_from_hw(current, IO_APIC_ADDR,
|
||||
PCH_IOAPIC_PCI_BUS,
|
||||
PCH_IOAPIC_PCI_SLOT, 0);
|
||||
|
||||
size_t i;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue