On Tue, Mar 13, 2018 at 8:59 AM Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> wrote: > On 13 March 2018 at 07:47, Hans de Goede <hdegoede@xxxxxxxxxx> wrote: > > Hi, > > > > > > On 12-03-18 20:55, Thiebaud Weksteen wrote: > >> > ... > >> > >> Hans, you said you configured the tablet to use the 32-bit version of grub > >> instead > >> of 64. Why's that? > > > > > > Because this tablet, like (almost?) all Bay Trail hardware has a 32 bit > > UEFI, > > even though the processor is 64 bit capable (AFAIK 64 bit Windows drivers > > were > > not ready in time so all Bay Trail devices shipped with a 32 bit Windows). > > > > So this is running a 32 bit grub which boots a 64 bit kernel. > > > >> Jeremy, could you confirm if you are building the kernel in 64bit mode? Is > >> your Android install working? (that is, what happens if you boot > >> Boot0000)? > > > > > > AFAIK the kernel on Jeremy's tablet (which I initially installed) is 64 bit. > > > > Could the problem perhaps be that the new code for the TPM event-log is > > missing some handling to deal with running on a 32 bit firmware? I know the > > rest of the kernel has special code to deal with this. > > Yes, that was my guess as well. > That is a very good point, and I missed that this is a 64-bit kernel > running on 32-bit UEFI. > The TPM code does use efi_call_proto() directly, and now I am thinking > it is perhaps the allocate_pages() call that simply only initializes > the low 32-bits of log_tbl. That make sense. Would you know what happens to the arguments of the function in this case? (I'm thinking &log_location ?) Would it be safer to skip the code completely on EFI_MIXED systems? > Jeremy, could you please try initializing tcg2_protocol and log_tbl to > NULL at the start of the function?