summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
authorJingleHsuWiwynn <jingle_hsu@wiwynn.com>2021-01-26 09:55:34 +0800
committerPatrick Georgi <pgeorgi@google.com>2021-04-22 12:42:46 +0000
commit20fa59fc2ce05da9a62f559c8958524ee59c0a14 (patch)
treef8e313b109dc414dafa524a520a242a1f7bde6f8 /src/arch
parentefa5a463505f09d88e39f8fe847f1da4abb8ac10 (diff)
downloadcoreboot-20fa59fc2ce05da9a62f559c8958524ee59c0a14.tar.gz
coreboot-20fa59fc2ce05da9a62f559c8958524ee59c0a14.tar.bz2
coreboot-20fa59fc2ce05da9a62f559c8958524ee59c0a14.zip
arch/x86/smbios: Let SMBIOS type 9 be able to write slot ID
The slot ID can be passed in from the function caller but parsing slot ID from devicetree is not yet supported and would still be 0. Add Slot ID in SMBIOS type 9 for Delta Lake. Tested=Execute "dmidecode -t 9" to verify. Signed-off-by: JingleHsuWiwynn <jingle_hsu@wiwynn.com> Change-Id: I9bf2e3b1232637a25ee595d08f8fbbc2283fcd5d Reviewed-on: https://review.coreboot.org/c/coreboot/+/49917 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/x86/smbios.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/arch/x86/smbios.c b/src/arch/x86/smbios.c
index a48cf43e12f1..9b47ff67aef8 100644
--- a/src/arch/x86/smbios.c
+++ b/src/arch/x86/smbios.c
@@ -930,7 +930,7 @@ int smbios_write_type9(unsigned long *current, int *handle,
const enum slot_data_bus_bandwidth bandwidth,
const enum misc_slot_usage usage,
const enum misc_slot_length length,
- u8 slot_char1, u8 slot_char2, u8 bus, u8 dev_func)
+ const u16 id, u8 slot_char1, u8 slot_char2, u8 bus, u8 dev_func)
{
struct smbios_type9 *t = (struct smbios_type9 *)*current;
int len = sizeof(struct smbios_type9);
@@ -942,6 +942,7 @@ int smbios_write_type9(unsigned long *current, int *handle,
t->slot_designation = smbios_add_string(t->eos, name ? name : "SLOT");
t->slot_type = type;
/* TODO add slot_id supoort, will be "_SUN" for ACPI devices */
+ t->slot_id = id;
t->slot_data_bus_width = bandwidth;
t->current_usage = usage;
t->slot_length = length;
@@ -1272,6 +1273,7 @@ static int smbios_walk_device_tree_type9(struct device *dev, int *handle,
bandwidth,
usage,
length,
+ 0,
1,
0,
dev->bus->secondary,