[coreboot] RV: Error booting with TPM enabled.

Zaolin zaolin at das-labor.org
Fri Jun 22 16:34:58 CEST 2018


Hey Jorge,


Are you sure that it's the right ACPI path name ?

Also can you please provide me your decompiled SSDT

so I can check whats going on ?



Best Regards, Philipp


On 22.06.2018 12:52, Jorge Fernandez Monteagudo wrote:
>
> 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/e2469765/attachment.html>


More information about the coreboot mailing list