Issue #585 has been reported by Walter Sonius.
---------------------------------------- Support #585: acpi MSDM / SLIC table usage? https://ticket.coreboot.org/issues/585
* Author: Walter Sonius * Status: New * Priority: Normal * Category: Documentation * Target version: none * Start date: 2025-03-20 * Affected OS: Windows 8 Pro / Windows 10 Pro ---------------------------------------- What option(s) does one need to compile this feature into a coreboot & edk2 build and where does one put the `slic_file` and in what format?
Couldn't find anything in the documentation nor the commits that introduce MSDM/SLIC support: https://review.coreboot.org/c/coreboot/+/44995 https://review.coreboot.org/c/coreboot/+/7202
Issue #585 has been updated by Keith Hui.
The second link would have most of your answers. First you need `select HAVE_ACPI_SLIC` in your Kconfig, then incorporate the actual SLIC file into the image using cbfstool as fallback/slic, raw.
---------------------------------------- Support #585: acpi MSDM / SLIC table usage? https://ticket.coreboot.org/issues/585#change-2028
* Author: Walter Sonius * Status: New * Priority: Normal * Category: Documentation * Target version: none * Start date: 2025-03-20 * Affected OS: Windows 8 Pro / Windows 10 Pro ---------------------------------------- What option(s) does one need to compile this feature into a coreboot & edk2 build and where does one put the `slic_file` and in what format?
Couldn't find anything in the documentation nor the commits that introduce MSDM/SLIC support: https://review.coreboot.org/c/coreboot/+/44995 https://review.coreboot.org/c/coreboot/+/7202
Issue #585 has been updated by Walter Sonius.
Just installed a Windows 10 Pro 22H2 (manually selected PRO version during install) using the Original OEM v3.08 BIOS (UEFI mode) and it got activated online with the new Xeon e3-1225v2 CPU. Since that is legitimate and confirmed I will try to extract the SLIC/MSDM ACPI table and will try to insert it into the coreboot edk2 and re-test install/activation again.
---------------------------------------- Support #585: acpi MSDM / SLIC table usage? https://ticket.coreboot.org/issues/585#change-2032
* Author: Walter Sonius * Status: New * Priority: Normal * Category: Documentation * Target version: none * Start date: 2025-03-20 * Affected OS: Windows 8 Pro / Windows 10 Pro ---------------------------------------- What option(s) does one need to compile this feature into a coreboot & edk2 build and where does one put the `slic_file` and in what format?
Couldn't find anything in the documentation nor the commits that introduce MSDM/SLIC support: https://review.coreboot.org/c/coreboot/+/44995 https://review.coreboot.org/c/coreboot/+/7202
Issue #585 has been updated by Walter Sonius.
Extracted using `dd` both MSDM and SLIC from `/sys/firmware/acpi/tables/` and put `select HAVE_ACPI_SLIC` in the `srs/mainboard/hp/snb_ivb_desktops/Kconfig` in the common board section. Should this give an option in `make menuconfig` where I can give a file/folder location for `slic_file` similar like the `Flash_descriptor`, `ME` and `GBE` region.
Or can I just use cbfstool on a image without this Kconfig option with some foo `cbfstool currentokcb.rom add -f SLIC -n fallback,slic -t raw`?
---------------------------------------- Support #585: acpi MSDM / SLIC table usage? https://ticket.coreboot.org/issues/585#change-2033
* Author: Walter Sonius * Status: New * Priority: Normal * Category: Documentation * Target version: none * Start date: 2025-03-20 * Affected OS: Windows 8 Pro / Windows 10 Pro ---------------------------------------- What option(s) does one need to compile this feature into a coreboot & edk2 build and where does one put the `slic_file` and in what format?
Couldn't find anything in the documentation nor the commits that introduce MSDM/SLIC support: https://review.coreboot.org/c/coreboot/+/44995 https://review.coreboot.org/c/coreboot/+/7202
Issue #585 has been updated by Nicholas Chin.
Walter Sonius wrote in #note-3:
Extracted using `dd` both MSDM and SLIC from `/sys/firmware/acpi/tables/` and put `select HAVE_ACPI_SLIC` in the `srs/mainboard/hp/snb_ivb_desktops/Kconfig` in the common board section. Should this give an option in `make menuconfig` where I can give a file/folder location for `slic_file` similar like the `Flash_descriptor`, `ME` and `GBE` region.
The code in https://review.coreboot.org/c/coreboot/+/7202 actually removed the `HAVE_ACPI_SLIC` option. It seems like that option was originally added to enable C code which would generate the SLIC table based on data added in an array. CB:7202 removed the need for the C code and made it so that it just reads the raw SLIC table from `fallback/slic`.
Or can I just use cbfstool on a image without this Kconfig option with some foo `cbfstool currentokcb.rom add -f SLIC -n fallback,slic -t raw`?
Yes, that `cbfstool` command seems like it should work (it's `fallback/slic` though, not `fallback,slic`)
---------------------------------------- Support #585: acpi MSDM / SLIC table usage? https://ticket.coreboot.org/issues/585#change-2038
* Author: Walter Sonius * Status: New * Priority: Normal * Category: Documentation * Target version: none * Start date: 2025-03-20 * Affected OS: Windows 8 Pro / Windows 10 Pro ---------------------------------------- What option(s) does one need to compile this feature into a coreboot & edk2 build and where does one put the `slic_file` and in what format?
Couldn't find anything in the documentation nor the commits that introduce MSDM/SLIC support: https://review.coreboot.org/c/coreboot/+/44995 https://review.coreboot.org/c/coreboot/+/7202
Issue #585 has been updated by Walter Sonius.
Just tried to add the SLIC file to the existing coreboot tianocore image build without `select HAVE_ACPI_SLIC` and re-installed W10 Pro but it wouldn't activate. `cbfstool currentok.rom add -f SLIC -n fallback/slic -t raw` It gives an error code 0xC004F213, after that also tried adding the MSDM as a additional raw payload but that gave error 0x803f7001. `cbfstool currentokslic.rom add -f MSDM -n fallback/msdm -t raw`
If you have both SLIC and MSDM should both be applied, or does the `HAVE_ACPI_SLIC` create somekind of reference/link to the added fallback files?
---------------------------------------- Support #585: acpi MSDM / SLIC table usage? https://ticket.coreboot.org/issues/585#change-2039
* Author: Walter Sonius * Status: New * Priority: Normal * Category: Documentation * Target version: none * Start date: 2025-03-20 * Affected OS: Windows 8 Pro / Windows 10 Pro ---------------------------------------- What option(s) does one need to compile this feature into a coreboot & edk2 build and where does one put the `slic_file` and in what format?
Couldn't find anything in the documentation nor the commits that introduce MSDM/SLIC support: https://review.coreboot.org/c/coreboot/+/44995 https://review.coreboot.org/c/coreboot/+/7202
Issue #585 has been updated by Nicholas Chin.
Walter Sonius wrote in #note-5:
Just tried to add the SLIC file to the existing coreboot tianocore image build without `select HAVE_ACPI_SLIC` and re-installed W10 Pro but it wouldn't activate.
From some research it seems like SLIC isn't directly used to activate a copy of Windows but is instead used to authenticate an OEM product key for offline activation. Apparently you still need to enter in the product key when SLIC is being used. MSDM on the other hand does just contain a product key. It also seems like SLIC is only used on Windows 7 and older, whereas 8 and newer need MSDM.
`cbfstool currentok.rom add -f SLIC -n fallback/slic -t raw` It gives an error code 0xC004F213, after that also tried adding the MSDM as a additional raw payload but that gave error 0x803f7001. `cbfstool currentokslic.rom add -f MSDM -n fallback/msdm -t raw`
Looking through the code, coreboot doesn't support a `fallback/msdm` file. Instead, `fallback/slic` can be either a SLIC table or an MSDM table. So if should be something like `cbfstool currentok.rom add -f MSDM -n fallback/slic -t raw`. I'm assuming that MSDM file from the command you tried is `/sys/firmware/acpi/tables/MSDM`?
If you have both SLIC and MSDM should both be applied, or does the `HAVE_ACPI_SLIC` create somekind of reference/link to the added fallback files?
As I mentioned before, `HAVE_ACPI_SLIC` no longer exists as it was removed in CB:7202 due to the new code making it unnecessary.
---------------------------------------- Support #585: acpi MSDM / SLIC table usage? https://ticket.coreboot.org/issues/585#change-2041
* Author: Walter Sonius * Status: New * Priority: Normal * Category: Documentation * Target version: none * Start date: 2025-03-20 * Affected OS: Windows 8 Pro / Windows 10 Pro ---------------------------------------- What option(s) does one need to compile this feature into a coreboot & edk2 build and where does one put the `slic_file` and in what format?
Couldn't find anything in the documentation nor the commits that introduce MSDM/SLIC support: https://review.coreboot.org/c/coreboot/+/44995 https://review.coreboot.org/c/coreboot/+/7202
Issue #585 has been updated by Walter Sonius.
Nicholas Chin wrote in #note-6:
Looking through the code, coreboot doesn't support a `fallback/msdm` file. Instead, `fallback/slic` can be either a SLIC table or an MSDM table. So if should be something like `cbfstool currentok.rom add -f MSDM -n fallback/slic -t raw`. I'm assuming that MSDM file from the command you tried is `/sys/firmware/acpi/tables/MSDM`?
Using that code indeed reveals a `/sys/firmware/acpi/tables/MSDM` table in Linux with the same hash as OEM firmware, however this machine is from the Windows 7 or early "free upgrade" Windows 8 era. During Windows 10 install on the original OEM Firmware it wasn't able to detect its own version (Pro/Home) from the internal SLIC/MSDM so it prompted me to manually selected Pro or fill in a product key. I selected Pro and let Windows 10 do its own online activation probably by a mix of hardware/firmware components, without ever filling a product key. But with coreboot a lot of the internals and OEM naming changed.
Currently with your tip by using MSDM>SLIC, this behavior is still the same for the EDK2 booted Windows 10 installer as for the OEM, it is still not able to detect its own version and I can select or fill in product key.
LOL... just tried to fill in the product key from the MSDM file by hand during install and it says it is not valid!
So it might have been activated before with a automatic online check, maybe based on a different product key?
---------------------------------------- Support #585: acpi MSDM / SLIC table usage? https://ticket.coreboot.org/issues/585#change-2042
* Author: Walter Sonius * Status: New * Priority: Normal * Category: Documentation * Target version: none * Start date: 2025-03-20 * Affected OS: Windows 8 Pro / Windows 10 Pro ---------------------------------------- What option(s) does one need to compile this feature into a coreboot & edk2 build and where does one put the `slic_file` and in what format?
Couldn't find anything in the documentation nor the commits that introduce MSDM/SLIC support: https://review.coreboot.org/c/coreboot/+/44995 https://review.coreboot.org/c/coreboot/+/7202
Issue #585 has been updated by Walter Sonius.
Also tested Windows 8.1 DVD, which behaves the same as the Windows 10 22H2 DVD it will ask for a key and reject it. Since the Windows 7 DVD's I tried will not boot reliable on both corebooted EDK2 as well as OEM BIOS I'd rather spare my and other peoples time and stop the current Windows activation effort for this 'pro_6300_sff'.
For future intel H81 / Q170 coreboot ports I already have both working OEM MSDM serials which will get correctly detected during install so its better to implement and check this SLIC/MSDM coreboot feature with those newer machines if the coreboot port will succeed.
Thanks for the input sofar, feel free to close this topic since the method to use the SLIC/MSDM has been cleared up.
---------------------------------------- Support #585: acpi MSDM / SLIC table usage? https://ticket.coreboot.org/issues/585#change-2055
* Author: Walter Sonius * Status: New * Priority: Normal * Category: Documentation * Target version: none * Start date: 2025-03-20 * Affected OS: Windows 8 Pro / Windows 10 Pro ---------------------------------------- What option(s) does one need to compile this feature into a coreboot & edk2 build and where does one put the `slic_file` and in what format?
Couldn't find anything in the documentation nor the commits that introduce MSDM/SLIC support: https://review.coreboot.org/c/coreboot/+/44995 https://review.coreboot.org/c/coreboot/+/7202