| /** @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_ |