1c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini/** @file 2c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo BonziniSMRAM Save State Map Definitions. 3c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 4c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo BonziniSMRAM Save State Map definitions based on contents of the 5c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo BonziniIntel(R) 64 and IA-32 Architectures Software Developer's Manual 6c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini Volume 3C, Section 34.4 SMRAM 7c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini Volume 3C, Section 34.5 SMI Handler Execution Environment 8c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini Volume 3C, Section 34.7 Managing Synchronous and Asynchronous SMIs 9c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 10c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonziniand the AMD64 Architecture Programmer's Manual 11c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini Volume 2, Section 10.2 SMM Resources 12c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 13c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo BonziniCopyright (c) 2015, Intel Corporation. All rights reserved.<BR> 14c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo BonziniCopyright (c) 2015, Red Hat, Inc.<BR> 15c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo BonziniThis program and the accompanying materials 16c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonziniare licensed and made available under the terms and conditions of the BSD License 17c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonziniwhich accompanies this distribution. The full text of the license may be found at 18c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzinihttp://opensource.org/licenses/bsd-license.php 19c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 20c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo BonziniTHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 21c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo BonziniWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 22c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 23c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini**/ 24c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 25c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini#ifndef __QEMU_SMRAM_SAVE_STATE_MAP_H__ 26c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini#define __QEMU_SMRAM_SAVE_STATE_MAP_H__ 27c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 28c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini#pragma pack (1) 29c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 30c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini/// 31c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini/// 32-bit SMRAM Save State Map 32c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini/// 33c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzinitypedef struct { 34c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT8 Reserved0[0x200]; // 7c00h 35c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT8 Reserved1[0xf8]; // 7e00h 36c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 SMBASE; // 7ef8h 37c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 SMMRevId; // 7efch 38c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 IORestart; // 7f00h 39c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 AutoHALTRestart; // 7f02h 40c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT8 Reserved2[0x9C]; // 7f08h 41c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 IOMemAddr; // 7fa0h 42c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 IOMisc; // 7fa4h 43c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _ES; // 7fa8h 44c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _CS; // 7fach 45c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _SS; // 7fb0h 46c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _DS; // 7fb4h 47c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _FS; // 7fb8h 48c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _GS; // 7fbch 49c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 Reserved3; // 7fc0h 50c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _TR; // 7fc4h 51c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _DR7; // 7fc8h 52c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _DR6; // 7fcch 53c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _EAX; // 7fd0h 54c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _ECX; // 7fd4h 55c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _EDX; // 7fd8h 56c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _EBX; // 7fdch 57c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _ESP; // 7fe0h 58c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _EBP; // 7fe4h 59c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _ESI; // 7fe8h 60c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _EDI; // 7fech 61c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _EIP; // 7ff0h 62c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _EFLAGS; // 7ff4h 63c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _CR3; // 7ff8h 64c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _CR0; // 7ffch 65c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini} QEMU_SMRAM_SAVE_STATE_MAP32; 66c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 67c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini/// 68c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini/// 64-bit SMRAM Save State Map 69c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini/// 70c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzinitypedef struct { 71c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT8 Reserved0[0x200]; // 7c00h 72c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 73c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _ES; // 7e00h 74c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _ESAccessRights; // 7e02h 75c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _ESLimit; // 7e04h 76c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _ESBase; // 7e08h 77c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 78c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _CS; // 7e10h 79c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _CSAccessRights; // 7e12h 80c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _CSLimit; // 7e14h 81c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _CSBase; // 7e18h 82c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 83c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _SS; // 7e20h 84c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _SSAccessRights; // 7e22h 85c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _SSLimit; // 7e24h 86c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _SSBase; // 7e28h 87c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 88c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _DS; // 7e30h 89c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _DSAccessRights; // 7e32h 90c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _DSLimit; // 7e34h 91c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _DSBase; // 7e38h 92c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 93c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _FS; // 7e40h 94c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _FSAccessRights; // 7e42h 95c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _FSLimit; // 7e44h 96c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _FSBase; // 7e48h 97c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 98c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _GS; // 7e50h 99c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _GSAccessRights; // 7e52h 100c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _GSLimit; // 7e54h 101c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _GSBase; // 7e58h 102c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 103c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _GDTRReserved1; // 7e60h 104c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _GDTRLimit; // 7e64h 105c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _GDTRReserved2; // 7e66h 106c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _GDTRBase; // 7e68h 107c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 108c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _LDTR; // 7e70h 109c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _LDTRAccessRights; // 7e72h 110c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _LDTRLimit; // 7e74h 111c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _LDTRBase; // 7e78h 112c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 113c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _IDTRReserved1; // 7e80h 114c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _IDTRLimit; // 7e84h 115c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _IDTRReserved2; // 7e86h 116c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _IDTRBase; // 7e88h 117c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 118c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _TR; // 7e90h 119c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT16 _TRAccessRights; // 7e92h 120c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 _TRLimit; // 7e94h 121c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _TRBase; // 7e98h 122c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 123c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 IO_RIP; // 7ea0h 124c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 IO_RCX; // 7ea8h 125c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 IO_RSI; // 7eb0h 126c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 IO_RDI; // 7eb8h 127c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 IO_DWord; // 7ec0h 128c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT8 Reserved1[0x04]; // 7ec4h 129c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT8 IORestart; // 7ec8h 130c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT8 AutoHALTRestart; // 7ec9h 131c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT8 Reserved2[0x06]; // 7ecah 132c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 133c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 IA32_EFER; // 7ed0h 134c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 SVM_Guest; // 7ed8h 135c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 SVM_GuestVMCB; // 7ee0h 136c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 SVM_GuestVIntr; // 7ee8h 137c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT8 Reserved3[0x0c]; // 7ef0h 138c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 139c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 SMMRevId; // 7efch 140c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT32 SMBASE; // 7f00h 141c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 142c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT8 Reserved4[0x1c]; // 7f04h 143c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 SVM_GuestPAT; // 7f20h 144c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 SVM_HostIA32_EFER; // 7f28h 145c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 SVM_HostCR4; // 7f30h 146c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 SVM_HostCR3; // 7f38h 147c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 SVM_HostCR0; // 7f40h 148c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 149c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _CR4; // 7f48h 150c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _CR3; // 7f50h 151c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _CR0; // 7f58h 152c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _DR7; // 7f60h 153c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _DR6; // 7f68h 154c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _RFLAGS; // 7f70h 155c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _RIP; // 7f78h 156c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _R15; // 7f80h 157c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _R14; // 7f88h 158c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _R13; // 7f90h 159c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _R12; // 7f98h 160c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _R11; // 7fa0h 161c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _R10; // 7fa8h 162c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _R9; // 7fb0h 163c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _R8; // 7fb8h 164c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _RDI; // 7fc0h 165c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _RSI; // 7fc8h 166c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _RBP; // 7fd0h 167c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _RSP; // 7fd8h 168c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _RBX; // 7fe0h 169c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _RDX; // 7fe8h 170c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _RCX; // 7ff0h 171c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini UINT64 _RAX; // 7ff8h 172c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini} QEMU_SMRAM_SAVE_STATE_MAP64; 173c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 174c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini/// 175c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini/// Union of 32-bit and 64-bit SMRAM Save State Maps 176c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini/// 177c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzinitypedef union { 178c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini QEMU_SMRAM_SAVE_STATE_MAP32 x86; 179c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini QEMU_SMRAM_SAVE_STATE_MAP64 x64; 180c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini} QEMU_SMRAM_SAVE_STATE_MAP; 181c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 182c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini#pragma pack () 183c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini 184c1fcd80bf42e6b1e91c1c742d222f1ba421b1d1dPaolo Bonzini#endif 185