1*231b6c9eSGerd Hoffmann /* 2*231b6c9eSGerd Hoffmann * SPDX-License-Identifier: GPL-2.0-or-later 3*231b6c9eSGerd Hoffmann * 4*231b6c9eSGerd Hoffmann * uefi vars device - GUIDs 5*231b6c9eSGerd Hoffmann */ 6*231b6c9eSGerd Hoffmann 7*231b6c9eSGerd Hoffmann #include "qemu/osdep.h" 8*231b6c9eSGerd Hoffmann #include "system/dma.h" 9*231b6c9eSGerd Hoffmann 10*231b6c9eSGerd Hoffmann #include "hw/uefi/var-service.h" 11*231b6c9eSGerd Hoffmann 12*231b6c9eSGerd Hoffmann /* variable namespaces */ 13*231b6c9eSGerd Hoffmann 14*231b6c9eSGerd Hoffmann const QemuUUID EfiGlobalVariable = { 15*231b6c9eSGerd Hoffmann .data = UUID_LE(0x8be4df61, 0x93ca, 0x11d2, 0xaa, 0x0d, 16*231b6c9eSGerd Hoffmann 0x00, 0xe0, 0x98, 0x03, 0x2b, 0x8c) 17*231b6c9eSGerd Hoffmann }; 18*231b6c9eSGerd Hoffmann 19*231b6c9eSGerd Hoffmann const QemuUUID EfiImageSecurityDatabase = { 20*231b6c9eSGerd Hoffmann .data = UUID_LE(0xd719b2cb, 0x3d3a, 0x4596, 0xa3, 0xbc, 21*231b6c9eSGerd Hoffmann 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f) 22*231b6c9eSGerd Hoffmann }; 23*231b6c9eSGerd Hoffmann 24*231b6c9eSGerd Hoffmann const QemuUUID EfiCustomModeEnable = { 25*231b6c9eSGerd Hoffmann .data = UUID_LE(0xc076ec0c, 0x7028, 0x4399, 0xa0, 0x72, 26*231b6c9eSGerd Hoffmann 0x71, 0xee, 0x5c, 0x44, 0x8b, 0x9f) 27*231b6c9eSGerd Hoffmann }; 28*231b6c9eSGerd Hoffmann 29*231b6c9eSGerd Hoffmann const QemuUUID EfiSecureBootEnableDisable = { 30*231b6c9eSGerd Hoffmann .data = UUID_LE(0xf0a30bc7, 0xaf08, 0x4556, 0x99, 0xc4, 31*231b6c9eSGerd Hoffmann 0x0, 0x10, 0x9, 0xc9, 0x3a, 0x44) 32*231b6c9eSGerd Hoffmann }; 33*231b6c9eSGerd Hoffmann 34*231b6c9eSGerd Hoffmann /* signatures */ 35*231b6c9eSGerd Hoffmann 36*231b6c9eSGerd Hoffmann const QemuUUID EfiCertSha256Guid = { 37*231b6c9eSGerd Hoffmann .data = UUID_LE(0xc1c41626, 0x504c, 0x4092, 0xac, 0xa9, 38*231b6c9eSGerd Hoffmann 0x41, 0xf9, 0x36, 0x93, 0x43, 0x28) 39*231b6c9eSGerd Hoffmann }; 40*231b6c9eSGerd Hoffmann 41*231b6c9eSGerd Hoffmann const QemuUUID EfiCertSha384Guid = { 42*231b6c9eSGerd Hoffmann .data = UUID_LE(0xff3e5307, 0x9fd0, 0x48c9, 0x85, 0xf1, 43*231b6c9eSGerd Hoffmann 0x8a, 0xd5, 0x6c, 0x70, 0x1e, 0x1) 44*231b6c9eSGerd Hoffmann }; 45*231b6c9eSGerd Hoffmann 46*231b6c9eSGerd Hoffmann const QemuUUID EfiCertSha512Guid = { 47*231b6c9eSGerd Hoffmann .data = UUID_LE(0x93e0fae, 0xa6c4, 0x4f50, 0x9f, 0x1b, 48*231b6c9eSGerd Hoffmann 0xd4, 0x1e, 0x2b, 0x89, 0xc1, 0x9a) 49*231b6c9eSGerd Hoffmann }; 50*231b6c9eSGerd Hoffmann 51*231b6c9eSGerd Hoffmann const QemuUUID EfiCertRsa2048Guid = { 52*231b6c9eSGerd Hoffmann .data = UUID_LE(0x3c5766e8, 0x269c, 0x4e34, 0xaa, 0x14, 53*231b6c9eSGerd Hoffmann 0xed, 0x77, 0x6e, 0x85, 0xb3, 0xb6) 54*231b6c9eSGerd Hoffmann }; 55*231b6c9eSGerd Hoffmann 56*231b6c9eSGerd Hoffmann const QemuUUID EfiCertX509Guid = { 57*231b6c9eSGerd Hoffmann .data = UUID_LE(0xa5c059a1, 0x94e4, 0x4aa7, 0x87, 0xb5, 58*231b6c9eSGerd Hoffmann 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72) 59*231b6c9eSGerd Hoffmann }; 60*231b6c9eSGerd Hoffmann 61*231b6c9eSGerd Hoffmann const QemuUUID EfiCertTypePkcs7Guid = { 62*231b6c9eSGerd Hoffmann .data = UUID_LE(0x4aafd29d, 0x68df, 0x49ee, 0x8a, 0xa9, 63*231b6c9eSGerd Hoffmann 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7) 64*231b6c9eSGerd Hoffmann }; 65*231b6c9eSGerd Hoffmann 66*231b6c9eSGerd Hoffmann /* 67*231b6c9eSGerd Hoffmann * mm_header.guid values that the guest DXE/BDS phases use for 68*231b6c9eSGerd Hoffmann * sending requests to management mode 69*231b6c9eSGerd Hoffmann */ 70*231b6c9eSGerd Hoffmann 71*231b6c9eSGerd Hoffmann const QemuUUID EfiSmmVariableProtocolGuid = { 72*231b6c9eSGerd Hoffmann .data = UUID_LE(0xed32d533, 0x99e6, 0x4209, 0x9c, 0xc0, 73*231b6c9eSGerd Hoffmann 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7) 74*231b6c9eSGerd Hoffmann }; 75*231b6c9eSGerd Hoffmann 76*231b6c9eSGerd Hoffmann const QemuUUID VarCheckPolicyLibMmiHandlerGuid = { 77*231b6c9eSGerd Hoffmann .data = UUID_LE(0xda1b0d11, 0xd1a7, 0x46c4, 0x9d, 0xc9, 78*231b6c9eSGerd Hoffmann 0xf3, 0x71, 0x48, 0x75, 0xc6, 0xeb) 79*231b6c9eSGerd Hoffmann }; 80*231b6c9eSGerd Hoffmann 81*231b6c9eSGerd Hoffmann /* 82*231b6c9eSGerd Hoffmann * mm_header.guid values that the guest DXE/BDS phases use for 83*231b6c9eSGerd Hoffmann * reporting event groups being signaled to management mode 84*231b6c9eSGerd Hoffmann */ 85*231b6c9eSGerd Hoffmann 86*231b6c9eSGerd Hoffmann const QemuUUID EfiEndOfDxeEventGroupGuid = { 87*231b6c9eSGerd Hoffmann .data = UUID_LE(0x02ce967a, 0xdd7e, 0x4FFc, 0x9e, 0xe7, 88*231b6c9eSGerd Hoffmann 0x81, 0x0c, 0xF0, 0x47, 0x08, 0x80) 89*231b6c9eSGerd Hoffmann }; 90*231b6c9eSGerd Hoffmann 91*231b6c9eSGerd Hoffmann const QemuUUID EfiEventReadyToBootGuid = { 92*231b6c9eSGerd Hoffmann .data = UUID_LE(0x7ce88Fb3, 0x4bd7, 0x4679, 0x87, 0xa8, 93*231b6c9eSGerd Hoffmann 0xa8, 0xd8, 0xde, 0xe5, 0x0d, 0x2b) 94*231b6c9eSGerd Hoffmann }; 95*231b6c9eSGerd Hoffmann 96*231b6c9eSGerd Hoffmann const QemuUUID EfiEventExitBootServicesGuid = { 97*231b6c9eSGerd Hoffmann .data = UUID_LE(0x27abF055, 0xb1b8, 0x4c26, 0x80, 0x48, 98*231b6c9eSGerd Hoffmann 0x74, 0x8F, 0x37, 0xba, 0xa2, 0xdF) 99*231b6c9eSGerd Hoffmann }; 100