coreboot/src
Nico Huber e319d9a879 UPSTREAM: Revert "arch/x86/smbios: Correct manufacturer ID"
This reverts commit c86da67436.

Alas, I have to disagree with this in every single line. The comment
added to the top of the file only applies to a single function therein
which sits over a hundred lines below. That's not much helpful. More-
over, the link in the comment is already down ofc.

The comment is also irritating as it doesn't state in which way (enco-
ding!) it applies to the code, which presumably led to the wrong in-
terpretation of the IDs.

At last, if anything should have changed it is the strings, the IDs
are resolved to. `smbios_fill_dimm_manufacturer_from_id()` has to
resolve the IDs it gets actually fed and not a random selection from
any spec.

Since I digged into it, here's why the numbers are correct: The func-
tion started with the SPD encoding of DDR3 in mind. There, the lower
byte is the number of a "bank" of IDs with an odd-parity in the upper
most bit. The upper byte is the ID within the bank. The "correction"
was to clear the parity bit for naught. The function was later exten-
ded with IDs in the DDR2-SPD encoding (which is actually 64-bit not
16). There, a byte, starting from the lowest, is either an ID below
127 plus odd-parity, or 127 which means look in the next byte/bank.
Unused bytes seem to be filled with 0xff, I guess from the 0xff2c.

BUG=None
BRANCH=None
TEST=None

Reviewed-on: https://review.coreboot.org/17873
Tested-by: build bot (Jenkins)
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Martin Roth <martinroth@google.com>

Change-Id: Icdb48e4f2c102f619fbdca856e938e85135cfb18
Reviewed-on: https://chromium-review.googlesource.com/422234
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2016-12-19 09:55:12 -08:00
..
acpi UPSTREAM: src/acpi: Capitalize ACPI and SATA 2016-08-04 23:37:57 -07:00
arch UPSTREAM: Revert "arch/x86/smbios: Correct manufacturer ID" 2016-12-19 09:55:12 -08:00
commonlib UPSTREAM: buildsystem: Drop explicit (k)config.h includes 2016-12-09 03:29:54 -08:00
console UPSTREAM: console/vtxprintf.c: cast precision to size_t for string length 2016-11-29 17:38:21 -08:00
cpu UPSTREAM: Set the fsb timer correctly for Netburst CPUs 2016-12-19 09:54:27 -08:00
device UPSTREAM: buildsystem: Drop explicit (k)config.h includes 2016-12-09 03:29:54 -08:00
drivers UPSTREAM: drivers/regulator: Add driver for handling GPIO-based fixed regulator 2016-12-19 09:55:05 -08:00
ec UPSTREAM: ec/ene932: correct ACPI battery data fed into ToString() 2016-12-16 07:51:42 -08:00
include UPSTREAM: smbios.h: add missing SKU field to type3 table 2016-12-16 07:51:45 -08:00
lib UPSTREAM: lib/spd_bin: Check return code & remove dead code 2016-12-16 04:51:02 -08:00
mainboard UPSTREAM: google/reef: Use exported GPIOs and ACPI regulator for touchscreen 2016-12-19 09:55:08 -08:00
northbridge UPSTREAM: nb/x4x: Add other Eaglelake IGD PCI DID to list 2016-12-19 09:55:10 -08:00
soc rockchip/common: Loosen I2C frequency target requirements 2016-12-17 02:01:09 -08:00
southbridge UPSTREAM: intel/i945: Use romstage_handoff for S3 2016-12-13 17:49:07 -08:00
superio UPSTREAM: sio/ite/it8783ef: Return (0) in ACPI _PSC methods 2016-12-16 04:50:43 -08:00
vboot UPSTREAM: lib/cbmem: allow anyone to use cbmem_possibly_online() 2016-12-16 07:51:33 -08:00
vendorcode UPSTREAM: vendorcode/amd: drop dead code 2016-12-16 04:50:55 -08:00
Kconfig UPSTREAM: ACPI S3: Flip ACPI_HUGE_LOWMEM_BACKUP default 2016-12-13 17:49:16 -08:00