/** @file | |
Utility functions for serializing (persistently storing) and deserializing | |
OVMF's platform configuration. | |
Copyright (C) 2014, Red Hat, Inc. | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#ifndef _PLATFORM_CONFIG_H_ | |
#define _PLATFORM_CONFIG_H_ | |
#include <Base.h> | |
// | |
// This structure participates in driver configuration. It does not | |
// (necessarily) reflect the wire format in the persistent store. | |
// | |
#pragma pack(1) | |
typedef struct { | |
// | |
// preferred graphics console resolution when booting | |
// | |
UINT32 HorizontalResolution; | |
UINT32 VerticalResolution; | |
} PLATFORM_CONFIG; | |
#pragma pack() | |
// | |
// Please see the API documentation near the function definitions. | |
// | |
EFI_STATUS | |
EFIAPI | |
PlatformConfigSave ( | |
IN PLATFORM_CONFIG *PlatformConfig | |
); | |
EFI_STATUS | |
EFIAPI | |
PlatformConfigLoad ( | |
OUT PLATFORM_CONFIG *PlatformConfig, | |
OUT UINT64 *OptionalElements | |
); | |
// | |
// Feature flags for OptionalElements. | |
// | |
#define PLATFORM_CONFIG_F_GRAPHICS_RESOLUTION BIT0 | |
#define PLATFORM_CONFIG_F_DOWNGRADE BIT63 | |
extern CHAR16 mVariableName[]; | |
extern CHAR16 mHiiFormName[]; | |
#endif // _PLATFORM_CONFIG_H_ |