Home | History | Annotate | Download | only in PlatformDxe
      1 /** @file
      2 
      3   Utility functions for serializing (persistently storing) and deserializing
      4   OVMF's platform configuration.
      5 
      6   Copyright (C) 2014, Red Hat, Inc.
      7 
      8   This program and the accompanying materials are licensed and made available
      9   under the terms and conditions of the BSD License which accompanies this
     10   distribution. The full text of the license may be found at
     11   http://opensource.org/licenses/bsd-license.php
     12 
     13   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
     14   WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     15 
     16 **/
     17 
     18 #ifndef _PLATFORM_CONFIG_H_
     19 #define _PLATFORM_CONFIG_H_
     20 
     21 #include <Base.h>
     22 
     23 //
     24 // This structure participates in driver configuration. It does not
     25 // (necessarily) reflect the wire format in the persistent store.
     26 //
     27 #pragma pack(1)
     28 typedef struct {
     29   //
     30   // preferred graphics console resolution when booting
     31   //
     32   UINT32 HorizontalResolution;
     33   UINT32 VerticalResolution;
     34 } PLATFORM_CONFIG;
     35 #pragma pack()
     36 
     37 //
     38 // Please see the API documentation near the function definitions.
     39 //
     40 EFI_STATUS
     41 EFIAPI
     42 PlatformConfigSave (
     43   IN PLATFORM_CONFIG *PlatformConfig
     44   );
     45 
     46 EFI_STATUS
     47 EFIAPI
     48 PlatformConfigLoad (
     49   OUT PLATFORM_CONFIG *PlatformConfig,
     50   OUT UINT64          *OptionalElements
     51   );
     52 
     53 //
     54 // Feature flags for OptionalElements.
     55 //
     56 #define PLATFORM_CONFIG_F_GRAPHICS_RESOLUTION BIT0
     57 #define PLATFORM_CONFIG_F_DOWNGRADE           BIT63
     58 
     59 #endif // _PLATFORM_CONFIG_H_
     60