Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932389AbbLBCUi (ORCPT ); Tue, 1 Dec 2015 21:20:38 -0500 Received: from terminus.zytor.com ([198.137.202.10]:53707 "EHLO mail.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756514AbbLBCUh (ORCPT ); Tue, 1 Dec 2015 21:20:37 -0500 Subject: Re: tboot: non-0 tboot_addr but it is not of type E820_RESERVED To: "Elliott, Robert (Persistent Memory)" , "joseph.cihula@intel.com" , "richard.l.maliszewski@intel.com" , "gang.wei@intel.com" , "shane.wang@intel.com" References: <94D0CD8314A33A4D9D801C0FE68B40295BE5000E@G9W0745.americas.hpqcorp.net> <94D0CD8314A33A4D9D801C0FE68B40295BE775BC@G4W3202.americas.hpqcorp.net> Cc: "tglx@linutronix.de" , "mingo@redhat.com" , "x86@kernel.org" , "tboot-devel@lists.sourceforge.net" , "linux-kernel@vger.kernel.org" , "Knippers, Linda" , "Kani, Toshimitsu" From: "H. Peter Anvin" Message-ID: <565E5556.5040703@zytor.com> Date: Tue, 1 Dec 2015 18:20:06 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <94D0CD8314A33A4D9D801C0FE68B40295BE775BC@G4W3202.americas.hpqcorp.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3243 Lines: 73 On 12/01/15 17:26, Elliott, Robert (Persistent Memory) wrote: > > Per an hpa suggestion, I compared two versions of grub: > > upstream grub (with "linux" in grub.cfg): > tboot_probe boot_params[0] = 0000008000000000 0000000000000070 > tboot_probe boot_params[16] = 1000000400032000 0000009100003000 > tboot_probe boot_params[32] = 3fa3001000100810 0808080008180000 > tboot_probe boot_params[48] = 0000000000000000 0000000000000000 > tboot probe boot_params[64] = 0000000000000000 0000000000000000 > tboot_probe boot_params[80] = 0000000000000000 0000000000000000 > tboot_probe boot_params[96] = 0000000000000000 0000000000000000 > tboot_probe boot_params[112] = 0000000000000000 0000000000000000 > tboot_probe boot_params[128] = 0000000000000000 0000000000000000 > tboot_probe boot_params[144] = 0000000000000000 0000000000000000 > tboot_probe boot_params[160] = 0000000000000000 0000000000000000 > tboot_probe boot_params[176] = 0000000000000000 0000000000000000 > tboot_probe boot_params[192] = 0000000000000000 0000000000000000 > ... > > > Fedora 22 grub (with "linuxefi" in grub.cfg): > tboot_probe boot_params[0] = 0000000000000000 0000000000000070 > tboot_probe boot_params[16] = 0000000400032000 0000009100003000 > tboot_probe boot_params[32] = 0000000000100810 0808080008180000 > tboot_probe boot_params[48] = 0000010000000100 0000000000000000 > tboot_probe boot_params[64] = 557365206120626f 6f74206c6f616465 > tboot_probe boot_params[80] = 722e0d0a0a52656d 6f7665206469736b > tboot_probe boot_params[96] = 20616e6420707265 737320616e79206b > tboot_probe boot_params[112] = 657920746f207265 626f6f742e2e2e0d > tboot_probe boot_params[128] = 0a00504500006486 0400000000000000 > tboot_probe boot_params[144] = 000001000000a000 06020b020214f017 > tboot_probe boot_params[160] = 5c00000000001076 d200104600000002 > tboot_probe boot_params[176] = 0000000000000000 0000200000002000 > tboot_probe boot_params[192] = 0000000000000000 0000000000000000 > ... > [ 0.000000] tboot: non-0 tboot_addr 0x6b7369642065766f but it is not of type E820_RESERVED > > In both cases, the kernel is compiled with CONFIG_EFI_STUB=y. > > tboot_addr is at offset 88. Offset 64 is an ASCII string that says: > "Use a boot loader. > > Remove disk and press any key to reboot..." > > and is from arch/x86/boot/header.S, which is placing that string > at offset 64 (0x3c + 4) from .bstext (which precedes .bsdata) if > CONFIG_EFI_STUB is true. > > #ifdef CONFIG_EFI_STUB > .org 0x3c > # > # Offset to the PE header. > # > .long pe_header > #endif /* CONFIG_EFI_STUB */ > > .section ".bsdata", "a" > bugger_off_msg: > .ascii "Use a boot loader.\r\n" > .ascii "\n" > .ascii "Remove disk and press any key to reboot...\r\n" > .byte 0 > Most likely the "linuxefi" boot method uses the EFI handover protocol, however. It looks like they don't start with a properly zeroed structure... -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/