summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2021-10-30 21:22:27 +0100
committerLeah Rowe <leah@libreboot.org>2021-10-30 21:22:27 +0100
commit49198fe3d11817462f48ce3d3d567b2d8cd95462 (patch)
tree07f67fa61fc165b78dfea97d3396197590d78f10
parent651a3f05fd5315de2b53898cc88c71340a4326fc (diff)
Disable PIKE2008 option ROM loading on KGPE-D16/KCMA-D8
These option ROMs are known to cause a system hang. If you insert an empty option ROM into CBFS, it disables any option ROM loading for those devices when using SeaBIOS.
-rw-r--r--resources/coreboot/kcma-d8-rdimm_16mb/board.cfg2
-rw-r--r--resources/coreboot/kcma-d8-rdimm_2mb/board.cfg2
-rw-r--r--resources/coreboot/kcma-d8-rdimm_4mb/board.cfg2
-rw-r--r--resources/coreboot/kcma-d8-rdimm_8mb/board.cfg2
-rw-r--r--resources/coreboot/kcma-d8-udimm_16mb/board.cfg2
-rw-r--r--resources/coreboot/kcma-d8-udimm_2mb/board.cfg2
-rw-r--r--resources/coreboot/kcma-d8-udimm_4mb/board.cfg2
-rw-r--r--resources/coreboot/kcma-d8-udimm_8mb/board.cfg2
-rw-r--r--resources/coreboot/kgpe-d16-rdimm_16mb/board.cfg2
-rw-r--r--resources/coreboot/kgpe-d16-rdimm_2mb/board.cfg2
-rw-r--r--resources/coreboot/kgpe-d16-rdimm_4mb/board.cfg2
-rw-r--r--resources/coreboot/kgpe-d16-rdimm_8mb/board.cfg2
-rw-r--r--resources/coreboot/kgpe-d16-udimm_16mb/board.cfg2
-rw-r--r--resources/coreboot/kgpe-d16-udimm_2mb/board.cfg2
-rw-r--r--resources/coreboot/kgpe-d16-udimm_4mb/board.cfg2
-rw-r--r--resources/coreboot/kgpe-d16-udimm_8mb/board.cfg2
-rwxr-xr-xresources/scripts/build/boot/roms_helper12
17 files changed, 28 insertions, 16 deletions
diff --git a/resources/coreboot/kcma-d8-rdimm_16mb/board.cfg b/resources/coreboot/kcma-d8-rdimm_16mb/board.cfg
index 22f99742..44cfbe44 100644
--- a/resources/coreboot/kcma-d8-rdimm_16mb/board.cfg
+++ b/resources/coreboot/kcma-d8-rdimm_16mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_rdimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kcma-d8-rdimm_2mb/board.cfg b/resources/coreboot/kcma-d8-rdimm_2mb/board.cfg
index 22f99742..44cfbe44 100644
--- a/resources/coreboot/kcma-d8-rdimm_2mb/board.cfg
+++ b/resources/coreboot/kcma-d8-rdimm_2mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_rdimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kcma-d8-rdimm_4mb/board.cfg b/resources/coreboot/kcma-d8-rdimm_4mb/board.cfg
index 22f99742..44cfbe44 100644
--- a/resources/coreboot/kcma-d8-rdimm_4mb/board.cfg
+++ b/resources/coreboot/kcma-d8-rdimm_4mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_rdimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kcma-d8-rdimm_8mb/board.cfg b/resources/coreboot/kcma-d8-rdimm_8mb/board.cfg
index 22f99742..44cfbe44 100644
--- a/resources/coreboot/kcma-d8-rdimm_8mb/board.cfg
+++ b/resources/coreboot/kcma-d8-rdimm_8mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_rdimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kcma-d8-udimm_16mb/board.cfg b/resources/coreboot/kcma-d8-udimm_16mb/board.cfg
index 13617002..1de38d64 100644
--- a/resources/coreboot/kcma-d8-udimm_16mb/board.cfg
+++ b/resources/coreboot/kcma-d8-udimm_16mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_udimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kcma-d8-udimm_2mb/board.cfg b/resources/coreboot/kcma-d8-udimm_2mb/board.cfg
index 13617002..1de38d64 100644
--- a/resources/coreboot/kcma-d8-udimm_2mb/board.cfg
+++ b/resources/coreboot/kcma-d8-udimm_2mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_udimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kcma-d8-udimm_4mb/board.cfg b/resources/coreboot/kcma-d8-udimm_4mb/board.cfg
index 13617002..1de38d64 100644
--- a/resources/coreboot/kcma-d8-udimm_4mb/board.cfg
+++ b/resources/coreboot/kcma-d8-udimm_4mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_udimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kcma-d8-udimm_8mb/board.cfg b/resources/coreboot/kcma-d8-udimm_8mb/board.cfg
index 13617002..1de38d64 100644
--- a/resources/coreboot/kcma-d8-udimm_8mb/board.cfg
+++ b/resources/coreboot/kcma-d8-udimm_8mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_udimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kgpe-d16-rdimm_16mb/board.cfg b/resources/coreboot/kgpe-d16-rdimm_16mb/board.cfg
index 22f99742..44cfbe44 100644
--- a/resources/coreboot/kgpe-d16-rdimm_16mb/board.cfg
+++ b/resources/coreboot/kgpe-d16-rdimm_16mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_rdimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kgpe-d16-rdimm_2mb/board.cfg b/resources/coreboot/kgpe-d16-rdimm_2mb/board.cfg
index 22f99742..44cfbe44 100644
--- a/resources/coreboot/kgpe-d16-rdimm_2mb/board.cfg
+++ b/resources/coreboot/kgpe-d16-rdimm_2mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_rdimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kgpe-d16-rdimm_4mb/board.cfg b/resources/coreboot/kgpe-d16-rdimm_4mb/board.cfg
index 22f99742..44cfbe44 100644
--- a/resources/coreboot/kgpe-d16-rdimm_4mb/board.cfg
+++ b/resources/coreboot/kgpe-d16-rdimm_4mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_rdimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kgpe-d16-rdimm_8mb/board.cfg b/resources/coreboot/kgpe-d16-rdimm_8mb/board.cfg
index 22f99742..44cfbe44 100644
--- a/resources/coreboot/kgpe-d16-rdimm_8mb/board.cfg
+++ b/resources/coreboot/kgpe-d16-rdimm_8mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_rdimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kgpe-d16-udimm_16mb/board.cfg b/resources/coreboot/kgpe-d16-udimm_16mb/board.cfg
index 13617002..1de38d64 100644
--- a/resources/coreboot/kgpe-d16-udimm_16mb/board.cfg
+++ b/resources/coreboot/kgpe-d16-udimm_16mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_udimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kgpe-d16-udimm_2mb/board.cfg b/resources/coreboot/kgpe-d16-udimm_2mb/board.cfg
index 13617002..1de38d64 100644
--- a/resources/coreboot/kgpe-d16-udimm_2mb/board.cfg
+++ b/resources/coreboot/kgpe-d16-udimm_2mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_udimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kgpe-d16-udimm_4mb/board.cfg b/resources/coreboot/kgpe-d16-udimm_4mb/board.cfg
index 13617002..1de38d64 100644
--- a/resources/coreboot/kgpe-d16-udimm_4mb/board.cfg
+++ b/resources/coreboot/kgpe-d16-udimm_4mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_udimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/coreboot/kgpe-d16-udimm_8mb/board.cfg b/resources/coreboot/kgpe-d16-udimm_8mb/board.cfg
index 13617002..1de38d64 100644
--- a/resources/coreboot/kgpe-d16-udimm_8mb/board.cfg
+++ b/resources/coreboot/kgpe-d16-udimm_8mb/board.cfg
@@ -1,5 +1,5 @@
cbtree="fam15h_udimm"
-romtype="normal"
+romtype="d8d16sas"
arch="x86_64"
payload_grub="y"
payload_grub_withseabios="y"
diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper
index 471f4754..77cc9f15 100755
--- a/resources/scripts/build/boot/roms_helper
+++ b/resources/scripts/build/boot/roms_helper
@@ -221,6 +221,18 @@ moverom() {
cp ${rompath} ${newrompath}
fi
+ # pike2008 cards cause a system hang when loading the option rom in seabios
+ # if there is an empty option rom in cbfs, no option rom will be loaded
+ if [ "${cuttype}" = "d8d16sas" ]; then
+ emptyrom=$(mktemp -t coreboot_rom.XXXXXXXXXX)
+ rm -f "${emptyrom}"
+ touch "${emptyrom}"
+ for deviceID in "0072" "3050"; do
+ "${cbfstool}" "${newrompath}" add -f "${emptyrom}" -n pci1000,${deviceID} -t raw
+ done
+ rm -f "${emptyrom}"
+ fi
+
for romsize in 4 8 16; do
if [ "${cuttype}" = "${romsize}MiB ICH9 IFD NOR flash" ]; then
if [ ! -f "descriptors/ich9m/ich9fdgbe_${romsize}m.bin" ]; then