This commit has been widely tested on an MSI H110M (Sunrise Point) with an
i3-6300T, on two different ME firmware:
* 11.6.1.1142 CON (2.0 MB, no AMT)
* 11.6.1.1142 COR (7.1 MB, AMT)
In particular:
* The only fundamental FTPR modules seems to be rbe, kernel, syslib and
bup. Incidentally, on CON images, these modules are the only ones
Huffman-compressed. Removing any of these modules inhibits the correct
powering on of the PC.
* Now that the Huffman modules are not mixed together in a single Huffman
stream, removing them is trivial and can be done in the same way as the
LZMA/uncompressed modules.
* For the same reason, as there isn't a LLUT header anymore, the
partitions can be freely moved without any change in the content of the
partition, thus the relocation option has been added.
* The truncation information has been adjusted, like in the older ME
versions. However, the correct functioning of a PC with a truncated ME
region hasn't been tested yet.
With this commit me_cleaner is able to remove the majority of the FTPR
modules, going from the original code size of 2.0 MB (no AMT) or 6-7 MB
(AMT) to ~300 kB of compressed code.