d6ca0a90ca
Add support for performing basic TPM measurements. Right now this only supports extending PCRs statically and only on UEFI. In future we might want to have some sort of mechanism for choosing which events get logged to which PCRs, but this seems like a good default policy and we can wait to see whether anyone has a use case before adding more complexity. Signed-off-by: Matthew Garrett <mjg59@google.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
/* init.c - initialize an x86-based EFI system */
|
|
/*
|
|
* GRUB -- GRand Unified Bootloader
|
|
* Copyright (C) 2006,2007 Free Software Foundation, Inc.
|
|
*
|
|
* GRUB is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* GRUB is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#include <grub/types.h>
|
|
#include <grub/misc.h>
|
|
#include <grub/mm.h>
|
|
#include <grub/err.h>
|
|
#include <grub/dl.h>
|
|
#include <grub/cache.h>
|
|
#include <grub/kernel.h>
|
|
#include <grub/efi/efi.h>
|
|
#include <grub/i386/tsc.h>
|
|
#include <grub/loader.h>
|
|
#include <grub/tpm.h>
|
|
|
|
void
|
|
grub_machine_init (void)
|
|
{
|
|
grub_efi_init ();
|
|
grub_tsc_init ();
|
|
}
|
|
|
|
void
|
|
grub_machine_fini (int flags)
|
|
{
|
|
if (flags & GRUB_LOADER_FLAG_NORETURN)
|
|
grub_efi_fini ();
|
|
}
|