[coreboot] RV: Error booting with TPM enabled.

Jorge Fernandez Monteagudo jorgefm at cirsa.com
Fri Jun 22 12:52:02 CEST 2018


Hi,


I've found the src/southbridge/amd/pi/hudson/lpc.c, the related to the AMD Bettong demoboard, and

'lpc_acpi_name' and 'lpc_ops' are already defined... Maybe they are not enabled or used?


Thanks!



static const char *lpc_acpi_name(const struct device *dev)
{
    if (dev->path.type != DEVICE_PATH_PCI)
        return NULL;

    if (dev->path.pci.devfn == LPC_DEVFN)
        return "LIBR";

    return NULL;
}

static struct device_operations lpc_ops = {
    .read_resources = hudson_lpc_read_resources,
    .set_resources = hudson_lpc_set_resources,
    .enable_resources = hudson_lpc_enable_resources,
#if IS_ENABLED(CONFIG_HAVE_ACPI_TABLES)
    .write_acpi_tables = acpi_write_hpet,
#endif
    .init = lpc_init,
    .scan_bus = scan_lpc_bus,
    .ops_pci = &lops_pci,
    .acpi_name = lpc_acpi_name,
};



________________________________
De: Zaolin <zaolin at das-labor.org>
Enviado: viernes, 22 de junio de 2018 12:26:27
Para: Jorge Fernandez Monteagudo; coreboot at coreboot.org
Asunto: Re: [coreboot] RV: Error booting with TPM enabled.


Hey,


you miss the LPC ACPI path for your SoC.

Just register the acpi_name method:


https://review.coreboot.org/#/c/coreboot/+/25534/2/src/soc/intel/fsp_broadwell_de/southcluster.c


I hope that helps.



Best Regards, Philipp

On 22.06.2018 12:18, Jorge Fernandez Monteagudo wrote:
Hi all,


I have an AMD Bettong demoboard supported by coreboot and the default configuration works ok.

I've been able to boot a debian8 with a 4.17.1 kernel using the SeaBios payload. Now I've connected

a TPM 1.2 to the LPC bus and I've done the next changes to the coreboot master code

(ae05d095b36ac835a6b1a221e6858065e5486888)


--- src/mainboard/amd/bettong/devicetree.cb    2018-05-10 09:39:18.000000000 +0200
+++ src/mainboard/amd/bettong/devicetree.cb    2018-06-18 15:13:53.761093194 +0200
@@ -52,7 +52,11 @@
                     end
                 end # SM
                 #device pci 14.2 on  end # HDA    0x4383
-                device pci 14.3 on  end # LPC    0x439d
+                device pci 14.3 on      # LPC    0x439d
+                    chip drivers/pc80/tpm
+                        device pnp 0c31.0 on end
+                    end # LPC TPM
+                end
                 device pci 14.7 on  end # SD
             end    #chip southbridge/amd/pi/hudson

--- src/mainboard/amd/bettong/Kconfig    2018-05-10 09:39:18.000000000 +0200
+++ src/mainboard/amd/bettong/Kconfig    2018-06-18 12:36:10.014905977 +0200
@@ -27,7 +27,9 @@
     select HAVE_ACPI_TABLES
     select BOARD_ROMSIZE_KB_8192
     select GFXUMA
-
+    select MAINBOARD_HAS_LPC_TPM
+    select TPM
+
 config MAINBOARD_DIR
     string
     default amd/bettong

--- src/mainboard/amd/bettong/romstage.c    2018-05-10 09:39:18.000000000 +0200
+++ src/mainboard/amd/bettong/romstage.c    2018-06-22 09:57:09.650663554 +0200
@@ -24,6 +24,7 @@
 #include <northbridge/amd/pi/agesawrapper.h>
 #include <northbridge/amd/pi/agesawrapper_call.h>
 #include <southbridge/amd/pi/hudson/hudson.h>
+#include <security/tpm/tis.h>

 void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
 {
@@ -67,6 +68,8 @@
     post_code(0x41);
     AGESAWRAPPER(amdinitenv);

+    init_tpm(false);
+
     if (acpi_is_wakeup_s4()) {
         outb(0xEE, PM_INDEX);
         outb(0x8, PM_DATA);



Now the demoboard boots and a new option for TPM is displayed on screen (t for TPM actions),

the grub is loaded ok, but the kernel complains with the next lines I've been able to write down

from a pic I took with the phone.


object-220)
ACPI Error: Method parse/execution failed \, AE_NOT_FOUND (20180313/psparse-516)
ACPI Error: Invalid zero thread count in method (20180313/dsmethod-760)
ACPI Error: Invalid OwnerId: 0x00 (20180313/utownerid-156)
ACPI Error: AE_NOT_FOUND, (SSDT:COREBOOT) while loading table (20180313/tbxfload-197)
ACPI Error: 1 table load failures, 3 successful (20180313/tbxfload-215)
ACPI BIOS Error (bug): Failure looking up [\_SB.PCI0._CRS.TOM1], AE_NOT_FOUND (20180313/psargs-330)
ACPI Error: Method parse/execution failed \_SB.PCI0._CRS, AE_NOT_FOUND (20180313/psparse-516)
ACPI BIOS Error (bug): Failure looking up [\_SB.PCI0._CRS.TOM1], AE_NOT_FOUND (20180313/psargs-330)
ACPI Error: Method parse/execution failed \_SB.PCI0._CRS, AE_NOT_FOUND (20180313/psparse-516)
ACPI BIOS Error (bug): Failure looking up [\_SB.PCI0._CRS.TOM1], AE_NOT_FOUND (20180313/psargs-330)
ACPI Error: Method parse/execution failed \_SB.PCI0._CRS, AE_NOT_FOUND (20180313/psparse-516)
acpi PNP0A08:00: Bus 0000:00 not present in PCI namespace
Loading, please wait...


Anybody could help me to make the board boots again?


Regards

Jorge



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot/attachments/20180622/6a4be18f/attachment.html>


More information about the coreboot mailing list