/** @file | |
Utility functions for serializing (persistently storing) and deserializing | |
OVMF's platform configuration. | |
Copyright (C) 2014, Red Hat, Inc. | |
This program and the accompanying materials are licensed and made available | |
under the terms and conditions of the BSD License which accompanies this | |
distribution. The full text of the license may be found at | |
http://opensource.org/licenses/bsd-license.php | |
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT | |
WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
**/ | |
#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 | |
#endif // _PLATFORM_CONFIG_H_ |