boot,shared: share the definitions of EFI_LOADER_FEATURE macros

This means the the code needs to be kept compatible in the shared header,
but I think that still nicer than having two places to declare the same
things.

I added src/boot to -I, so that efi/foo.h needs to be used. This reduces
the potential for accidentally including the wrong header.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2019-07-10 14:59:48 +02:00
parent e04df06f58
commit 91b08bb00f
4 changed files with 21 additions and 11 deletions
+6 -5
View File
@@ -9,6 +9,7 @@
#include "disk.h"
#include "graphics.h"
#include "linux.h"
#include "loader-features.h"
#include "measure.h"
#include "pe.h"
#include "shim.h"
@@ -2277,11 +2278,11 @@ static VOID config_write_entries_to_variable(Config *config) {
EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
static const UINT64 loader_features =
(1ULL << 0) | /* I honour the LoaderConfigTimeout variable */
(1ULL << 1) | /* I honour the LoaderConfigTimeoutOneShot variable */
(1ULL << 2) | /* I honour the LoaderEntryDefault variable */
(1ULL << 3) | /* I honour the LoaderEntryOneShot variable */
(1ULL << 4) | /* I support boot counting */
EFI_LOADER_FEATURE_CONFIG_TIMEOUT |
EFI_LOADER_FEATURE_CONFIG_TIMEOUT_ONE_SHOT |
EFI_LOADER_FEATURE_ENTRY_DEFAULT |
EFI_LOADER_FEATURE_ENTRY_ONESHOT |
EFI_LOADER_FEATURE_BOOT_COUNTING |
0;
_cleanup_freepool_ CHAR16 *infostr = NULL, *typestr = NULL;
+13
View File
@@ -0,0 +1,13 @@
/* SPDX-License-Identifier: LGPL-2.1+ */
#pragma once
#ifndef UINT64_C
# define UINT64_C(c) (c ## ULL)
#endif
#define EFI_LOADER_FEATURE_CONFIG_TIMEOUT (UINT64_C(1) << 0)
#define EFI_LOADER_FEATURE_CONFIG_TIMEOUT_ONE_SHOT (UINT64_C(1) << 1)
#define EFI_LOADER_FEATURE_ENTRY_DEFAULT (UINT64_C(1) << 2)
#define EFI_LOADER_FEATURE_ENTRY_ONESHOT (UINT64_C(1) << 3)
#define EFI_LOADER_FEATURE_BOOT_COUNTING (UINT64_C(1) << 4)
#define EFI_LOADER_FEATURE_XBOOTLDR (UINT64_C(1) << 5)