the following patch was just integrated into master:
commit 496cdc3626a642dcb1c692e29d8a9d5ba3625a86
Author: Patrick Georgi <patrick(a)georgi-clan.de>
Date: Mon Aug 10 09:44:59 2015 +0200
external payloads: COREBOOT_ROM_DEPENDENCIES needs to be late-evaluated
Change-Id: Ia1a7bacc0eab5bade24d26aff67e001db08a5290
Signed-off-by: Patrick Georgi <patrick(a)georgi-clan.de>
Reviewed-on: http://review.coreboot.org/11152
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See http://review.coreboot.org/11152 for details.
-gerrit
Paul Menzel (paulepanter(a)users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3517
-gerrit
commit 20e0160b4de60e208bf10e7b9358e57c37e20036
Author: Rudolf Marek <r.marek(a)assembler.cz>
Date: Mon May 27 16:12:00 2013 +0200
asus/f2a85-m: Activate IOMMU support
Activate the IOMMU support for the Asus F2A85-M.
Add the device to `devicetree.cb`.
$ lspci -s 0.2
[…]
00:00.2 IOMMU: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) I/O Memory Management Unit
$ dmesg
[…]
[ 0.000000] ACPI: IVRS 00000000bf144e10 00070 (v02 AMD AMDIOMMU 00000001 AMD 00000000)
[ 0.000000] ACPI: SSDT 00000000bf144e80 0051F (v02 AMD ALIB 00000001 MSFT 04000000)
[ 0.000000] ACPI: SSDT 00000000bf1453a0 006B2 (v01 AMD POWERNOW 00000001 AMD 00000001)
[ 0.000000] ACPI: SSDT 00000000bf145a52 00045 (v02 CORE COREBOOT 0000002A CORE 0000002A)
[…]
Linux 3.10 reported several IO page faults, which could never be explained and
which the vendor firmware did not. These errors couldn’t be reproduced with
Linux 3.18 by Damien Zammit.
Change-Id: I0aa530be17d31656e65db6113343f2ea7008b843
Signed-off-by: Rudolf Marek <r.marek(a)assembler.cz>
---
src/mainboard/asus/f2a85-m/buildOpts.c | 2 +-
src/mainboard/asus/f2a85-m/devicetree.cb | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/mainboard/asus/f2a85-m/buildOpts.c b/src/mainboard/asus/f2a85-m/buildOpts.c
index b812cd5..3c9371c 100644
--- a/src/mainboard/asus/f2a85-m/buildOpts.c
+++ b/src/mainboard/asus/f2a85-m/buildOpts.c
@@ -181,7 +181,7 @@
#define BLDCFG_UMA_ABOVE4G_SUPPORT FALSE
#endif
-#define BLDCFG_IOMMU_SUPPORT FALSE
+#define BLDCFG_IOMMU_SUPPORT TRUE
#define BLDCFG_CFG_GNB_HD_AUDIO TRUE
//#define BLDCFG_IGPU_SUBSYSTEM_ID OEM_IGPU_SSID
diff --git a/src/mainboard/asus/f2a85-m/devicetree.cb b/src/mainboard/asus/f2a85-m/devicetree.cb
index 4562557..b501dc2 100644
--- a/src/mainboard/asus/f2a85-m/devicetree.cb
+++ b/src/mainboard/asus/f2a85-m/devicetree.cb
@@ -30,6 +30,7 @@ chip northbridge/amd/agesa/family15tn/root_complex
chip northbridge/amd/agesa/family15tn # PCI side of HT root complex
device pci 0.0 on end # Root Complex
+ device pci 0.2 on end # IOMMU
device pci 1.0 on end # Internal Graphics P2P bridge 0x99XX
device pci 1.1 on end # Internal Multimedia
device pci 2.0 on end # PCIE SLOT0 x16 blue
Damien Zammit (damien(a)zamaudio.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11154
-gerrit
commit 7fd985d9c3e61a4cd6e08641bb0480f82b9bc245
Author: Rudolf Marek <r.marek(a)assembler.cz>
Date: Mon Aug 10 23:50:03 2015 +1000
asus/f2a85-m: Enable IOMMU (again!)
There were some issues previously when the IOMMU was enabled
on this board such as linux io page errors and compile errors.
(See Change-Id I0aa530be17d )
I built coreboot with this patch today, flashed it to my board
and it boots. Not only that but I didn't see any problems in
linux dmesg and I was able to use kvm pci passthrough using the IOMMU.
(Linux 3.19)
$ dmesg|grep AMD-Vi
[ 0.718814] AMD-Vi: Applying erratum 746 workaround for IOMMU at 0000:00:00.2
[ 0.719407] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[ 0.719409] AMD-Vi: Extended features: PreF PPR GT IA
[ 0.719412] AMD-Vi: Interrupt remapping enabled
[ 0.731430] AMD-Vi: Lazy IO/TLB flushing enabled
$ lspci -s 0.2
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) I/O Memory Management Unit
Change-Id: Idbd1ff8362731752af1fa5bd267f13d6dc821c52
Signed-off-by: Damien Zammit <damien(a)zamaudio.com>
---
src/mainboard/asus/f2a85-m/buildOpts.c | 2 +-
src/mainboard/asus/f2a85-m/devicetree.cb | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/mainboard/asus/f2a85-m/buildOpts.c b/src/mainboard/asus/f2a85-m/buildOpts.c
index b812cd5..3c9371c 100644
--- a/src/mainboard/asus/f2a85-m/buildOpts.c
+++ b/src/mainboard/asus/f2a85-m/buildOpts.c
@@ -181,7 +181,7 @@
#define BLDCFG_UMA_ABOVE4G_SUPPORT FALSE
#endif
-#define BLDCFG_IOMMU_SUPPORT FALSE
+#define BLDCFG_IOMMU_SUPPORT TRUE
#define BLDCFG_CFG_GNB_HD_AUDIO TRUE
//#define BLDCFG_IGPU_SUBSYSTEM_ID OEM_IGPU_SSID
diff --git a/src/mainboard/asus/f2a85-m/devicetree.cb b/src/mainboard/asus/f2a85-m/devicetree.cb
index 4562557..b501dc2 100644
--- a/src/mainboard/asus/f2a85-m/devicetree.cb
+++ b/src/mainboard/asus/f2a85-m/devicetree.cb
@@ -30,6 +30,7 @@ chip northbridge/amd/agesa/family15tn/root_complex
chip northbridge/amd/agesa/family15tn # PCI side of HT root complex
device pci 0.0 on end # Root Complex
+ device pci 0.2 on end # IOMMU
device pci 1.0 on end # Internal Graphics P2P bridge 0x99XX
device pci 1.1 on end # Internal Multimedia
device pci 2.0 on end # PCIE SLOT0 x16 blue
Paul Menzel (paulepanter(a)users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3517
-gerrit
commit 9287f38d15781715dc858ef37b23b2127227f105
Author: Rudolf Marek <r.marek(a)assembler.cz>
Date: Mon May 27 16:12:00 2013 +0200
asus/f2a85-m: Activate IOMMU support
Activate the IOMMU support for the Asus F2A85-M.
Add the device to `devicetree.cb`.
$ lspci -s 0.2
[…]
00:00.2 IOMMU: Advanced Micro Devices [AMD] Family 15h (Models 10h-1fh) I/O Memory Management Unit
$ dmesg
[…]
[ 0.000000] ACPI: IVRS 00000000bf144e10 00070 (v02 AMD AMDIOMMU 00000001 AMD 00000000)
[ 0.000000] ACPI: SSDT 00000000bf144e80 0051F (v02 AMD ALIB 00000001 MSFT 04000000)
[ 0.000000] ACPI: SSDT 00000000bf1453a0 006B2 (v01 AMD POWERNOW 00000001 AMD 00000001)
[ 0.000000] ACPI: SSDT 00000000bf145a52 00045 (v02 CORE COREBOOT 0000002A CORE 0000002A)
[…]
Linux 3.10 reported several IO page faults, which could never be explained and
which the vendor firmware did not. These errors couldn’t be reproduced with
Linux 4.1.
Change-Id: I0aa530be17d31656e65db6113343f2ea7008b843
Signed-off-by: Rudolf Marek <r.marek(a)assembler.cz>
---
src/mainboard/asus/f2a85-m/buildOpts.c | 2 +-
src/mainboard/asus/f2a85-m/devicetree.cb | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/mainboard/asus/f2a85-m/buildOpts.c b/src/mainboard/asus/f2a85-m/buildOpts.c
index b812cd5..3c9371c 100644
--- a/src/mainboard/asus/f2a85-m/buildOpts.c
+++ b/src/mainboard/asus/f2a85-m/buildOpts.c
@@ -181,7 +181,7 @@
#define BLDCFG_UMA_ABOVE4G_SUPPORT FALSE
#endif
-#define BLDCFG_IOMMU_SUPPORT FALSE
+#define BLDCFG_IOMMU_SUPPORT TRUE
#define BLDCFG_CFG_GNB_HD_AUDIO TRUE
//#define BLDCFG_IGPU_SUBSYSTEM_ID OEM_IGPU_SSID
diff --git a/src/mainboard/asus/f2a85-m/devicetree.cb b/src/mainboard/asus/f2a85-m/devicetree.cb
index 4562557..b501dc2 100644
--- a/src/mainboard/asus/f2a85-m/devicetree.cb
+++ b/src/mainboard/asus/f2a85-m/devicetree.cb
@@ -30,6 +30,7 @@ chip northbridge/amd/agesa/family15tn/root_complex
chip northbridge/amd/agesa/family15tn # PCI side of HT root complex
device pci 0.0 on end # Root Complex
+ device pci 0.2 on end # IOMMU
device pci 1.0 on end # Internal Graphics P2P bridge 0x99XX
device pci 1.1 on end # Internal Multimedia
device pci 2.0 on end # PCIE SLOT0 x16 blue
Damien Zammit (damien(a)zamaudio.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11154
-gerrit
commit 8937b6753bd36180af327884d1114ea2fcf8b3c2
Author: Damien Zammit <damien(a)zamaudio.com>
Date: Mon Aug 10 23:50:03 2015 +1000
asus/f2a85-m: Enable IOMMU (again!)
There were some issues previously when the IOMMU was enabled
on this board such as linux io page errors and compile errors.
(See Change-Id I0aa530be17d )
I built coreboot with this patch today, flashed it to my board
and it boots. Not only that but I didn't see any problems in
linux dmesg and I was able to use kvm pci passthrough using the IOMMU.
$ dmesg|grep AMD-Vi
[ 0.718814] AMD-Vi: Applying erratum 746 workaround for IOMMU at 0000:00:00.2
[ 0.719407] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[ 0.719409] AMD-Vi: Extended features: PreF PPR GT IA
[ 0.719412] AMD-Vi: Interrupt remapping enabled
[ 0.731430] AMD-Vi: Lazy IO/TLB flushing enabled
$ lspci -s 0.2
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 10h-1fh) I/O Memory Management Unit
Change-Id: Idbd1ff8362731752af1fa5bd267f13d6dc821c52
Signed-off-by: Damien Zammit <damien(a)zamaudio.com>
---
src/mainboard/asus/f2a85-m/buildOpts.c | 2 +-
src/mainboard/asus/f2a85-m/devicetree.cb | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/mainboard/asus/f2a85-m/buildOpts.c b/src/mainboard/asus/f2a85-m/buildOpts.c
index b812cd5..3c9371c 100644
--- a/src/mainboard/asus/f2a85-m/buildOpts.c
+++ b/src/mainboard/asus/f2a85-m/buildOpts.c
@@ -181,7 +181,7 @@
#define BLDCFG_UMA_ABOVE4G_SUPPORT FALSE
#endif
-#define BLDCFG_IOMMU_SUPPORT FALSE
+#define BLDCFG_IOMMU_SUPPORT TRUE
#define BLDCFG_CFG_GNB_HD_AUDIO TRUE
//#define BLDCFG_IGPU_SUBSYSTEM_ID OEM_IGPU_SSID
diff --git a/src/mainboard/asus/f2a85-m/devicetree.cb b/src/mainboard/asus/f2a85-m/devicetree.cb
index 4562557..b501dc2 100644
--- a/src/mainboard/asus/f2a85-m/devicetree.cb
+++ b/src/mainboard/asus/f2a85-m/devicetree.cb
@@ -30,6 +30,7 @@ chip northbridge/amd/agesa/family15tn/root_complex
chip northbridge/amd/agesa/family15tn # PCI side of HT root complex
device pci 0.0 on end # Root Complex
+ device pci 0.2 on end # IOMMU
device pci 1.0 on end # Internal Graphics P2P bridge 0x99XX
device pci 1.1 on end # Internal Multimedia
device pci 2.0 on end # PCIE SLOT0 x16 blue
Paul Kocialkowski (contact(a)paulk.fr) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11119
-gerrit
commit f6fe432c93b013801c6a533364af2476b9e8283b
Author: Paul Kocialkowski <contact(a)paulk.fr>
Date: Mon Aug 3 16:46:29 2015 +0200
xcompile: crossgcc lookup in parent paths, for painless libpayload support
libpayload is calling the xcompile script from payloads/libpayload, so the
script never finds the path on its own and has to be fed the right XGCCPATH by
hand.
This makes xcompile look for the parent path too, so that it can find the
crossgcc toolchains when called from libpayload.
Change-Id: Icc41bb68e3a43810f40f03ab1eb08af07a50a3de
Signed-off-by: Paul Kocialkowski <contact(a)paulk.fr>
---
util/xcompile/xcompile | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile
index c1c42af..4560771 100755
--- a/util/xcompile/xcompile
+++ b/util/xcompile/xcompile
@@ -20,7 +20,19 @@
#
TMPFILE=""
-XGCCPATH=${1:-"`pwd`/util/crossgcc/xgcc/bin/"}
+XGCCPATH=$1
+
+# libpayload crossgcc path
+if [ -d "`pwd`/../../util/crossgcc/xgcc/bin/" ]
+then
+ XGCCPATH=${XGCCPATH:-"`pwd`/../../util/crossgcc/xgcc/bin/"}
+fi
+
+# coreboot crossgcc path
+if [ -d "`pwd`/util/crossgcc/xgcc/bin/" ]
+then
+ XGCCPATH=${XGCCPATH:-"`pwd`/util/crossgcc/xgcc/bin/"}
+fi
die() {
echo "ERROR: $*" >&2
Paul Kocialkowski (contact(a)paulk.fr) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11114
-gerrit
commit 6289c770008c0cc490f5e74c3e7c0f150d4ad443
Author: Paul Kocialkowski <contact(a)paulk.fr>
Date: Mon Aug 10 11:00:39 2015 +0200
libpayload: Kconfig include in lpgcc
Payloads will include headers from libpayload, which depend on kconfig.h, so it
has to be included in the command line produced by lpgcc.
Change-Id: I3b55928babba2896a112f8c5fae46365cf71d308
Signed-off-by: Paul Kocialkowski <contact(a)paulk.fr>
---
payloads/libpayload/bin/lpgcc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/payloads/libpayload/bin/lpgcc b/payloads/libpayload/bin/lpgcc
index 9346639..17d8eda 100755
--- a/payloads/libpayload/bin/lpgcc
+++ b/payloads/libpayload/bin/lpgcc
@@ -159,7 +159,7 @@ fi
trygccoption -fno-stack-protector
[ $? -eq 0 ] && _CFLAGS="$_CFLAGS -fno-stack-protector"
-_CFLAGS="$_CFLAGS -I`$DEFAULT_CC $_ARCHEXTRA -print-search-dirs | head -n 1 | cut -d' ' -f2`include"
+_CFLAGS="$_CFLAGS -include $BASE/../include/kconfig.h -I`$DEFAULT_CC $_ARCHEXTRA -print-search-dirs | head -n 1 | cut -d' ' -f2`include"
_LDFLAGS="-L$BASE/../lib -L$_LIBDIR $_LDSCRIPT -static"
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11153
-gerrit
commit 0d3cc527ec2d096cd6374506388c4c48298d6d8d
Author: Patrick Georgi <patrick(a)georgi-clan.de>
Date: Mon Aug 10 10:20:34 2015 +0200
getac/p470: Make suspend-to-ram work
Change-Id: I37c5d8dd9353d4181046186688f20a3b85973562
Signed-off-by: Patrick Georgi <patrick(a)georgi-clan.de>
---
src/mainboard/getac/p470/Kconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/mainboard/getac/p470/Kconfig b/src/mainboard/getac/p470/Kconfig
index 2bb7aeb..6ff47bf 100644
--- a/src/mainboard/getac/p470/Kconfig
+++ b/src/mainboard/getac/p470/Kconfig
@@ -24,7 +24,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select CPU_INTEL_SOCKET_MFCPGA478
select NORTHBRIDGE_INTEL_I945
select NORTHBRIDGE_INTEL_SUBTYPE_I945GM
- select CHECK_SLFRCS_ON_RESUME
select SOUTHBRIDGE_INTEL_I82801GX
select SOUTHBRIDGE_TI_PCIXX12
select SUPERIO_SMSC_FDC37N972
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11152
-gerrit
commit 50d7ea09b452777db37e5011cc6c70d726558330
Author: Patrick Georgi <patrick(a)georgi-clan.de>
Date: Mon Aug 10 09:44:59 2015 +0200
external payloads: COREBOOT_ROM_DEPENDENCIES needs to be late-evaluated
Change-Id: Ia1a7bacc0eab5bade24d26aff67e001db08a5290
Signed-off-by: Patrick Georgi <patrick(a)georgi-clan.de>
---
Makefile.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.inc b/Makefile.inc
index c7a5873..65d308d 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -600,7 +600,7 @@ $(REFCODE_BLOB): $(RMODTOOL)
$(RMODTOOL) -i $(CONFIG_REFCODE_BLOB_FILE) -o $@
endif
-$(obj)/coreboot.rom: $(obj)/coreboot.pre $(objcbfs)/ramstage.elf $(CBFSTOOL) $(call strip_quotes,$(COREBOOT_ROM_DEPENDENCIES)) $$(INTERMEDIATE) $$(VBOOT_STUB) $(REFCODE_BLOB)
+$(obj)/coreboot.rom: $(obj)/coreboot.pre $(objcbfs)/ramstage.elf $(CBFSTOOL) $$(call strip_quotes,$$(COREBOOT_ROM_DEPENDENCIES)) $$(INTERMEDIATE) $$(VBOOT_STUB) $(REFCODE_BLOB)
@printf " CBFS $(subst $(obj)/,,$(@))\n"
# The full ROM may be larger than the CBFS part, so create an empty
# file (filled with \377 = 0xff) and copy the CBFS image over it.