mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-01 14:11:15 +02:00
Add a bunch of new/tested stuff and various small changes 12
Tested Mainboards: OK: - ASUS M4A785T-M http://www.flashrom.org/pipermail/flashrom/2012-April/009118.html - ASUS P5VD2-MX http://www.flashrom.org/pipermail/flashrom/2012-March/009014.html - ASUS P8Z68-V PRO/GEN3 http://www.flashrom.org/pipermail/flashrom/2012-April/009086.html - Bachmann electronic OT200 http://www.flashrom.org/pipermail/flashrom/2012-April/009094.html - Biostar N61PB-M2S http://www.flashrom.org/pipermail/flashrom/2012-March/008958.html - GIGABYTE GA-H61M-D2-B3 http://www.flashrom.org/pipermail/flashrom/2012-March/009002.html - MSI MS-7740 (H61MA-E35(B3)) http://www.flashrom.org/pipermail/flashrom/2012-March/008985.html - Tyan S2875 (Tiger K8W) http://www.flashrom.org/pipermail/flashrom/2012-March/008986.html - ZOTAC nForce 630i Supreme (N73U-Supreme) http://www.flashrom.org/pipermail/flashrom/2012-April/009073.html - ZOTAC ZBOX AD02 (PLUS) http://www.flashrom.org/pipermail/flashrom/2012-April/009047.html NOT OK: - ASRock H67M http://www.flashrom.org/pipermail/flashrom/2012-March/008909.html - ASUS P8P67 LE http://paste.flashrom.org/view.php?id=1097 - ASUS Maximus IV Extreme http://www.flashrom.org/pipermail/flashrom/2012-March/009033.html - Biostar H61MU3 http://www.flashrom.org/pipermail/flashrom/2012-February/008832.html - Biostar M7VIQ http://www.flashrom.org/pipermail/flashrom/2012-February/008863.html - Dell Inspiron 580 http://www.flashrom.org/pipermail/flashrom/2012-March/008888.html - Dell Vostro 460 http://www.flashrom.org/pipermail/flashrom/2012-April/009144.html - Fujitsu-Siemens CELSIUS W410 (D3062-A1) http://www.flashrom.org/pipermail/flashrom/2012-March/008987.html - EPoX EP-3PTA http://www.flashrom.org/pipermail/flashrom/2012-April/009043.html - HP XW6400 http://www.flashrom.org/pipermail/flashrom/2012-March/009006.html - HP XW9300 http://www.flashrom.org/pipermail/flashrom/2012-February/008862.html - Intel DG965OT http://paste.flashrom.org/view.php?id=1096 - Intel DN2800MT (Marshalltown) http://www.flashrom.org/pipermail/flashrom/2012-April/009095.html - Lenovo T420 http://paste.flashrom.org/view.php?id=1095 - Lenovo X1 http://www.flashrom.org/pipermail/flashrom/2012-April/009135.html - MSI GF615M-P33 http://www.flashrom.org/pipermail/flashrom/2012-March/008956.html Tested flash chips: - mark EN25Q32(A/B) as TEST_OK_PROBE (+P) http://www.flashrom.org/pipermail/flashrom/2012-February/008832.html - mark S25FL032A as TEST_OK_PR (+PR) http://www.flashrom.org/pipermail/flashrom/2012-April/009105.html - mark AT25DF161 as TEST_OK_PROBE (+P) http://www.flashrom.org/pipermail/flashrom/2012-April/009095.html - mark SST as TEST_OK_PREW (+EW) http://www.flashrom.org/pipermail/flashrom/2012-April/009094.html Tested chipset enables: - H61 (various reports) - SiS 755 http://www.flashrom.org/pipermail/flashrom/2012-April/009072.html - Fix compilation of ich_descriptor_tool which was broken since r1492. - Add Documentation regarding unlocking the ME region on Intel chipsets. - Fix reading the flash descriptor via FDOC/FDOD and prettyprinting of the descriptor on boards with 5 active regions. - Reorder some boards in print.c. - Add Intel 7 Series (Panther Point) PCI IDs. - Add preliminary PCI IDs for future Intel chipsets (DH89xxCC and Lynx Point) see https://lkml.org/lkml/2012/2/20/467 - Change the message for untested chipsets to send only after an attempt to update the firmware with flashrom. - Fix warnings in ich_descriptor_tool's build. Corresponding to flashrom svn r1524. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
This commit is contained in:
@ -15,4 +15,83 @@
|
||||
See also http://www.flashrom.org/pipermail/flashrom/2011-August/007606.html
|
||||
|
||||
= Unlocking the ME region =
|
||||
TODO
|
||||
If the ME region is locked by the FRAP register in descriptor mode, the host
|
||||
software is not allowed to read or write any address inside that region. There
|
||||
are different ways to unlock access:
|
||||
|
||||
- A pin strap: Flash Descriptor Security Override Strap (as indicated by the
|
||||
Flash Descriptor Override Pin Strap Status (FDOPSS) in HSFS. That pin is
|
||||
probably not accessible to end users on consumer boards (every Intel doc i
|
||||
have seen stresses that this is for debugging in manufacturing only and
|
||||
should not be available for end users).
|
||||
The ME indicates this in bits [19:16] (Operation Mode) in the HFS register of
|
||||
the HECI/MEI PCI device by setting them to 4 (SECOVR_JMPR) [MODE_CTRL].
|
||||
|
||||
- Intel Management Engine BIOS Extension (MEBx) Disable
|
||||
This option may be available to end users on some boards usually accessible
|
||||
by hitting ctrl+p after BIOS POST. Quote: "'Disabling' the Intel ME does not
|
||||
really disable it: it causes the Intel ME code to be halted at an early stage
|
||||
of the Intel ME's booting so that the system has no traffic originating from
|
||||
the Intel ME on any of the buses." [MEBX] The ME indicates this in
|
||||
bits [19:16] (Operation Mode) in the HFS register of the HECI/MEI PCI device
|
||||
by setting them to 3 (Soft Temporary Disable) [MODE_CTRL].
|
||||
|
||||
- Previous to Ibex Peak/5 Series chipsets removing the DIMM from slot (or
|
||||
channel?) #0 disables the ME completely, which may give the host access to
|
||||
the ME region.
|
||||
|
||||
- HMRFPO (Host ME Region Flash Protection Override) Enable MEI command
|
||||
This is the most interesting one because it allows to temporarily disable
|
||||
the ME region protection by software. The ME indicates this in bits [19:16]
|
||||
(Operation Mode) in the HFS register of the HECI/MEI PCI device by setting
|
||||
them to 5 (SECOVER_MEI_MSG) [MODE_CTRL].
|
||||
|
||||
== MEI/HECI ==
|
||||
Communication between the host software and the different services provided by
|
||||
the ME is done via a packet-based protocol that uses MMIO transfers to one or
|
||||
more virtual PCI devices. Upon this layer there exist various services that can
|
||||
be used to read out hardware management values (e.g. temperatures, fan speeds
|
||||
etc.). The lower levels of that protocol are well documented:
|
||||
The locations/offsets of the PCI MMIO registers are noted in the chipset
|
||||
datasheets. The actually communication is documented in a whitepaper [DCMI] and
|
||||
an outdated as well as a current Linux kernel implementation (currently in
|
||||
staging/ exist [KERNEL]. There exists a patch that re-implements this in user
|
||||
space (as part of flashrom).
|
||||
|
||||
== Problems ==
|
||||
The problem is that only very few higher level protocols are documented publicly,
|
||||
especially the bunch of messages that contain the HMRFPO commands is probably
|
||||
well protected and only documented in ME-specific docs and the BIOS writer's
|
||||
guides. We are aware of a few leaked documents though that give us a few hints
|
||||
about it, but nothing substantial regarding its implementation.
|
||||
|
||||
The documents are somewhat contradicting each other in various points which
|
||||
might be due to factual changes in process of time or due to the different
|
||||
capabilities of the ME firmwares, example:
|
||||
|
||||
Intel's Flash Programming Tool (FPT) "automatically stops ME writing to SPI
|
||||
ME Region, to prevent both writing at the same time, causing data corruption." [ME8]
|
||||
|
||||
"FPT is not HMRFPO-capable, so needs [the help of the FDOPS pin] HDA_SDO if
|
||||
used to update the ME Region." [SPS]
|
||||
|
||||
When looking at the various ME firmware editions (and different chipsets), things
|
||||
get very unclear. Some docs say that HMRFPO needs to be sent before End-of-POST
|
||||
(EOP), others say that the ME region can be updated in the field or that some
|
||||
vendor tools use it for updates. This needs to be investigated further before
|
||||
drawing any conclusion.
|
||||
|
||||
[MODE_CTRL] Client Platform Enabling Tour: Platform Software
|
||||
Document Number: 439167, Revision 1.2, page 52
|
||||
[MEBX] Intel Management Engine BIOS Extension (MEBX) User's Guide
|
||||
Revision 1.2, Section 3.1 and 3.5
|
||||
[DCMI] DCMI Host Interface Specification
|
||||
Revision 1.0
|
||||
[KERNEL] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=drivers/staging/mei;hb=HEAD
|
||||
[SPI_PROG] Ibex Peak SPI Programming Guide
|
||||
Document Number: 403598, Revision 1.3, page 79
|
||||
[ME8] Manufacturing with Intel Management Engine (ME) Firmware 8.X on Intel 7 Series
|
||||
Revision 2.0, page 59
|
||||
[SPS] Manufacturing with Intel Management Engine (ME) on Intel C600 Series Chipset 1
|
||||
for Romley Server 2 Platforms using Server Platform Services (SPS) Firmware
|
||||
Revision 2.2, page 51
|
||||
|
Reference in New Issue
Block a user