OvmfPkg: introduce E820.h

E820 definitions copied from IntelFrameworkModulePkg/Csm/
LegacyBiosDxe/LegacyBiosInterface.h.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14941 6f19259b-4bc3-4df7-8a09-765794883524
diff --git a/OvmfPkg/Include/IndustryStandard/E820.h b/OvmfPkg/Include/IndustryStandard/E820.h
new file mode 100644
index 0000000..aeafd89
--- /dev/null
+++ b/OvmfPkg/Include/IndustryStandard/E820.h
@@ -0,0 +1,46 @@
+/** @file

+

+Copyright (c) 2013, Citrix Systems UK Ltd.

+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>

+

+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 __E820_H__

+#define __E820_H__

+

+#pragma pack(1)

+

+typedef enum {

+  EfiAcpiAddressRangeMemory   = 1,

+  EfiAcpiAddressRangeReserved = 2,

+  EfiAcpiAddressRangeACPI     = 3,

+  EfiAcpiAddressRangeNVS      = 4

+} EFI_ACPI_MEMORY_TYPE;

+

+typedef struct {

+  UINT64                BaseAddr;

+  UINT64                Length;

+  EFI_ACPI_MEMORY_TYPE  Type;

+} EFI_E820_ENTRY64;

+

+typedef struct {

+  UINT32                BassAddrLow;

+  UINT32                BaseAddrHigh;

+  UINT32                LengthLow;

+  UINT32                LengthHigh;

+  EFI_ACPI_MEMORY_TYPE  Type;

+} EFI_E820_ENTRY;

+

+#pragma pack()

+

+#endif /* __E820_H__ */