summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
authorPetr Borsodi2019-01-15 14:06:19 +0100
committerMichael Brown2019-01-15 14:08:44 +0100
commitba0d5aa993df4bad28b2a6a36c10b43c7e5c33f2 (patch)
tree8900aba5da38bfbcbd2aa1c31acb426cf580fa47 /src/arch
parent[build] Handle R_X86_64_PLT32 from binutils 2.31 (diff)
downloadipxe-ba0d5aa993df4bad28b2a6a36c10b43c7e5c33f2.tar.gz
ipxe-ba0d5aa993df4bad28b2a6a36c10b43c7e5c33f2.tar.xz
ipxe-ba0d5aa993df4bad28b2a6a36c10b43c7e5c33f2.zip
[pci] Correct invalid base-class/sub-class/prog-if order in PCIR
PCI Configuration Space contains fields prog-if at the offset 0x09, sub-class at the offset 0x0a and base-class at the offset 0x0b (it respects little endian). PCIR structure uses these fields in the same order. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/x86/prefix/mromprefix.S2
-rw-r--r--src/arch/x86/prefix/romprefix.S2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/arch/x86/prefix/mromprefix.S b/src/arch/x86/prefix/mromprefix.S
index 73a869d9..2b5c6bf6 100644
--- a/src/arch/x86/prefix/mromprefix.S
+++ b/src/arch/x86/prefix/mromprefix.S
@@ -500,7 +500,7 @@ mpciheader:
.word 0x0000 /* Device list pointer */
.word mpciheader_len /* PCI data structure length */
.byte 0x03 /* PCI data structure revision */
- .byte 0x02, 0x00, 0x00 /* Class code */
+ .byte 0x00, 0x00, 0x02 /* Class code */
mpciheader_image_length:
.word 0 /* Image length */
.word 0x0001 /* Revision level */
diff --git a/src/arch/x86/prefix/romprefix.S b/src/arch/x86/prefix/romprefix.S
index 978b07b5..3abef0ea 100644
--- a/src/arch/x86/prefix/romprefix.S
+++ b/src/arch/x86/prefix/romprefix.S
@@ -96,7 +96,7 @@ pciheader:
.word ( pci_devlist - pciheader ) /* Device list pointer */
.word pciheader_len /* PCI data structure length */
.byte 0x03 /* PCI data structure revision */
- .byte 0x02, 0x00, 0x00 /* Class code */
+ .byte 0x00, 0x00, 0x02 /* Class code */
pciheader_image_length:
.word 0 /* Image length */
.word 0x0001 /* Revision level */