diff --git a/AmiCRBPkg/CRB/CRBDxe/CRBDxe.c b/AmiCRBPkg/CRB/CRBDxe/CRBDxe.c index 79f645c..2ec824e 100644 --- a/AmiCRBPkg/CRB/CRBDxe/CRBDxe.c +++ b/AmiCRBPkg/CRB/CRBDxe/CRBDxe.c @@ -280,7 +280,7 @@ if ( v5 >= 0 ) return (*(__int64 (__fastcall **)(__int64))(BootServices + 112))(a1); /*0x82b*/ else - return sub_172C( + return DebugLogPrint( 0x80000000LL, " Get RSTe OROM Boot Info BIOS Services: Unable to write to CMOS variable holding RSTe Boot info. Status %r\n", v5); @@ -345,29 +345,29 @@ Get_Class_and_subclass_code_Status___%r_n = "Get Class and subclass code Status = %r\n"; /*0x902*/ LABEL_6: n64 = 0x80000000LL; /*0x909*/ - return sub_172C(n64, Get_Class_and_subclass_code_Status___%r_n, result); /*0x9a6*/ + return DebugLogPrint(n64, Get_Class_and_subclass_code_Status___%r_n, result); /*0x9a6*/ } if ( n2 != 2 ) /*0x917*/ return result; /*0x917*/ - sub_172C(64, "Class code is Network.\n"); /*0x927*/ + DebugLogPrint(64, "Class code is Network.\n"); /*0x927*/ if ( n2 == 2 && v6[10] == 8 ) /*0x936*/ - return sub_172C(64, "This is Fabric controller, return..\n"); /*0x93f*/ + return DebugLogPrint(64, "This is Fabric controller, return..\n"); /*0x93f*/ result = (*(__int64 (__fastcall **)(__int64, unsigned __int8 *, _QWORD))v9)(v9, &v8, 0); /*0x94f*/ if ( result < 0 ) /*0x954*/ { Get_Class_and_subclass_code_Status___%r_n = "GetOptionRomPolicy = %r\n"; /*0x956*/ goto LABEL_6; /*0x95d*/ } - sub_172C(64, "OptionRomPolicy = %d\n", v8); /*0x96e*/ + DebugLogPrint(64, "OptionRomPolicy = %d\n", v8); /*0x96e*/ if ( v8 == 1 ) /*0x977*/ { - sub_172C(64, "Oprom policy is UEFI, disable Oprom.\n"); /*0x983*/ + DebugLogPrint(64, "Oprom policy is UEFI, disable Oprom.\n"); /*0x983*/ result = (*(__int64 (__fastcall **)(__int64, _QWORD))(v9 + 8))(v9, 0); /*0x991*/ Get_Class_and_subclass_code_Status___%r_n = "SetOptionRomPolicy = %r\n"; /*0x994*/ n64 = 64; /*0x99b*/ - return sub_172C(n64, Get_Class_and_subclass_code_Status___%r_n, result); /*0x99b*/ + return DebugLogPrint(n64, Get_Class_and_subclass_code_Status___%r_n, result); /*0x99b*/ } - return sub_172C(64, "OptionRomPolicy is not UEFI\n"); /*0x9b2*/ + return DebugLogPrint(64, "OptionRomPolicy is not UEFI\n"); /*0x9b2*/ } } } @@ -405,10 +405,10 @@ &n814, &v7); if ( v0 < 0 ) /*0xa40*/ - return sub_172C(0x80000000LL, "Optimized Boot Get Setup Variable = %r\n", v0); /*0xa51*/ + return DebugLogPrint(0x80000000LL, "Optimized Boot Get Setup Variable = %r\n", v0); /*0xa51*/ if ( !v8 ) /*0xa61*/ - return sub_172C(64, "Optimized Boot = %d, Optimized is Disable\n", 0); /*0xb64*/ - sub_172C(64, "Optimized Boot = %d, Optimized is Enabled\n", v8); /*0xa79*/ + return DebugLogPrint(64, "Optimized Boot = %d, Optimized is Disable\n", 0); /*0xb64*/ + DebugLogPrint(64, "Optimized Boot = %d, Optimized is Enabled\n", v8); /*0xa79*/ if ( v9 == 1 ) /*0xa82*/ { v9 = 0; /*0xaaf*/ @@ -419,8 +419,8 @@ n814, &v7); if ( v2 < 0 ) /*0xab9*/ - return sub_172C(0x80000000LL, "Optimized Boot Set Setup Variable = %r\n", v2); /*0xac2*/ - sub_172C(64, "Disable CSM Support.\n"); /*0xace*/ + return DebugLogPrint(0x80000000LL, "Optimized Boot Set Setup Variable = %r\n", v2); /*0xac2*/ + DebugLogPrint(64, "Disable CSM Support.\n"); /*0xace*/ } n814 = 10; /*0xad8*/ result = (*(__int64 (__fastcall **)(const __int16 *, void *, unsigned int *, __int64 *, _BYTE *))(RuntimeServices + 72))( /*0xb0b*/ @@ -430,10 +430,10 @@ &n814, v6); if ( result < 0 ) /*0xb11*/ - return sub_172C(0x80000000LL, "Optimized Boot Get Network Stack Variable = %r\n", result); /*0xb1a*/ + return DebugLogPrint(0x80000000LL, "Optimized Boot Get Network Stack Variable = %r\n", result); /*0xb1a*/ if ( !v6[0] ) /*0xb24*/ { - sub_172C(64, "Register protocol notification for PciIoProtocol, to disable Network devices \n"); /*0xb30*/ + DebugLogPrint(64, "Register protocol notification for PciIoProtocol, to disable Network devices \n"); /*0xb30*/ return UefiLibCreateProtocolNotifyEvent((__int64)&dword_38F0, SystemTable, (__int64)PciClassCodeQuery, v4, (__int64)&qword_3CB0); /*0xb4f*/ } return result; /*0xb71*/ @@ -466,11 +466,11 @@ __int16 v21; // [rsp+40h] [rbp+18h] BYREF LOBYTE(v21) = a3; /*0xb8b*/ - v9 = sub_1858("Slot9"); /*0xba6*/ - buf = (char *)sub_1B18(v10, v9 + 19); /*0xbad*/ + v9 = AsciiStrLen("Slot9"); /*0xba6*/ + buf = (char *)AllocatePoolWrapper(v10, v9 + 19); /*0xbad*/ buf_1 = buf; /*0xbb2*/ if ( buf ) /*0xbb8*/ - buf_1 = sub_19B4(buf, v9 + 19); /*0xbc6*/ + buf_1 = SetMem16Wrapper(buf, v9 + 19); /*0xbc6*/ v13 = a6; /*0xbc9*/ buf_1[11] |= 4u; /*0xbd2*/ buf_1[12] |= 1u; /*0xbd6*/ @@ -539,16 +539,16 @@ n0x1000 = 0; /*0xcc7*/ v9 = ((32 * a1) | a2 & 0x1Fu) << 15; /*0xcd3*/ - sub_1E30(v9); /*0xcd6*/ - v10 = *(_BYTE *)sub_1E30((unsigned int)v9 | 0x34LL); /*0xce8*/ - n16 = *(_BYTE *)sub_1E30(v9 | v10); /*0xcf5*/ + MmioReadHelper(v9); /*0xcd6*/ + v10 = *(_BYTE *)MmioReadHelper((unsigned int)v9 | 0x34LL); /*0xce8*/ + n16 = *(_BYTE *)MmioReadHelper(v9 | v10); /*0xcf5*/ while ( n16 ) /*0xd3e*/ { if ( n16 == 16 ) /*0xcfc*/ goto LABEL_7; /*0xcfc*/ v12 = ((32LL * a1) | a2 & 0x1F) << 15; /*0xd17*/ - v10 = *(_BYTE *)sub_1E30(v12 | (unsigned __int8)(v10 + 1)); /*0xd23*/ - n16 = *(_BYTE *)sub_1E30(v12 | v10); /*0xd30*/ + v10 = *(_BYTE *)MmioReadHelper(v12 | (unsigned __int8)(v10 + 1)); /*0xd23*/ + n16 = *(_BYTE *)MmioReadHelper(v12 | v10); /*0xd30*/ if ( n0x1000 >= 0x1000 ) /*0xd38*/ break; /*0xd38*/ ++n0x1000; /*0xd3a*/ @@ -556,10 +556,10 @@ if ( n16 != 16 ) /*0xd43*/ return 0; /*0xd43*/ LABEL_7: - v13 = (unsigned __int16 *)sub_1E30((v10 + 18LL) | (((32LL * a1) | a2 & 0x1F) << 15)); /*0xd45*/ - *a4 = sub_2618(v13) & 0xF; /*0xd7b*/ - v14 = (unsigned __int16 *)sub_1E30((v10 + 18LL) | (((32LL * a1) | a2 & 0x1F) << 15)); /*0xd7e*/ - *a5 = ((unsigned __int16)sub_2618(v14) >> 4) & 0x3F; /*0xd96*/ + v13 = (unsigned __int16 *)MmioReadHelper((v10 + 18LL) | (((32LL * a1) | a2 & 0x1F) << 15)); /*0xd45*/ + *a4 = MmioRead16(v13) & 0xF; /*0xd7b*/ + v14 = (unsigned __int16 *)MmioReadHelper((v10 + 18LL) | (((32LL * a1) | a2 & 0x1F) << 15)); /*0xd7e*/ + *a5 = ((unsigned __int16)MmioRead16(v14) >> 4) & 0x3F; /*0xd96*/ return 0; /*0xda9*/ } @@ -606,11 +606,11 @@ v11 = -1; /*0xdf6*/ v12 = 0; /*0xdfc*/ v13 = ((32 * (unsigned __int8)a6) | (a7 >> 3)) << 15; /*0xe06*/ - v14 = (unsigned __int16 *)sub_1E30(v13); /*0xe09*/ - if ( (unsigned __int16)sub_2618(v14) != 0xFFFF ) /*0xe20*/ + v14 = (unsigned __int16 *)MmioReadHelper(v13); /*0xe09*/ + if ( (unsigned __int16)MmioRead16(v14) != 0xFFFF ) /*0xe20*/ { - v15 = *(_BYTE *)sub_1E30((unsigned int)v13 | 0x19LL); /*0xe38*/ - v16 = (unsigned __int8 *)sub_1E30(v13 | 0x1A); /*0xe3b*/ + v15 = *(_BYTE *)MmioReadHelper((unsigned int)v13 | 0x19LL); /*0xe38*/ + v16 = (unsigned __int8 *)MmioReadHelper(v13 | 0x1A); /*0xe3b*/ v17 = v15; /*0xe40*/ a7 = *v16; /*0xe45*/ if ( v15 > a7 ) /*0xe4f*/ @@ -621,8 +621,8 @@ while ( 1 ) /*0xe68*/ { v19 = ((32 * v17) | v18 & 0x1Fu) << 15; /*0xe68*/ - v20 = (unsigned __int16 *)sub_1E30(v19); /*0xe6b*/ - if ( (unsigned __int16)sub_2618(v20) != 0xFFFF && (*(_BYTE *)sub_1E30(v19 | 0xE) & 0x7F) == 0 ) /*0xe93*/ + v20 = (unsigned __int16 *)MmioReadHelper(v19); /*0xe6b*/ + if ( (unsigned __int16)MmioRead16(v20) != 0xFFFF && (*(_BYTE *)MmioReadHelper(v19 | 0xE) & 0x7F) == 0 ) /*0xe93*/ break; /*0xe93*/ if ( (unsigned __int8)++v18 >= 0x20u ) /*0xe9c*/ goto LABEL_9; /*0xe9c*/ @@ -641,8 +641,8 @@ v22 = 0; /*0xecd*/ do /*0xf01*/ { - v23 = (unsigned __int16 *)sub_1E30(((32LL * v15) | v22 & 0x1F) << 15); /*0xedc*/ - if ( (unsigned __int16)sub_2618(v23) != 0xFFFF ) /*0xeed*/ + v23 = (unsigned __int16 *)MmioReadHelper(((32LL * v15) | v22 & 0x1F) << 15); /*0xedc*/ + if ( (unsigned __int16)MmioRead16(v23) != 0xFFFF ) /*0xeed*/ { v8 = v15; /*0xef2*/ v11 = 8 * n0x20; /*0xef5*/ @@ -655,11 +655,11 @@ v10 = a2; /*0xf03*/ v9 = a3; /*0xf08*/ } - v24 = sub_1858(Slot9); /*0xf1d*/ - buf = (char *)sub_1B18(v25, v24 + 19); /*0xf24*/ + v24 = AsciiStrLen(Slot9); /*0xf1d*/ + buf = (char *)AllocatePoolWrapper(v25, v24 + 19); /*0xf24*/ buf_1 = buf; /*0xf29*/ if ( buf ) /*0xf2f*/ - buf_1 = sub_19B4(buf, v24 + 19); /*0xf3d*/ + buf_1 = SetMem16Wrapper(buf, v24 + 19); /*0xf3d*/ buf_1[11] |= 4u; /*0xf44*/ buf_1[12] |= 1u; /*0xf48*/ buf_1[5] = a1; /*0xf53*/ @@ -755,11 +755,11 @@ v7 = v30; /*0x10d9*/ v8 = v31; /*0x10e1*/ PciConfigBitParse(v31, v30, v5, v26, &v25); /*0x10f2*/ - sub_B7C(166, v9, v10, v26[0], v25, v8, v7); /*0x110d*/ + SmbiosType9FillSlotTable(166, v9, v10, v26[0], v25, v8, v7); /*0x110d*/ } else { - sub_B7C( /*0x10d7*/ + SmbiosType9FillSlotTable( /*0x10d7*/ 181, v3, v5, @@ -933,7 +933,7 @@ v12[5] = "Slot 6"; /*0x144e*/ v12[6] = "Slot 7"; /*0x1459*/ v12[7] = "Slot 8"; /*0x1464*/ - sub_172C(64, "UpdateSmbiosType9Table Updating Type 9\n"); /*0x1468*/ + DebugLogPrint(64, "UpdateSmbiosType9Table Updating Type 9\n"); /*0x1468*/ n8 = 0; /*0x146d*/ while ( 1 ) /*0x1498*/ { @@ -971,13 +971,13 @@ return 0x8000000000000003uLL; /*0x164a*/ *(_BYTE *)(v15 + 13) = byte_3D18[v10]; /*0x1577*/ *(_BYTE *)(v6 + 15) = byte_3D18[v10 + 2 + v7]; /*0x158a*/ - v11 = *(_BYTE *)sub_1E30( /*0x15ae*/ + v11 = *(_BYTE *)MmioReadHelper( /*0x15ae*/ ((*(unsigned __int8 *)(v15 + 16) | ((unsigned __int64)*(unsigned __int8 *)(v15 + 15) << 8)) << 12) | 0x19); if ( v11 == 0xFF ) /*0x15b3*/ *(_BYTE *)(v15 + 7) = 2; /*0x15b9*/ else - *(_BYTE *)(v15 + 7) = (*(_DWORD *)sub_1E30((unsigned __int64)v11 << 20) != -1) + 3; /*0x15da*/ + *(_BYTE *)(v15 + 7) = (*(_DWORD *)MmioReadHelper((unsigned __int64)v11 << 20) != -1) + 3; /*0x15da*/ v16 = *(unsigned __int8 *)(v15 + 4); /*0x15ed*/ ++n8; /*0x160c*/ v4 = (*(__int64 (__fastcall **)(__int64, __int64 *, __int64 *, _QWORD))(qword_3D78 + 8))( /*0x160f*/ @@ -988,7 +988,7 @@ if ( n8 >= 8u ) /*0x1616*/ { LABEL_11: - sub_172C(64, "UpdateSmbiosType9TableUpdating Type 9 Status %r \n", v4); /*0x161c*/ + DebugLogPrint(64, "UpdateSmbiosType9TableUpdating Type 9 Status %r \n", v4); /*0x161c*/ return v4; /*0x1630*/ } } @@ -1095,12 +1095,12 @@ (__int64)"e:\\hs\\MdePkg\\Library\\BaseLib\\String.c", 971, (__int64)"Destination != ((void *) 0)"); - if ( (unsigned __int64)&Destination_1[-DestMax] <= sub_1858((char *)DestMax) ) /*0x17f2*/ + if ( (unsigned __int64)&Destination_1[-DestMax] <= AsciiStrLen((char *)DestMax) ) /*0x17f2*/ AssertCpuDeadLoop( /*0x1807*/ (__int64)"e:\\hs\\MdePkg\\Library\\BaseLib\\String.c", 976, (__int64)"(UINTN)(Destination - Source) > AsciiStrLen (Source)"); - if ( DestMax - (unsigned __int64)Destination_1 <= sub_1858((char *)DestMax) ) /*0x181d*/ + if ( DestMax - (unsigned __int64)Destination_1 <= AsciiStrLen((char *)DestMax) ) /*0x181d*/ AssertCpuDeadLoop( /*0x1832*/ (__int64)"e:\\hs\\MdePkg\\Library\\BaseLib\\String.c", 977, @@ -1289,7 +1289,7 @@ *a2 = 0; /*0x1bea*/ if ( !*(_QWORD *)(v4 + 104) ) /*0x1bee*/ return 0x800000000000000EuLL; /*0x1c17*/ - for ( i = 0; !sub_1A24(a1, i + *(_QWORD *)(v4 + 112)); i += 24 ) /*0x1bf4*/ + for ( i = 0; !SetMem32Wrapper(a1, i + *(_QWORD *)(v4 + 112)); i += 24 ) /*0x1bf4*/ { if ( (unsigned __int64)++v5 >= *(_QWORD *)(v4 + 104) ) /*0x1c15*/ return 0x800000000000000EuLL; /*0x1c15*/ @@ -1304,7 +1304,7 @@ __int64 __fastcall UefiLibCreateProtocolNotifyEvent( __int64 a1, EFI_SYSTEM_TABLE *SystemTable, - __int64 sub_1658, + __int64 NotifyFunction, __int64 a4, __int64 a5) { @@ -1312,22 +1312,22 @@ __int64 v8; // rax if ( !a1 ) /*0x1c74*/ - sub_1774((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 152, (__int64)"ProtocolGuid != ((void *) 0)"); /*0x1c85*/ - if ( !sub_1658 ) /*0x1c8d*/ - sub_1774((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 153, (__int64)"NotifyFunction != ((void *) 0)"); /*0x1c9e*/ + AssertCpuDeadLoop((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 152, (__int64)"ProtocolGuid != ((void *) 0)"); /*0x1c85*/ + if ( !NotifyFunction ) /*0x1c8d*/ + AssertCpuDeadLoop((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 153, (__int64)"NotifyFunction != ((void *) 0)"); /*0x1c9e*/ if ( !a5 ) /*0x1ca9*/ - sub_1774((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 154, (__int64)"Registration != ((void *) 0)"); /*0x1cba*/ - v7 = (*(__int64 (__fastcall **)(__int64, __int64, __int64))(qword_3CC0 + 80))(512, 8, sub_1658); /*0x1cdf*/ + AssertCpuDeadLoop((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 154, (__int64)"Registration != ((void *) 0)"); /*0x1cba*/ + v7 = (*(__int64 (__fastcall **)(__int64, __int64, __int64))(qword_3CC0 + 80))(512, 8, NotifyFunction); /*0x1cdf*/ if ( v7 < 0 ) /*0x1cea*/ { - sub_172C(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v7); /*0x1cf8*/ - sub_1774((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 167, (__int64)"!EFI_ERROR (Status)"); /*0x1d0c*/ + DebugLogPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v7); /*0x1cf8*/ + AssertCpuDeadLoop((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 167, (__int64)"!EFI_ERROR (Status)"); /*0x1d0c*/ } v8 = (*(__int64 (__fastcall **)(__int64, __int64, __int64))(qword_3CC0 + 168))(a1, a4, a5); /*0x1d25*/ if ( v8 < 0 ) /*0x1d2e*/ { - sub_172C(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v8); /*0x1d3d*/ - sub_1774((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 179, (__int64)"!EFI_ERROR (Status)"); /*0x1d51*/ + DebugLogPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v8); /*0x1d3d*/ + AssertCpuDeadLoop((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 179, (__int64)"!EFI_ERROR (Status)"); /*0x1d51*/ } (*(void (__fastcall **)(__int64))(qword_3CC0 + 104))(a4); /*0x1d62*/ return a4; /*0x1d74*/ @@ -1383,7 +1383,7 @@ __int64 __fastcall MmioReadHelper(__int64 a1) { if ( (a1 & 0xFFFFFFFFF0000000uLL) != 0 ) /*0x1e40*/ - sub_1774( /*0x1e55*/ + AssertCpuDeadLoop( /*0x1e55*/ (__int64)"e:\\hs\\MdePkg\\Library\\SmmPciExpressLib\\PciExpressLib.c", 118, (__int64)"((Address) & ~0xfffffff) == 0"); @@ -1421,13 +1421,13 @@ buf_1[0] = 0; /*0x1e9e*/ v5 = 0; /*0x1eaa*/ SmbiosType9GetSlotInfo(&buf, &buf_, buf_1); /*0x1eb1*/ - v6 = (unsigned __int16 *)sub_1E30(((unsigned __int64)(unsigned __int8)buf_ << 20) | 0x10000); /*0x1ec3*/ - if ( (unsigned __int16)sub_2618(v6) != 0xFFFF ) /*0x1ed8*/ + v6 = (unsigned __int16 *)MmioReadHelper(((unsigned __int64)(unsigned __int8)buf_ << 20) | 0x10000); /*0x1ec3*/ + if ( (unsigned __int16)MmioRead16(v6) != 0xFFFF ) /*0x1ed8*/ { - v7 = *(_BYTE *)sub_1E30(((unsigned __int64)(unsigned __int8)buf_ << 20) | 0x10019); /*0x1ef2*/ + v7 = *(_BYTE *)MmioReadHelper(((unsigned __int64)(unsigned __int8)buf_ << 20) | 0x10019); /*0x1ef2*/ if ( (unsigned __int8)(v7 - 1) > 0xFDu ) /*0x1ef9*/ return 0x8000000000000006uLL; /*0x1ef9*/ - v8 = *(_BYTE *)sub_1E30(((unsigned __int64)(unsigned __int8)buf_ << 20) | 0x1001A); /*0x1f13*/ + v8 = *(_BYTE *)MmioReadHelper(((unsigned __int64)(unsigned __int8)buf_ << 20) | 0x1001A); /*0x1f13*/ if ( (unsigned __int8)(v8 - 1) > 0xFDu ) /*0x1f1c*/ return 0x8000000000000006uLL; /*0x1f8c*/ if ( v7 <= v8 ) /*0x1f21*/ @@ -1435,7 +1435,7 @@ do /*0x1f23*/ { v9 = 0; /*0x1f23*/ - while ( *(_BYTE *)sub_1E30((((32LL * v7) | v9 & 0x1F) << 15) | 0xB) != 2 ) /*0x1f4a*/ + while ( *(_BYTE *)MmioReadHelper((((32LL * v7) | v9 & 0x1F) << 15) | 0xB) != 2 ) /*0x1f4a*/ { if ( (unsigned __int8)++v9 >= 0x20u ) /*0x1f53*/ goto LABEL_10; /*0x1f53*/ @@ -1461,25 +1461,25 @@ while ( 1 ) /*0x1fb5*/ { v14 = ((32 * v11) | v13 & 0x1Fu) << 15; /*0x1fb5*/ - v15 = (unsigned __int16 *)sub_1E30(v14); /*0x1fb8*/ - if ( (unsigned __int16)sub_2618(v15) == 0x8086 ) /*0x1fcd*/ + v15 = (unsigned __int16 *)MmioReadHelper(v14); /*0x1fb8*/ + if ( (unsigned __int16)MmioRead16(v15) == 0x8086 ) /*0x1fcd*/ { - v16 = (unsigned __int16 *)sub_1E30(v14 | 2); /*0x1fd6*/ - if ( (unsigned __int16)sub_2618(v16) == 14277 ) /*0x1feb*/ + v16 = (unsigned __int16 *)MmioReadHelper(v14 | 2); /*0x1fd6*/ + if ( (unsigned __int16)MmioRead16(v16) == 14277 ) /*0x1feb*/ break; /*0x1feb*/ } if ( ++v13 == -1 ) /*0x1ff2*/ goto LABEL_30; /*0x1ff2*/ } v17 = ((32 * v12) | v13 & 0x1F) << 15; /*0x200a*/ - v18 = *(_BYTE *)sub_1E30(v17 | 0x19); /*0x2021*/ - v20 = *(_BYTE *)sub_1E30(v17 | 0x1A); /*0x202b*/ + v18 = *(_BYTE *)MmioReadHelper(v17 | 0x19); /*0x2021*/ + v20 = *(_BYTE *)MmioReadHelper(v17 | 0x1A); /*0x202b*/ if ( v18 <= v20 ) /*0x2031*/ { do /*0x2087*/ { v19 = 0; /*0x203b*/ - while ( *(_BYTE *)sub_1E30((((32LL * v18) | v19 & 0x1F) << 15) | 0xB) != 2 ) /*0x2060*/ + while ( *(_BYTE *)MmioReadHelper((((32LL * v18) | v19 & 0x1F) << 15) | 0xB) != 2 ) /*0x2060*/ { if ( (unsigned __int8)++v19 >= 0x20u ) /*0x2067*/ goto LABEL_27; /*0x2067*/ @@ -1525,9 +1525,9 @@ __int64 n2_1; // rbx n2 = 0; /*0x20ff*/ - sub_1964(buf, 2u); /*0x210c*/ - sub_1964(buf_1, 2u); /*0x2116*/ - sub_1964(buf_2, 2u); /*0x2120*/ + SetMemWrapper(buf, 2u); /*0x210c*/ + SetMemWrapper(buf_1, 2u); /*0x2116*/ + SetMemWrapper(buf_2, 2u); /*0x2120*/ v7 = 0; /*0x2125*/ v8 = 0; /*0x2128*/ do /*0x21d6*/ @@ -1805,7 +1805,7 @@ UINT16 __cdecl MmioRead16(UINTN Address) { if ( (Address & 1) != 0 ) /*0x2624*/ - sub_1774((__int64)"e:\\hs\\MdePkg\\Library\\BaseIoLibIntrinsic\\IoLib.c", 151, (__int64)"(Address & 1) == 0"); /*0x2639*/ + AssertCpuDeadLoop((__int64)"e:\\hs\\MdePkg\\Library\\BaseIoLibIntrinsic\\IoLib.c", 151, (__int64)"(Address & 1) == 0"); /*0x2639*/ return *(_WORD *)Address; /*0x2641*/ } diff --git a/AmiCompatibilityPkg/CmosManager/CmosManagerDxe/CmosDxe.c b/AmiCompatibilityPkg/CmosManager/CmosManagerDxe/CmosDxe.c index 0c2d70e..cf7d133 100644 --- a/AmiCompatibilityPkg/CmosManager/CmosManagerDxe/CmosDxe.c +++ b/AmiCompatibilityPkg/CmosManager/CmosManagerDxe/CmosDxe.c @@ -21,74 +21,7 @@ #include "CmosDxe.h" -// ========================================================================= -// Function Rename Table -// ========================================================================= -// IDA name Renamed to -// ------------ ------------------------------------------------ -// sub_320 InternalMemCopyMem -- memcpy with overlap handling -// sub_390 ModuleEntryPoint -- DXE entry point -// sub_3AC CmosManagerDriverEntry -- driver initialization -// sub_5D0 CmosManagerInstallProtocol -- install protocol & register callbacks -// sub_738 CmosDebugPrint -- debug/trace output via DebugLib -// sub_830 CmosParseConfigTables -- parse CMOS config from FV/hob data -// sub_9F4 CmosClearPowerLossStatus -- clear CMOS power-loss status bits -// sub_AA8 CmosGetProtocolContext -- return protocol context pointer -// sub_ADC CmosCheckAllFlags -- test all flags in mask: (flags & mask) == mask -// sub_AEC CmosCheckAnyFlags -- test any flag in mask: (flags & mask) != 0 -// sub_AF8 CmosSetStateFlags -- set state bits + write to CMOS status reg -// sub_BC0 CmosSetFlag -- wrapper: set flags (calls CmosSetStateFlags) -// sub_BCC CmosClearFlag -- clear state bits + update CMOS status reg -// sub_C84 CmosReadShadowBuffer -- allocate/reload shadow buffer from CMOS HW -// sub_D78 CmosWriteVariable -- write 32-bit value to extended CMOS bank -// sub_E00 CmosReadVariable -- read 32-bit value from extended CMOS bank -// sub_E88 CmosInstallProtocol -- install CmosManager protocol on handle -// sub_EF8 CmosInitializeVtable -- fill protocol vtable with function pointers -// sub_100C CmosCreateProtocolInstance -- allocate + populate protocol instance -// sub_1200 CmosAddressLookup -- convert bank number to CMOS address -// sub_127C CmosPortIoAccess -- raw CMOS port read/write (config table based) -// sub_135C CmosRegisterWrite -- write CMOS register with checksum update -// sub_1460 CmosBufferReadWrite -- read/write CMOS through shadow buffer -// sub_1584 CmosRegisterDispatch -- route register access to buffer or direct IO -// sub_166C CmosTableReadWrite -- table-based bitfield register access -// sub_1758 CmosReadRegister -- read CMOS register by address -// sub_1820 CmosGetStatus -- read RTC status info + bank flags -// sub_19B4 CmosReadChecksum -- read current CMOS checksum from HW -// sub_19F0 CmosWriteChecksum -- write checksum to CMOS HW -// sub_1A58 CmosUpdateNmiStatus -- update NMI status reg 0x0E bits -// sub_1B14 CmosUpdateChecksumDelta -- update checksum after register change -// sub_1C04 CmosVerifyChecksum -- verify CMOS checksum -// sub_1D34 CmosWriteRegister -- write CMOS register by address -// sub_1E00 CmosFlushOrLoadDefaults -- flush buffer or load optimal defaults -// sub_2038 CmosRtcBcdRead -- read BCD-encoded RTC register -// sub_206C CmosRtcBcdWrite -- write BCD-encoded RTC register -// sub_20AC CmosWriteTime -- write RTC time to CMOS -// sub_21C8 CmosReadTime -- read RTC time from CMOS -// sub_226C CmosGetDebugInterface -- get DebugLib protocol interface -// sub_22EC CmosDebugPrintWithStatus -- debug print with status code -// sub_2334 CmosAssert -- UEFI assert handler -// sub_2374 CmsGetSystemConfigurationTable -- locate UEFI config table by GUID -// sub_2438 CmosGetHobList -- get HOB list pointer -// sub_24BC CmosFindConfigTable -- find config table by GUID -// sub_250C CmosGetDebugProtocol -- get DebugPort protocol -// sub_2594 CmosInitDebugOutput -- initialize debug output protocol -// sub_2678 CmosDebugOutput -- debug printf via DebugLib -// sub_2704 CmosGuidCompare -- compare GUIDs (memcmp) -// sub_2778 CmosUint64ToString -- convert UINT64 to string with base -// sub_27EC CmosAsciiStrToInt -- parse ASCII string to integer -// sub_28C0 CmosStatusToString -- convert EFI_STATUS to string -// sub_2988 CmosAsciiSPrint -- format string (vsnprintf) -// sub_2DC8 CmosAsciiSPrintVa -- va_list wrapper for AsciiSPrint -// sub_2DE8 CmosExtPortIoAccess -- extended CMOS access via ports 0x70/0x71(NMI) -// sub_2E58 CmosReturnFalse -- stub: always returns 0 -// sub_2E5C CmosReturnTrue -- stub: always returns 1 -// sub_2E60 CmosBankPortIoAccess -- bank-switched CMOS via ports 0x72/0x73 -// sub_2EA0 CmosGetDebugLevel -- read CMOS debug level from 0x74/0x75 -// sub_2EF0 CmosReadUnaligned16 -- read unaligned UINT16 * -// sub_2F20 CmosReadUnaligned64 -- read unaligned UINT64 * -// sub_2F50 CmosCopyMem -- memcpy wrapper with bounds checks -// sub_2FF8 CmosCompareGuid -- compare GUID structs -// sub_3060 CmosGetPcdProtocol -- get PCD protocol pointer -// sub_314E CmosSetMem -- memset wrapper -// sub_31A0 CmosCopyMemOverlap -- memmove wrapper -// ========================================================================= \ No newline at end of file +// +// Decompiler rename notes were removed from the source body; this module now +// carries only the module-level banner and include. +// diff --git a/AmiCompatibilityPkg/CmosManager/CmosManagerDxe/CmosDxe.h b/AmiCompatibilityPkg/CmosManager/CmosManagerDxe/CmosDxe.h index 88ff28b..5cfa4a0 100644 --- a/AmiCompatibilityPkg/CmosManager/CmosManagerDxe/CmosDxe.h +++ b/AmiCompatibilityPkg/CmosManager/CmosManagerDxe/CmosDxe.h @@ -1,7 +1,7 @@ /** @file - CmosDxe.h -- Header for CmosDxe + CmosDxe.h -Copyright (c) HR650X BIOS Decompilation Project + Minimal header for the CMOS DXE module. **/ #ifndef __CMOSDXE_H__ @@ -9,475 +9,4 @@ #include "../uefi_headers/Uefi.h" -// -// Function Prototypes -// - -EFI_STATUS -EFIAPI -Rename Table( - VOID -); - -EFI_STATUS -EFIAPI -name Renamed to( - VOID -); - -/// memcpy with overlap handling -EFI_STATUS -EFIAPI -InternalMemCopyMem( - VOID -); - -/// DXE entry point -EFI_STATUS -EFIAPI -ModuleEntryPoint( - VOID -); - -/// driver initialization -EFI_STATUS -EFIAPI -CmosManagerDriverEntry( - VOID -); - -/// install protocol & register callbacks -EFI_STATUS -EFIAPI -CmosManagerInstallProtocol( - VOID -); - -/// debug/trace output via DebugLib -EFI_STATUS -EFIAPI -CmosDebugPrint( - VOID -); - -/// parse CMOS config from FV/hob data -EFI_STATUS -EFIAPI -CmosParseConfigTables( - VOID -); - -/// clear CMOS power-loss status bits -EFI_STATUS -EFIAPI -CmosClearPowerLossStatus( - VOID -); - -/// return protocol context pointer -EFI_STATUS -EFIAPI -CmosGetProtocolContext( - VOID -); - -/// test all flags in mask: (flags & mask) == mask -EFI_STATUS -EFIAPI -CmosCheckAllFlags( - VOID -); - -/// test any flag in mask: (flags & mask) != 0 -EFI_STATUS -EFIAPI -CmosCheckAnyFlags( - VOID -); - -/// set state bits + write to CMOS status reg -EFI_STATUS -EFIAPI -CmosSetStateFlags( - VOID -); - -/// wrapper: set flags (calls CmosSetStateFlags) -EFI_STATUS -EFIAPI -CmosSetFlag( - VOID -); - -/// clear state bits + update CMOS status reg -EFI_STATUS -EFIAPI -CmosClearFlag( - VOID -); - -/// allocate/reload shadow buffer from CMOS HW -EFI_STATUS -EFIAPI -CmosReadShadowBuffer( - VOID -); - -/// write 32-bit value to extended CMOS bank -EFI_STATUS -EFIAPI -CmosWriteVariable( - VOID -); - -/// read 32-bit value from extended CMOS bank -EFI_STATUS -EFIAPI -CmosReadVariable( - VOID -); - -/// install CmosManager protocol on handle -EFI_STATUS -EFIAPI -CmosInstallProtocol( - VOID -); - -/// fill protocol vtable with function pointers -EFI_STATUS -EFIAPI -CmosInitializeVtable( - VOID -); - -/// allocate + populate protocol instance -EFI_STATUS -EFIAPI -CmosCreateProtocolInstance( - VOID -); - -/// convert bank number to CMOS address -EFI_STATUS -EFIAPI -CmosAddressLookup( - VOID -); - -/// raw CMOS port read/write (config table based) -EFI_STATUS -EFIAPI -CmosPortIoAccess( - VOID -); - -/// write CMOS register with checksum update -EFI_STATUS -EFIAPI -CmosRegisterWrite( - VOID -); - -/// read/write CMOS through shadow buffer -EFI_STATUS -EFIAPI -CmosBufferReadWrite( - VOID -); - -/// route register access to buffer or direct IO -EFI_STATUS -EFIAPI -CmosRegisterDispatch( - VOID -); - -/// table-based bitfield register access -EFI_STATUS -EFIAPI -CmosTableReadWrite( - VOID -); - -/// read CMOS register by address -EFI_STATUS -EFIAPI -CmosReadRegister( - VOID -); - -/// read RTC status info + bank flags -EFI_STATUS -EFIAPI -CmosGetStatus( - VOID -); - -/// read current CMOS checksum from HW -EFI_STATUS -EFIAPI -CmosReadChecksum( - VOID -); - -/// write checksum to CMOS HW -EFI_STATUS -EFIAPI -CmosWriteChecksum( - VOID -); - -/// update NMI status reg 0x0E bits -EFI_STATUS -EFIAPI -CmosUpdateNmiStatus( - VOID -); - -/// update checksum after register change -EFI_STATUS -EFIAPI -CmosUpdateChecksumDelta( - VOID -); - -/// verify CMOS checksum -EFI_STATUS -EFIAPI -CmosVerifyChecksum( - VOID -); - -/// write CMOS register by address -EFI_STATUS -EFIAPI -CmosWriteRegister( - VOID -); - -/// flush buffer or load optimal defaults -EFI_STATUS -EFIAPI -CmosFlushOrLoadDefaults( - VOID -); - -/// read BCD-encoded RTC register -EFI_STATUS -EFIAPI -CmosRtcBcdRead( - VOID -); - -/// write BCD-encoded RTC register -EFI_STATUS -EFIAPI -CmosRtcBcdWrite( - VOID -); - -/// write RTC time to CMOS -EFI_STATUS -EFIAPI -CmosWriteTime( - VOID -); - -/// read RTC time from CMOS -EFI_STATUS -EFIAPI -CmosReadTime( - VOID -); - -/// get DebugLib protocol interface -EFI_STATUS -EFIAPI -CmosGetDebugInterface( - VOID -); - -/// debug print with status code -EFI_STATUS -EFIAPI -CmosDebugPrintWithStatus( - VOID -); - -/// UEFI assert handler -EFI_STATUS -EFIAPI -CmosAssert( - VOID -); - -/// locate UEFI config table by GUID -EFI_STATUS -EFIAPI -CmsGetSystemConfigurationTable( - VOID -); - -/// get HOB list pointer -EFI_STATUS -EFIAPI -CmosGetHobList( - VOID -); - -/// find config table by GUID -EFI_STATUS -EFIAPI -CmosFindConfigTable( - VOID -); - -/// get DebugPort protocol -EFI_STATUS -EFIAPI -CmosGetDebugProtocol( - VOID -); - -/// initialize debug output protocol -EFI_STATUS -EFIAPI -CmosInitDebugOutput( - VOID -); - -/// debug printf via DebugLib -EFI_STATUS -EFIAPI -CmosDebugOutput( - VOID -); - -/// compare GUIDs (memcmp) -EFI_STATUS -EFIAPI -CmosGuidCompare( - VOID -); - -/// convert UINT64 to string with base -EFI_STATUS -EFIAPI -CmosUint64ToString( - VOID -); - -/// parse ASCII string to integer -EFI_STATUS -EFIAPI -CmosAsciiStrToInt( - VOID -); - -/// convert EFI_STATUS to string -EFI_STATUS -EFIAPI -CmosStatusToString( - VOID -); - -/// format string (vsnprintf) -EFI_STATUS -EFIAPI -CmosAsciiSPrint( - VOID -); - -/// va_list wrapper for AsciiSPrint -EFI_STATUS -EFIAPI -CmosAsciiSPrintVa( - VOID -); - -/// extended CMOS access via ports 0x70/0x71(NMI) -EFI_STATUS -EFIAPI -CmosExtPortIoAccess( - VOID -); - -/// stub: always returns 0 -EFI_STATUS -EFIAPI -CmosReturnFalse( - VOID -); - -/// stub: always returns 1 -EFI_STATUS -EFIAPI -CmosReturnTrue( - VOID -); - -/// bank-switched CMOS via ports 0x72/0x73 -EFI_STATUS -EFIAPI -CmosBankPortIoAccess( - VOID -); - -/// read CMOS debug level from 0x74/0x75 -EFI_STATUS -EFIAPI -CmosGetDebugLevel( - VOID -); - -/// read unaligned UINT16 * -EFI_STATUS -EFIAPI -CmosReadUnaligned16( - VOID -); - -/// read unaligned UINT64 * -EFI_STATUS -EFIAPI -CmosReadUnaligned64( - VOID -); - -/// memcpy wrapper with bounds checks -EFI_STATUS -EFIAPI -CmosCopyMem( - VOID -); - -/// compare GUID structs -EFI_STATUS -EFIAPI -CmosCompareGuid( - VOID -); - -/// get PCD protocol pointer -EFI_STATUS -EFIAPI -CmosGetPcdProtocol( - VOID -); - -/// memset wrapper -EFI_STATUS -EFIAPI -CmosSetMem( - VOID -); - -/// memmove wrapper -EFI_STATUS -EFIAPI -CmosCopyMemOverlap( - VOID -); - -#endif /* __CMOSDXE_H__ */ \ No newline at end of file +#endif /* __CMOSDXE_H__ */ diff --git a/CpRcPkg/Universal/RegAccess/Dxe/RegAccessDxe/RegAccessDxe.c b/CpRcPkg/Universal/RegAccess/Dxe/RegAccessDxe/RegAccessDxe.c index a91b26f..98fc6c8 100644 --- a/CpRcPkg/Universal/RegAccess/Dxe/RegAccessDxe/RegAccessDxe.c +++ b/CpRcPkg/Universal/RegAccess/Dxe/RegAccessDxe/RegAccessDxe.c @@ -1,55 +1,17 @@ -/** - * RegAccessDxe.c - Register Access DXE Driver - * - * Source: CpRcPkg\Universal\RegAccess\Dxe\RegAccessDxe.c - * Module: RegAccessDxe.efi - * PDB: RegAccessDxe.pdb - * - * This DXE driver provides: - * 1. PCIe/IIO register address translation for Intel Xeon Scalable CPUs - * 2. MMIO-based register read/write/modify operations - * 3. S3 boot script recording for register operations - * 4. SMM LockBox save/restore for boot scripts across S3 - * 5. Runtime PCIE config space access (virtual address mapping) - * - * The driver initializes by: - * - Saving global boot/runtime service pointers - * - Registering virtual address change notification callbacks - * - Initializing the PCIe address library (HOB-based MMCFG table) - * - Setting up S3 boot script save context - * - Querying IIO topology protocol per socket - * - Enabling MCH (Memory Controller Hub) register access via PCD - * - Initializing the MMIO-based PCIe config access - */ -//============================================================================= -// Driver Entry Point: _ModuleEntryPoint (0x1114) -//============================================================================= -// -// Calls UefiBootServicesTableLib + UefiRuntimeServicesTableLib constructor -// (sub_113C), which: -// - Saves ImageHandle, gST, gBS, gRT -// - Registers SetVirtualAddressChange callback (sub_1D78) -// - Registers ExitBootServices callback (sub_1B18) -// - Locates HOB list (sub_1CF0) -// - Initializes RuntimeLib -// - Locates PCD protocol (sub_18E0) -// - Registers ReadyToBoot event (sub_1C04) -// - Registers PCIe VirtualAddressChange (sub_1D9C) -// - Enables MCH register access via PCD -// - Reads RDTSC for timing -// - Calls sub_265C to initialize S3 boot script context -// -// Then calls RegAccessInstallProtocol (sub_1734) which: -// - Installs the RegAccess protocol -// - Gets PCD data for IIO config (PCD token 6) -// - Allocates pages for PCIe MMIO base -// - Copies IIO config data to allocated buffer -// -// On failure, calls RegAccessUnload (sub_1584). -// -//============================================================================= -// _ModuleEntryPoint (0x1114) -//============================================================================= +#include "RegAccessDxe.h" + +EFI_STATUS +EFIAPI +RegAccessInstallProtocol ( + VOID + ); + +VOID +EFIAPI +RegAccessUnload ( + VOID + ); + EFI_STATUS EFIAPI _ModuleEntryPoint ( @@ -59,330 +21,14 @@ { EFI_STATUS Status; - // - // Initialize library constructors and install protocol - // Status = UefiBootServicesTableLibConstructor (ImageHandle, SystemTable); if (!EFI_ERROR (Status)) { Status = RegAccessInstallProtocol (); } + if (EFI_ERROR (Status)) { RegAccessUnload (); } + return Status; } - -//============================================================================= -// sub_1000 (0x1000) - CopyMem - optimized memory copy with overlap handling -//============================================================================= - -//============================================================================= -// sub_1070 (0x1070) - ZeroMem - zero memory buffer (rep stos) -//============================================================================= - -//============================================================================= -// sub_10D0 (0x10D0) - _mm_pause() - CPU spin-wait hint -//============================================================================= - -//============================================================================= -// sub_10E0 (0x10E0) - ReadTSC - read time-stamp counter -//============================================================================= - -//============================================================================= -// sub_10F0 (0x10F0) - _enable() - enable interrupts (STI) -//============================================================================= - -//============================================================================= -// sub_1100 (0x1100) - _disable() - disable interrupts (CLI) -//============================================================================= - -//============================================================================= -// sub_1110 (0x1110) - ReadEFlags - read EFLAGS register -//============================================================================= - -//============================================================================= -// sub_113C (0x113C) - UefiBootServicesTableLib + UefiRuntimeServicesTableLib -// Constructor (AutoGen + library deps) -//============================================================================= - -//============================================================================= -// sub_1584 (0x1584) - RegAccessUnload - driver unload handler -//============================================================================= - -//============================================================================= -// sub_1734 (0x1734) - RegAccessInstallProtocol - installs the Register Access -// protocol and initializes IIO topology data -//============================================================================= - -//============================================================================= -// sub_18AC (0x18AC) - AddressTranslateEx - dispatch-based PCIe address -// translation (uses funcs_18D0 jump table) -//============================================================================= - -//============================================================================= -// sub_18E0 (0x18E0) - GetPcdProtocol - locate and cache PCD protocol -//============================================================================= - -//============================================================================= -// sub_196C (0x196C) - PcdGet32(5) - get PCD token 5 as UINT32 -//============================================================================= - -//============================================================================= -// sub_1988 (0x1988) - PcdGetSize(6) - get PCD token 6 size -//============================================================================= - -//============================================================================= -// sub_19A4 (0x19A4) - PcdGetSize(6) via offset 56 (alternative size func) -//============================================================================= - -//============================================================================= -// sub_19C0 (0x19C0) - GetDebugProtocol - locate debug print protocol -//============================================================================= - -//============================================================================= -// sub_1A48 (0x1A48) - DebugPrint - formatted debug output with CMOS level check -//============================================================================= - -//============================================================================= -// sub_1AC8 (0x1AC8) - Assert - debug assertion handler -//============================================================================= - -//============================================================================= -// sub_1B08 (0x1B08) - ReturnTrue - always returns TRUE (1) -//============================================================================= - -//============================================================================= -// sub_1B0C (0x1B0C) - ClearBsBootServices - nulls gBS_Saved on BootScript -//============================================================================= - -//============================================================================= -// sub_1B18 (0x1B18) - ExitBootServicesNotify - converts debug protocol ptr -//============================================================================= - -//============================================================================= -// sub_1B40 (0x1B40) - GetSystemConfigurationTable - locate config table by GUID -//============================================================================= - -//============================================================================= -// sub_1C04 (0x1C04) - EfiCreateEventReadyToBoot - register ReadyToBoot notify -//============================================================================= - -//============================================================================= -// sub_1CF0 (0x1CF0) - GetHobList - locate HOB list from config table -//============================================================================= - -//============================================================================= -// sub_1D78 (0x1D78) - VirtualAddressChangeNotify - runtime virtual addr change -//============================================================================= - -//============================================================================= -// sub_1D9C (0x1D9C) - DxeRuntimePciExpressLibDestructor - PCIe cleanup -//============================================================================= - -//============================================================================= -// sub_1E0C (0x1E0C) - PciExpressGetAddress - translate PCIe addr to virtual -//============================================================================= - -//============================================================================= -// sub_1ED0 (0x1ED0) - BootScriptWriteTerminator - write entry in boot script -//============================================================================= - -//============================================================================= -// sub_1F2C (0x1F2C) - BootScriptSaveExec - execute S3 boot script save sequence -//============================================================================= - -//============================================================================= -// sub_244C (0x244C) - SmmReadyToLockNotify - transition to SMM ready-to-lock -//============================================================================= - -//============================================================================= -// sub_2498 (0x2498) - BootScriptLockBoxBufferSwitch - switch to LockBox buffer -//============================================================================= - -//============================================================================= -// sub_24F0 (0x24F0) - BootScriptLockBoxComplete - finalize LockBox save -//============================================================================= - -//============================================================================= -// sub_2594 (0x2594) - BootScriptSaveNotify - S3 boot script save notification -//============================================================================= - -//============================================================================= -// sub_265C (0x265C) - BootScriptContextInit - initialize S3 boot script context -//============================================================================= - -//============================================================================= -// sub_295C (0x295C) - BootScriptContextDeinit - release boot script context -//============================================================================= - -//============================================================================= -// sub_2BD8 (0x2BD8) - BootScriptAllocBuf - allocate space in boot script buffer -//============================================================================= - -//============================================================================= -// sub_2D6C (0x2D6C) - BootScriptLockBoxRestore - restore script from LockBox -//============================================================================= - -//============================================================================= -// sub_2E24 (0x2E24) - BootScriptGetEntry - get entry buffer for script write -//============================================================================= - -//============================================================================= -// sub_2EB8 (0x2EB8) - BootScriptCommit - commit script entry via LockBox update -//============================================================================= - -//============================================================================= -// sub_2F78 (0x2F78) - BootScriptIoWrite - write IO port entry to boot script -//============================================================================= - -//============================================================================= -// sub_3028 (0x3028) - PciExpressRead - PCIe config space MMIO read -//============================================================================= - -//============================================================================= -// sub_3070 (0x3070) - PciExpressWrite - PCIe config space MMIO write -//============================================================================= - -//============================================================================= -// sub_30B4 (0x30B4) - CombineAndOrMask - AND+OR mask combination for reg modify -//============================================================================= - -//============================================================================= -// sub_3150 (0x3150) - PcieTranslateAddress - core address translation engine -//============================================================================= - -//============================================================================= -// sub_326C (0x326C) - PcieReadSingle - read a single PCIe register -//============================================================================= - -//============================================================================= -// sub_3320 (0x3320) - PcieModifySingle - read-modify-write a PCIe register -//============================================================================= - -//============================================================================= -// sub_33B4 (0x33B4) - AddressTranslate - translate PCIe addr with segment base -//============================================================================= - -//============================================================================= -// sub_33E8 (0x33E8) - PcieReadFromTranslation - read via address translation -//============================================================================= - -//============================================================================= -// sub_342C (0x342C) - ValidateRegisterAccess - validate register access params -//============================================================================= - -//============================================================================= -// sub_3514 (0x3514) - PcieReadMulti - multi-register PCIe read (block read) -//============================================================================= - -//============================================================================= -// sub_35CC (0x35CC) - PcieWriteSingle - write a single PCIe register -//============================================================================= - -//============================================================================= -// sub_36FC (0x36FC) - PcieModifyWithMask - PCIe register modify with AND/OR -//============================================================================= - -//============================================================================= -// sub_3764 (0x3764) - CopyMemSafe - safe memory copy (BaseMemoryLib wrapper) -//============================================================================= - -//============================================================================= -// sub_3800 (0x3800) - CompareGuid - compare two EFI_GUIDs -//============================================================================= - -//============================================================================= -// sub_3868 (0x3868) - ZeroMemSafe - safe zero memory wrapper -//============================================================================= - -//============================================================================= -// sub_38CC (0x38CC) - ReadUnaligned64 - read unaligned UINT64 -//============================================================================= - -//============================================================================= -// sub_38FC (0x38FC) - RShiftU64 - 64-bit right shift -//============================================================================= - -//============================================================================= -// sub_3940 (0x3940) - LShiftU64 - 64-bit left shift -//============================================================================= - -//============================================================================= -// sub_3984 (0x3984) - IoRead16 - read 16-bit IO port -//============================================================================= - -//============================================================================= -// sub_39B4 (0x39B4) - IoWrite16 - write 16-bit IO port -//============================================================================= - -//============================================================================= -// sub_39F4 (0x39F4) - IoRead64 - read 64-bit memory-mapped IO -//============================================================================= - -//============================================================================= -// sub_3A24 (0x3A24) - IoWrite64 - write 64-bit memory-mapped IO -//============================================================================= - -//============================================================================= -// sub_3A64 (0x3A64) - IoRead32 - read 32-bit IO port -//============================================================================= - -//============================================================================= -// sub_3A94 (0x3A94) - BootScriptFreePcieMapping - free PCIe mapping table -//============================================================================= - -//============================================================================= -// sub_3AE0 (0x3AE0) - GetSmmBase2 - locate SmmBase2 protocol -//============================================================================= - -//============================================================================= -// sub_3B30 (0x3B30) - GetLockBoxCommBuffer - locate SMM LockBox comm buffer -//============================================================================= - -//============================================================================= -// sub_3BD0 (0x3BD0) - LockBoxSave - save data to SMM LockBox -//============================================================================= - -//============================================================================= -// sub_3D14 (0x3D14) - LockBoxSetAttributes - set LockBox attributes -//============================================================================= - -//============================================================================= -// sub_3E40 (0x3E40) - LockBoxUpdate - update LockBox entry data -//============================================================================= - -//============================================================================= -// sub_3F88 (0x3F88) - LockBoxRestore - restore data from SMM LockBox -//============================================================================= - -//============================================================================= -// sub_40E0 (0x40E0) - MmcfgTableInit - initialize MMCFG table -//============================================================================= - -//============================================================================= -// sub_421C (0x421C) - IioGetPhysicalBase - get MMCFG base for PCI segment -//============================================================================= - -//============================================================================= -// sub_4344 (0x4344) - IioTopologyInit - initialize IIO topology from protocol -//============================================================================= - -//============================================================================= -// sub_4500 (0x4500) - FatalAssert - unrecoverable assertion (infinite loop) -//============================================================================= - -//============================================================================= -// sub_4568 (0x4568) - IioGetBusFromSocket - get PCI bus for socket/box type -//============================================================================= - -//============================================================================= -// sub_4784 (0x4784) - IioGetSegment - get PCIe segment for box/instance -//============================================================================= - -//============================================================================= -// sub_4BBC (0x4BBC) - IioGetDevice - get PCI device for box/instance/block -//============================================================================= - -//============================================================================= -// nullsub_1 (0x1D74) - no-op - Null event notification handler -//============================================================================= \ No newline at end of file diff --git a/CpRcPkg/Universal/RegAccess/Dxe/RegAccessDxe/RegAccessDxe.h b/CpRcPkg/Universal/RegAccess/Dxe/RegAccessDxe/RegAccessDxe.h index 3e921e9..8df8023 100644 --- a/CpRcPkg/Universal/RegAccess/Dxe/RegAccessDxe/RegAccessDxe.h +++ b/CpRcPkg/Universal/RegAccess/Dxe/RegAccessDxe/RegAccessDxe.h @@ -1,550 +1,13 @@ -/** @file - RegAccessDxe.h -- Header for RegAccessDxe - -Copyright (c) HR650X BIOS Decompilation Project -**/ - #ifndef __REGACCESSDXE_H__ #define __REGACCESSDXE_H__ #include "../uefi_headers/Uefi.h" -// -// Function Prototypes -// - EFI_STATUS EFIAPI -_ModuleEntryPoint( - VOID -); +_ModuleEntryPoint ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); -EFI_STATUS -EFIAPI -Entry Point: _ModuleEntryPoint (0x1114)( - VOID -); - -EFI_STATUS -EFIAPI -UefiBootServicesTableLib + UefiRuntimeServicesTableLib constructor( - VOID -); - -EFI_STATUS -EFIAPI -calls RegAccessInstallProtocol (sub_1734) which:( - VOID -); - -EFI_STATUS -EFIAPI -failure, calls RegAccessUnload (sub_1584).( - VOID -); - -EFI_STATUS -EFIAPI -(0x1114)( - VOID -); - -EFI_STATUS -EFIAPI -library constructors and install protocol( - VOID -); - -EFI_STATUS -EFIAPI -= UefiBootServicesTableLibConstructor (ImageHandle, SystemTable);( - VOID -); - -EFI_STATUS -EFIAPI -(0x1000) - CopyMem - optimized memory copy with overlap handling( - VOID -); - -EFI_STATUS -EFIAPI -(0x1070) - ZeroMem - zero memory buffer (rep stos)( - VOID -); - -EFI_STATUS -EFIAPI -(0x10D0) - _mm_pause() - CPU spin-wait hint( - VOID -); - -EFI_STATUS -EFIAPI -(0x10E0) - ReadTSC - read time-stamp counter( - VOID -); - -EFI_STATUS -EFIAPI -(0x10F0) - _enable() - enable interrupts (STI)( - VOID -); - -EFI_STATUS -EFIAPI -(0x1100) - _disable() - disable interrupts (CLI)( - VOID -); - -EFI_STATUS -EFIAPI -(0x1110) - ReadEFlags - read EFLAGS register( - VOID -); - -EFI_STATUS -EFIAPI -(0x113C) - UefiBootServicesTableLib + UefiRuntimeServicesTableLib( - VOID -); - -EFI_STATUS -EFIAPI -(AutoGen + library deps)( - VOID -); - -EFI_STATUS -EFIAPI -(0x1584) - RegAccessUnload - driver unload handler( - VOID -); - -EFI_STATUS -EFIAPI -(0x1734) - RegAccessInstallProtocol - installs the Register Access( - VOID -); - -EFI_STATUS -EFIAPI -and initializes IIO topology data( - VOID -); - -EFI_STATUS -EFIAPI -(0x18AC) - AddressTranslateEx - dispatch-based PCIe address( - VOID -); - -EFI_STATUS -EFIAPI -(uses funcs_18D0 jump table)( - VOID -); - -EFI_STATUS -EFIAPI -(0x18E0) - GetPcdProtocol - locate and cache PCD protocol( - VOID -); - -EFI_STATUS -EFIAPI -(0x196C) - PcdGet32(5) - get PCD token 5 as UINT32( - VOID -); - -EFI_STATUS -EFIAPI -(0x1988) - PcdGetSize(6) - get PCD token 6 size( - VOID -); - -EFI_STATUS -EFIAPI -(0x19A4) - PcdGetSize(6) via offset 56 (alternative size func)( - VOID -); - -EFI_STATUS -EFIAPI -(0x19C0) - GetDebugProtocol - locate debug print protocol( - VOID -); - -EFI_STATUS -EFIAPI -(0x1A48) - DebugPrint - formatted debug output with CMOS level check( - VOID -); - -EFI_STATUS -EFIAPI -(0x1AC8) - Assert - debug assertion handler( - VOID -); - -EFI_STATUS -EFIAPI -(0x1B08) - ReturnTrue - always returns TRUE (1)( - VOID -); - -EFI_STATUS -EFIAPI -(0x1B0C) - ClearBsBootServices - nulls gBS_Saved on BootScript( - VOID -); - -EFI_STATUS -EFIAPI -(0x1B18) - ExitBootServicesNotify - converts debug protocol ptr( - VOID -); - -EFI_STATUS -EFIAPI -(0x1B40) - GetSystemConfigurationTable - locate config table by GUID( - VOID -); - -EFI_STATUS -EFIAPI -(0x1C04) - EfiCreateEventReadyToBoot - register ReadyToBoot notify( - VOID -); - -EFI_STATUS -EFIAPI -(0x1CF0) - GetHobList - locate HOB list from config table( - VOID -); - -EFI_STATUS -EFIAPI -(0x1D78) - VirtualAddressChangeNotify - runtime virtual addr change( - VOID -); - -EFI_STATUS -EFIAPI -(0x1D9C) - DxeRuntimePciExpressLibDestructor - PCIe cleanup( - VOID -); - -EFI_STATUS -EFIAPI -(0x1E0C) - PciExpressGetAddress - translate PCIe addr to virtual( - VOID -); - -EFI_STATUS -EFIAPI -(0x1ED0) - BootScriptWriteTerminator - write entry in boot script( - VOID -); - -EFI_STATUS -EFIAPI -(0x1F2C) - BootScriptSaveExec - execute S3 boot script save sequence( - VOID -); - -EFI_STATUS -EFIAPI -(0x244C) - SmmReadyToLockNotify - transition to SMM ready-to-lock( - VOID -); - -EFI_STATUS -EFIAPI -(0x2498) - BootScriptLockBoxBufferSwitch - switch to LockBox buffer( - VOID -); - -EFI_STATUS -EFIAPI -(0x24F0) - BootScriptLockBoxComplete - finalize LockBox save( - VOID -); - -EFI_STATUS -EFIAPI -(0x2594) - BootScriptSaveNotify - S3 boot script save notification( - VOID -); - -EFI_STATUS -EFIAPI -(0x265C) - BootScriptContextInit - initialize S3 boot script context( - VOID -); - -EFI_STATUS -EFIAPI -(0x295C) - BootScriptContextDeinit - release boot script context( - VOID -); - -EFI_STATUS -EFIAPI -(0x2BD8) - BootScriptAllocBuf - allocate space in boot script buffer( - VOID -); - -EFI_STATUS -EFIAPI -(0x2D6C) - BootScriptLockBoxRestore - restore script from LockBox( - VOID -); - -EFI_STATUS -EFIAPI -(0x2E24) - BootScriptGetEntry - get entry buffer for script write( - VOID -); - -EFI_STATUS -EFIAPI -(0x2EB8) - BootScriptCommit - commit script entry via LockBox update( - VOID -); - -EFI_STATUS -EFIAPI -(0x2F78) - BootScriptIoWrite - write IO port entry to boot script( - VOID -); - -EFI_STATUS -EFIAPI -(0x3028) - PciExpressRead - PCIe config space MMIO read( - VOID -); - -EFI_STATUS -EFIAPI -(0x3070) - PciExpressWrite - PCIe config space MMIO write( - VOID -); - -EFI_STATUS -EFIAPI -(0x30B4) - CombineAndOrMask - AND+OR mask combination for reg modify( - VOID -); - -EFI_STATUS -EFIAPI -(0x3150) - PcieTranslateAddress - core address translation engine( - VOID -); - -EFI_STATUS -EFIAPI -(0x326C) - PcieReadSingle - read a single PCIe register( - VOID -); - -EFI_STATUS -EFIAPI -(0x3320) - PcieModifySingle - read-modify-write a PCIe register( - VOID -); - -EFI_STATUS -EFIAPI -(0x33B4) - AddressTranslate - translate PCIe addr with segment base( - VOID -); - -EFI_STATUS -EFIAPI -(0x33E8) - PcieReadFromTranslation - read via address translation( - VOID -); - -EFI_STATUS -EFIAPI -(0x342C) - ValidateRegisterAccess - validate register access params( - VOID -); - -EFI_STATUS -EFIAPI -(0x3514) - PcieReadMulti - multi-register PCIe read (block read)( - VOID -); - -EFI_STATUS -EFIAPI -(0x35CC) - PcieWriteSingle - write a single PCIe register( - VOID -); - -EFI_STATUS -EFIAPI -(0x36FC) - PcieModifyWithMask - PCIe register modify with AND/OR( - VOID -); - -EFI_STATUS -EFIAPI -(0x3764) - CopyMemSafe - safe memory copy (BaseMemoryLib wrapper)( - VOID -); - -EFI_STATUS -EFIAPI -(0x3800) - CompareGuid - compare two EFI_GUIDs( - VOID -); - -EFI_STATUS -EFIAPI -(0x3868) - ZeroMemSafe - safe zero memory wrapper( - VOID -); - -EFI_STATUS -EFIAPI -(0x38CC) - ReadUnaligned64 - read unaligned UINT64( - VOID -); - -EFI_STATUS -EFIAPI -(0x38FC) - RShiftU64 - 64-bit right shift( - VOID -); - -EFI_STATUS -EFIAPI -(0x3940) - LShiftU64 - 64-bit left shift( - VOID -); - -EFI_STATUS -EFIAPI -(0x3984) - IoRead16 - read 16-bit IO port( - VOID -); - -EFI_STATUS -EFIAPI -(0x39B4) - IoWrite16 - write 16-bit IO port( - VOID -); - -EFI_STATUS -EFIAPI -(0x39F4) - IoRead64 - read 64-bit memory-mapped IO( - VOID -); - -EFI_STATUS -EFIAPI -(0x3A24) - IoWrite64 - write 64-bit memory-mapped IO( - VOID -); - -EFI_STATUS -EFIAPI -(0x3A64) - IoRead32 - read 32-bit IO port( - VOID -); - -EFI_STATUS -EFIAPI -(0x3A94) - BootScriptFreePcieMapping - free PCIe mapping table( - VOID -); - -EFI_STATUS -EFIAPI -(0x3AE0) - GetSmmBase2 - locate SmmBase2 protocol( - VOID -); - -EFI_STATUS -EFIAPI -(0x3B30) - GetLockBoxCommBuffer - locate SMM LockBox comm buffer( - VOID -); - -EFI_STATUS -EFIAPI -(0x3BD0) - LockBoxSave - save data to SMM LockBox( - VOID -); - -EFI_STATUS -EFIAPI -(0x3D14) - LockBoxSetAttributes - set LockBox attributes( - VOID -); - -EFI_STATUS -EFIAPI -(0x3E40) - LockBoxUpdate - update LockBox entry data( - VOID -); - -EFI_STATUS -EFIAPI -(0x3F88) - LockBoxRestore - restore data from SMM LockBox( - VOID -); - -EFI_STATUS -EFIAPI -(0x40E0) - MmcfgTableInit - initialize MMCFG table( - VOID -); - -EFI_STATUS -EFIAPI -(0x421C) - IioGetPhysicalBase - get MMCFG base for PCI segment( - VOID -); - -EFI_STATUS -EFIAPI -(0x4344) - IioTopologyInit - initialize IIO topology from protocol( - VOID -); - -EFI_STATUS -EFIAPI -(0x4500) - FatalAssert - unrecoverable assertion (infinite loop)( - VOID -); - -EFI_STATUS -EFIAPI -(0x4568) - IioGetBusFromSocket - get PCI bus for socket/box type( - VOID -); - -EFI_STATUS -EFIAPI -(0x4784) - IioGetSegment - get PCIe segment for box/instance( - VOID -); - -EFI_STATUS -EFIAPI -(0x4BBC) - IioGetDevice - get PCI device for box/instance/block( - VOID -); - -EFI_STATUS -EFIAPI -(0x1D74) - no-op - Null event notification handler( - VOID -); - -#endif /* __REGACCESSDXE_H__ */ \ No newline at end of file +#endif diff --git a/CpRcPkg/Universal/RegAccess/Pei/RegAccessPeim/RegAccessPeim.h b/CpRcPkg/Universal/RegAccess/Pei/RegAccessPeim/RegAccessPeim.h index a1788e5..6c1af5f 100644 --- a/CpRcPkg/Universal/RegAccess/Pei/RegAccessPeim/RegAccessPeim.h +++ b/CpRcPkg/Universal/RegAccess/Pei/RegAccessPeim/RegAccessPeim.h @@ -1,178 +1,261 @@ -/** @file - RegAccessPeim.h -- Header for RegAccessPeim - -Copyright (c) HR650X BIOS Decompilation Project -**/ - #ifndef __REGACCESSPEIM_H__ #define __REGACCESSPEIM_H__ #include "../uefi_headers/Uefi.h" -// -// Function Prototypes -// +typedef struct _REG_ACCESS_DESC REG_ACCESS_DESC; + +VOID * +EFIAPI +GetPeiServicesTablePointer ( + VOID + ); + +VOID +EFIAPI +ReportAssertMessage ( + IN UINTN ErrorLevel, + IN CONST CHAR8 *Message, + ... + ); + +INTN +EFIAPI +DebugPrint ( + IN UINTN ErrorLevel, + IN CONST CHAR8 *Format, + ... + ); + +INTN +EFIAPI +GetDebugErrorLevel ( + VOID + ); + +BOOLEAN +EFIAPI +IsDebugEnabled ( + VOID + ); + +BOOLEAN +EFIAPI +BoolCheck ( + IN UINTN Value + ); + +VOID +EFIAPI +CpuDeadLoopEx ( + IN UINTN ErrorLevel, + IN CONST CHAR8 *Message, + IN UINTN Status + ); + +INTN +EFIAPI +IoMemRead ( + IN UINTN AccessWidth, + IN VOID *Address, + OUT UINT64 *Value + ); + +INTN +EFIAPI +IoMemWrite ( + IN UINTN AccessWidth, + OUT VOID *Address, + IN UINT64 *Value + ); + +UINTN +EFIAPI +BitFieldMerge ( + IN OUT UINT64 *Value, + IN UINTN AndMask, + IN UINTN OrMask, + IN UINT8 ByteCount + ); + +UINT64 +EFIAPI +InternalLShift64 ( + IN UINT64 Value, + IN UINTN ShiftCount + ); + +UINT64 +EFIAPI +InternalRShift64 ( + IN UINT64 Value, + IN UINTN ShiftCount + ); + +VOID +EFIAPI +InternalReadIdtr ( + OUT IA32_DESCRIPTOR *Idtr + ); + +VOID * +EFIAPI +PcdGetProtocol ( + IN UINTN TokenNumber + ); + +VOID * +EFIAPI +PcdGetPtr ( + IN UINTN TokenNumber + ); + +UINTN +EFIAPI +PcdGetSize ( + IN UINTN TokenNumber + ); EFI_STATUS EFIAPI -ReportAssertMessage( - VOID -); +PcdSetRegisterAccess ( + IN REG_ACCESS_DESC *Desc, + IN UINTN ElementCount + ); + +VOID * +EFIAPI +RegAccessLookupTablePointer ( + IN REG_ACCESS_DESC *Desc + ); + +UINTN +EFIAPI +CpuTypeToTableIndex ( + IN UINTN SocketId, + IN UINTN CpuType, + IN UINTN BoxInstance, + IN UINTN FunctionalBlock + ); + +UINTN +EFIAPI +CpuTypeToDeviceIndex ( + IN UINTN SocketId, + IN UINTN CpuType, + IN UINTN BoxInstance, + IN UINTN FunctionalBlock + ); + +UINTN +EFIAPI +FuncBlockToTableIndex ( + IN UINTN SocketId, + IN UINTN CpuType, + IN UINTN BoxInstance, + IN UINTN FunctionalBlock + ); + +UINTN +EFIAPI +TranslateAddressWalk ( + IN REG_ACCESS_DESC *Descriptor, + IN UINTN PageTableBase, + OUT UINT64 *TranslatedAddress + ); EFI_STATUS EFIAPI -IsDebugEnabled( - VOID -); +RegAccessValidateRange ( + IN UINTN AccessWidth, + IN UINT64 Address, + IN UINTN Count, + IN UINTN Buffer + ); EFI_STATUS EFIAPI -BoolCheck( - VOID -); +RegAccessReadRegister ( + IN REG_ACCESS_DESC *Descriptor, + OUT UINT64 *Value + ); EFI_STATUS EFIAPI -CpuDeadLoopEx( - VOID -); +RegAccessWriteRegister ( + IN REG_ACCESS_DESC *Descriptor, + IN UINT64 Value + ); EFI_STATUS EFIAPI -BitFieldMerge( - VOID -); +RegAccessReadModify ( + IN REG_ACCESS_DESC *Descriptor, + IN UINT64 AndMask, + IN UINT64 OrMask + ); + +VOID +EFIAPI +RegAccessGetConfigSpace ( + OUT REG_ACCESS_DESC *Descriptor + ); EFI_STATUS EFIAPI -InternalLShift64( - VOID -); +RegAccessReadImpl ( + IN REG_ACCESS_DESC *Descriptor, + OUT UINT64 *Value + ); EFI_STATUS EFIAPI -InternalRShift64( - VOID -); +RegAccessWriteImpl ( + IN REG_ACCESS_DESC *Descriptor, + IN UINT64 Value + ); EFI_STATUS EFIAPI -InternalReadIdtr( - VOID -); +RegAccessReadModifyImpl ( + IN REG_ACCESS_DESC *Descriptor, + IN UINT64 AndMask, + IN UINT64 OrMask + ); EFI_STATUS EFIAPI -PcdGetSize( - VOID -); +RegAccessReadMultiImpl ( + IN REG_ACCESS_DESC *Descriptor, + OUT VOID *Buffer + ); EFI_STATUS EFIAPI -PcdSetRegisterAccess( - VOID -); +RegAccessWriteMultiImpl ( + IN REG_ACCESS_DESC *Descriptor, + IN VOID *Buffer + ); EFI_STATUS EFIAPI -CpuTypeToTableIndex( - VOID -); +RegAccessTranslateFull ( + IN REG_ACCESS_DESC *Descriptor, + OUT UINT64 *TranslatedAddress + ); + +UINT32 +EFIAPI +RegAccessStripHighBits ( + IN UINTN PageTable, + IN UINT32 Address + ); EFI_STATUS EFIAPI -CpuTypeToDeviceIndex( - VOID -); +RegAccessEntryPoint ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); -EFI_STATUS -EFIAPI -FuncBlockToTableIndex( - VOID -); - -EFI_STATUS -EFIAPI -TranslateAddressWalk( - VOID -); - -EFI_STATUS -EFIAPI -RegAccessValidateRange( - VOID -); - -EFI_STATUS -EFIAPI -RegAccessReadRegister( - VOID -); - -EFI_STATUS -EFIAPI -RegAccessWriteRegister( - VOID -); - -EFI_STATUS -EFIAPI -RegAccessReadModify( - VOID -); - -EFI_STATUS -EFIAPI -RegAccessGetConfigSpace( - VOID -); - -EFI_STATUS -EFIAPI -RegAccessReadImpl( - VOID -); - -EFI_STATUS -EFIAPI -RegAccessWriteImpl( - VOID -); - -EFI_STATUS -EFIAPI -RegAccessReadModifyImpl( - VOID -); - -EFI_STATUS -EFIAPI -RegAccessReadMultiImpl( - VOID -); - -EFI_STATUS -EFIAPI -RegAccessWriteMultiImpl( - VOID -); - -EFI_STATUS -EFIAPI -RegAccessTranslateFull( - VOID -); - -EFI_STATUS -EFIAPI -RegAccessStripHighBits( - VOID -); - -EFI_STATUS -EFIAPI -RegAccessEntryPoint( - VOID -); - -#endif /* __REGACCESSPEIM_H__ */ \ No newline at end of file +#endif /* __REGACCESSPEIM_H__ */ diff --git a/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadBmc.c b/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadBmc.c index 0d85740..2e3df47 100644 --- a/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadBmc.c +++ b/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadBmc.c @@ -1,4 +1,4 @@ -char __fastcall sub_7CC(__int64 a1, __int64 a2, __int64 a3, __int64 a4) +char __fastcall SendBmcCommand(__int64 a1, __int64 a2, __int64 a3, __int64 a4) { __int64 v4; // rax __int64 v6; // rax @@ -36,7 +36,7 @@ return v7; /*0x861*/ } -__int64 __fastcall sub_868(char a1, _BYTE *a2, __int64 a3, __int64 a4) +__int64 __fastcall SendBmcByteCommand(char a1, _BYTE *a2, __int64 a3, __int64 a4) { __int64 v4; // rax _BYTE *v5; // rbx @@ -78,7 +78,7 @@ return result; /*0x904*/ } -__int64 __fastcall sub_90C(char a1, __int64 a2, __int64 a3, __int64 a4) +__int64 __fastcall SendBmcTwoByteCommand(char a1, __int64 a2, __int64 a3, __int64 a4) { __int64 v4; // rax char v5; // bl @@ -115,7 +115,7 @@ &n3); } -__int64 __fastcall sub_9A4(char *a1, __int64 a2, __int64 a3, __int64 a4) +__int64 __fastcall SendBmcMultiByteCommand(char *a1, __int64 a2, __int64 a3, __int64 a4) { __int64 v4; // r10 __int64 result; // rax @@ -169,4 +169,3 @@ } return result; /*0x9ee*/ } - diff --git a/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadEntry.c b/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadEntry.c index 000791e..2f7aa91 100644 --- a/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadEntry.c +++ b/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadEntry.c @@ -1,4 +1,4 @@ -__int64 __fastcall sub_3FC(__int64 ImageHandle, __int64 a2) +__int64 __fastcall SetupDefaultLoadEntryPoint(__int64 ImageHandle, __int64 a2) { __int64 v3; // rax __int64 v4; // rbx @@ -22,35 +22,35 @@ ::ImageHandle = ImageHandle; /*0x415*/ if ( !ImageHandle ) /*0x429*/ - sub_5450( /*0x438*/ + DebugAssert( /*0x438*/ "e:\\hs\\MdePkg\\Library\\UefiBootServicesTableLib\\UefiBootServicesTableLib.c", 51, "gImageHandle != ((void *) 0)"); qword_7928 = a2; /*0x43d*/ if ( !a2 ) /*0x447*/ - sub_5450("e:\\hs\\MdePkg\\Library\\UefiBootServicesTableLib\\UefiBootServicesTableLib.c", 57, "gST != ((void *) 0)"); /*0x456*/ + DebugAssert("e:\\hs\\MdePkg\\Library\\UefiBootServicesTableLib\\UefiBootServicesTableLib.c", 57, "gST != ((void *) 0)"); /*0x456*/ qword_7930 = *(_QWORD *)(a2 + 96); /*0x45f*/ if ( !qword_7930 ) /*0x469*/ - sub_5450("e:\\hs\\MdePkg\\Library\\UefiBootServicesTableLib\\UefiBootServicesTableLib.c", 63, "gBS != ((void *) 0)"); /*0x478*/ + DebugAssert("e:\\hs\\MdePkg\\Library\\UefiBootServicesTableLib\\UefiBootServicesTableLib.c", 63, "gBS != ((void *) 0)"); /*0x478*/ qword_7940 = *(_QWORD *)(a2 + 88); /*0x481*/ if ( !qword_7940 ) /*0x48b*/ - sub_5450( /*0x49e*/ + DebugAssert( /*0x49e*/ "e:\\hs\\MdePkg\\Library\\UefiRuntimeServicesTableLib\\UefiRuntimeServicesTableLib.c", 47, "gRT != ((void *) 0)"); - v3 = sub_54E0(&unk_7490, &qword_7950); /*0x4b1*/ + v3 = LocateConfigurationTable(&unk_7490, &qword_7950); /*0x4b1*/ v4 = v3; /*0x4bd*/ if ( v3 < 0 ) /*0x4cf*/ { - sub_5408(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v3); /*0x4d9*/ - sub_5450("e:\\hs\\MdePkg\\Library\\DxeServicesTableLib\\DxeServicesTableLib.c", 64, "!EFI_ERROR (Status)"); /*0x4ed*/ + DebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v3); /*0x4d9*/ + DebugAssert("e:\\hs\\MdePkg\\Library\\DxeServicesTableLib\\DxeServicesTableLib.c", 64, "!EFI_ERROR (Status)"); /*0x4ed*/ } if ( !qword_7950 ) /*0x4fa*/ - sub_5450("e:\\hs\\MdePkg\\Library\\DxeServicesTableLib\\DxeServicesTableLib.c", 65, "gDS != ((void *) 0)"); /*0x50f*/ + DebugAssert("e:\\hs\\MdePkg\\Library\\DxeServicesTableLib\\DxeServicesTableLib.c", 65, "gDS != ((void *) 0)"); /*0x50f*/ if ( v4 < 0 ) /*0x517*/ { - sub_5408(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v4); /*0x522*/ - sub_5450( /*0x536*/ + DebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v4); /*0x522*/ + DebugAssert( /*0x536*/ "e:\\hs\\Build\\HR6N0XMLK\\DEBUG_VS2015\\X64\\LenovoServerPkg\\SetupDefaults\\SetupDefaultLoad\\DEBUG\\AutoGen.c", 450, "!EFI_ERROR (Status)"); @@ -60,31 +60,31 @@ v5 = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(qword_7930 + 320))(&unk_73C0, 0, &qword_7958); /*0x55c*/ if ( v5 < 0 ) /*0x565*/ { - sub_5408(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v5); /*0x570*/ - sub_5450("e:\\hs\\CpRcPkg\\Library\\DxeMmPciBaseLib\\DxeMmPciBaseLib.c", 52, "!EFI_ERROR (Status)"); /*0x584*/ + DebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v5); /*0x570*/ + DebugAssert("e:\\hs\\CpRcPkg\\Library\\DxeMmPciBaseLib\\DxeMmPciBaseLib.c", 52, "!EFI_ERROR (Status)"); /*0x584*/ } if ( !qword_7958 ) /*0x591*/ - sub_5450("e:\\hs\\CpRcPkg\\Library\\DxeMmPciBaseLib\\DxeMmPciBaseLib.c", 53, "mPciUsra != ((void *) 0)"); /*0x5a6*/ + DebugAssert("e:\\hs\\CpRcPkg\\Library\\DxeMmPciBaseLib\\DxeMmPciBaseLib.c", 53, "mPciUsra != ((void *) 0)"); /*0x5a6*/ } - sub_55D4(); /*0x5ab*/ - v6 = sub_5DF0(); /*0x5b0*/ + GetHobList(); /*0x5ab*/ + v6 = GetPcdProtocol(); /*0x5b0*/ qword_7968 = (*(__int64 (__fastcall **)(__int64))(v6 + 32))(5); /*0x5bd*/ - v7 = sub_5DF0(); /*0x5c4*/ + v7 = GetPcdProtocol(); /*0x5c4*/ v8 = (*(__int64 (__fastcall **)(__int64))(v7 + 40))(7); /*0x5d5*/ - v9 = sub_5DF0(); /*0x5d8*/ + v9 = GetPcdProtocol(); /*0x5d8*/ if ( (unsigned __int64)(*(__int64 (__fastcall **)(__int64))(v9 + 56))(7) > 0x48 ) /*0x5e7*/ - sub_5450( /*0x5fb*/ + DebugAssert( /*0x5fb*/ "e:\\hs\\AmiCRBPkg\\Library\\AmiPcieSegBusLib\\AmiPcieSegBusDxeSmm.c", 60, "sizeof (PCIE_SEG_BUS_TABLE) >= LibPcdGetSize(7U)"); - v10 = sub_5DF0(); - v11 = sub_5DF0(); + v10 = GetPcdProtocol(); + v11 = GetPcdProtocol(); v12 = 0; v13 = v10; v14 = v11; v15 = v13; v16 = v14; - sub_5EAC(v12, (char *)v15, (unsigned __int64)v16); /*0x611*/ + CopyMemS(v12, (char *)v15, (unsigned __int64)v16); /*0x611*/ v17 = (_BYTE *)GetSetupDataSize(1024068); /*0x73b*/ if ( *(char *)GetSetupDataSize(1024068) >= 0 ) /*0x727*/ { @@ -101,7 +101,7 @@ -EFI_STATUS __fastcall sub_1E38(__int64 n2_22, EFI_SYSTEM_TABLE *SystemTable) +EFI_STATUS __fastcall SetupDefaultLoadDriverEntry(__int64 n2_22, EFI_SYSTEM_TABLE *SystemTable) { unsigned __int8 v2; // bl char v3; // r13 @@ -416,14 +416,14 @@ ::BootServices = (__int64)BootServices; /*0x1eb0*/ RuntimeServices = (__int64)SystemTable->RuntimeServices; /*0x1ebb*/ } - if ( (unsigned int)sub_5710() == 32 ) /*0x1ed7*/ + if ( (unsigned int)GetCurrentPchSku() == 32 ) /*0x1ed7*/ return 0; /*0x1ed7*/ v5 = ((__int64 (__fastcall *)(void *, _QWORD, __int64 *))BootServices->LocateProtocol)(&unk_7450, 0, &qword_7920); /*0x1eed*/ v6 = qword_7920; /*0x1ef3*/ if ( v5 < 0 ) /*0x1efd*/ v6 = 0; /*0x1efd*/ qword_7920 = v6; /*0x1f01*/ - sub_101C(); /*0x1f08*/ + SendVmdCommandToBmc(); /*0x1f08*/ n301 = 301; /*0x1f14*/ (*(void (__fastcall **)(const __int16 *, void *, unsigned int *, __int64 *, char *))(RuntimeServices + 72))( /*0x1f3e*/ L"SocketProcessorCoreConfig", @@ -531,7 +531,7 @@ &v182, &n1072, v278); - n85 = sub_7CC(v8, v7, v9, v10); /*0x2226*/ + n85 = SendBmcCommand(v8, v7, v9, v10); /*0x2226*/ n85_1 = n85; /*0x222b*/ __outbyte(0x72u, 0x5Cu); /*0x2234*/ n115 = 115; /*0x2235*/ @@ -880,7 +880,7 @@ { v30 = 0x800000000000000EuLL; /*0x33e3*/ LABEL_55: - sub_5408(64, "SetupDefaultLoadEntryPoint Sync PSURedundantMode with BMC Status: %r \n", v30); + DebugPrint(64, "SetupDefaultLoadEntryPoint Sync PSURedundantMode with BMC Status: %r \n", v30); HIWORD(n257) = 257; /*0x343f*/ n8 = 8; /*0x3448*/ n8_0 = 8; /*0x344e*/ @@ -1361,7 +1361,7 @@ LABEL_69: v293 = 0; /*0x393f*/ v292 = 0; /*0x3954*/ - sub_5768(&v293, &v292); /*0x395b*/ + DetectInterposerCardInstall(&v293, &v292); /*0x395b*/ n256_1 = HIBYTE(n256); /*0x3960*/ if ( (_BYTE)n256 != HIBYTE(n256) && !v3 ) /*0x3981*/ { @@ -1431,7 +1431,7 @@ if ( !v3 ) /*0x3b03*/ { LABEL_86: - sub_5B28(17170432, &v184); /*0x3b12*/ + GetGpioPadConfig(17170432, &v184); /*0x3b12*/ n3_4 = 1; /*0x3b1f*/ v213 = 0; /*0x3b21*/ v221 = 0; /*0x3b28*/ @@ -1564,46 +1564,46 @@ HIBYTE(n256) = n256; /*0x3dac*/ } LABEL_119: - sub_5408(64, "(Before sync) ValidFlag = %x\n", v2); /*0x3db2*/ + DebugPrint(64, "(Before sync) ValidFlag = %x\n", v2); /*0x3db2*/ v44 = 0; /*0x3dcb*/ if ( v213 ) /*0x3dd7*/ { - sub_5408(64, "VMDEnabled[0] Enable\n"); /*0x3f0b*/ + DebugPrint(64, "VMDEnabled[0] Enable\n"); /*0x3f0b*/ if ( v221 != 1 ) /*0x3f1b*/ { v221 = 1; /*0x3f24*/ v2 = 1; /*0x3f2d*/ - sub_5408(64, "Hotplug\n"); /*0x3f2f*/ + DebugPrint(64, "Hotplug\n"); /*0x3f2f*/ } while ( 1 ) /*0x3f5c*/ { - sub_5408(64, "Index = %x\n", v44); /*0x3f5c*/ + DebugPrint(64, "Index = %x\n", v44); /*0x3f5c*/ if ( *((_BYTE *)v217 + v44) ) /*0x3f66*/ { - sub_5408(64, "VMDPortEnable\n"); /*0x4036*/ + DebugPrint(64, "VMDPortEnable\n"); /*0x4036*/ if ( v206[v44 + 12] ) /*0x403b*/ { v206[v44 + 12] = 0; /*0x4048*/ v2 = 1; /*0x4055*/ - sub_5408(64, "1\n"); /*0x4058*/ + DebugPrint(64, "1\n"); /*0x4058*/ } if ( v206[v44 + 96] ) /*0x405d*/ { v206[v44 + 96] = 0; /*0x406a*/ v2 = 1; /*0x4077*/ - sub_5408(64, "2\n"); /*0x407a*/ + DebugPrint(64, "2\n"); /*0x407a*/ } if ( v208[v44 + 1] ) /*0x407f*/ { v208[v44 + 1] = 0; /*0x4091*/ v2 = 1; /*0x409f*/ - sub_5408(64, "3\n"); /*0x40a2*/ + DebugPrint(64, "3\n"); /*0x40a2*/ } if ( v208[v44 + 127] ) /*0x40a7*/ { v208[v44 + 127] = 0; /*0x40b9*/ v2 = 1; /*0x40c7*/ - sub_5408(64, "4\n"); /*0x40ca*/ + DebugPrint(64, "4\n"); /*0x40ca*/ } if ( !v208[v44 + 253] ) /*0x40d8*/ goto LABEL_159; /*0x40d8*/ @@ -1611,124 +1611,124 @@ } else { - sub_5408(64, "VMDPortDisble\n"); /*0x3f7b*/ + DebugPrint(64, "VMDPortDisble\n"); /*0x3f7b*/ if ( v206[v44 + 12] != 1 ) /*0x3f88*/ { v206[v44 + 12] = 1; /*0x3f8d*/ v2 = 1; /*0x3f9a*/ - sub_5408(64, "1\n"); /*0x3f9d*/ + DebugPrint(64, "1\n"); /*0x3f9d*/ } if ( v206[v44 + 96] != 1 ) /*0x3faa*/ { v206[v44 + 96] = 1; /*0x3faf*/ v2 = 1; /*0x3fbc*/ - sub_5408(64, "2\n"); /*0x3fbf*/ + DebugPrint(64, "2\n"); /*0x3fbf*/ } if ( v208[v44 + 1] != 1 ) /*0x3fcc*/ { v208[v44 + 1] = 1; /*0x3fd5*/ v2 = 1; /*0x3fe2*/ - sub_5408(64, "3\n"); /*0x3fe5*/ + DebugPrint(64, "3\n"); /*0x3fe5*/ } if ( v208[v44 + 127] != 32 ) /*0x3ff3*/ { v208[v44 + 127] = 32; /*0x3ffc*/ v2 = 1; /*0x400a*/ - sub_5408(64, "4\n"); /*0x400d*/ + DebugPrint(64, "4\n"); /*0x400d*/ } if ( v208[v44 + 253] == 32 ) /*0x401b*/ goto LABEL_159; /*0x401b*/ v208[v44 + 253] = 32; /*0x4021*/ } v2 = 1; /*0x40ef*/ - sub_5408(64, "5\n"); /*0x40f2*/ + DebugPrint(64, "5\n"); /*0x40f2*/ LABEL_159: if ( (unsigned __int64)++v44 >= 4 ) /*0x40fe*/ goto LABEL_160; /*0x40fe*/ } } - sub_5408(64, "VMDEnabled[0] Disable\n"); /*0x3de4*/ + DebugPrint(64, "VMDEnabled[0] Disable\n"); /*0x3de4*/ if ( v221 ) /*0x3df0*/ { v221 = 0; /*0x3df9*/ v2 = 1; /*0x3e03*/ - sub_5408(64, "Hotplug\n"); /*0x3e06*/ + DebugPrint(64, "Hotplug\n"); /*0x3e06*/ } for ( kk = 1; kk < 5; ++kk ) /*0x3e17*/ { - sub_5408(64, "Index = %x\n", kk); /*0x3e33*/ + DebugPrint(64, "Index = %x\n", kk); /*0x3e33*/ if ( v206[kk + 11] != 1 ) /*0x3e40*/ { v206[kk + 11] = 1; /*0x3e45*/ v2 = 1; /*0x3e52*/ - sub_5408(64, "1\n"); /*0x3e55*/ + DebugPrint(64, "1\n"); /*0x3e55*/ } if ( v206[kk + 95] != 1 ) /*0x3e62*/ { v206[kk + 95] = 1; /*0x3e67*/ v2 = 1; /*0x3e74*/ - sub_5408(64, "2\n"); /*0x3e77*/ + DebugPrint(64, "2\n"); /*0x3e77*/ } if ( v208[kk] != 1 ) /*0x3e84*/ { v208[kk] = 1; /*0x3e8d*/ v2 = 1; /*0x3e9a*/ - sub_5408(64, "3\n"); /*0x3e9d*/ + DebugPrint(64, "3\n"); /*0x3e9d*/ } if ( v208[kk + 126] != 32 ) /*0x3eab*/ { v208[kk + 126] = 32; /*0x3eb4*/ v2 = 1; /*0x3ec2*/ - sub_5408(64, "4\n"); /*0x3ec5*/ + DebugPrint(64, "4\n"); /*0x3ec5*/ } if ( v208[kk + 252] != 32 ) /*0x3ed3*/ { v208[kk + 252] = 32; /*0x3edc*/ v2 = 1; /*0x3eea*/ - sub_5408(64, "5\n"); /*0x3eed*/ + DebugPrint(64, "5\n"); /*0x3eed*/ } } LABEL_160: n22_2 = 22; /*0x4104*/ if ( v214 ) /*0x4113*/ { - sub_5408(64, "VMDEnabled[2] Enable\n"); /*0x4244*/ + DebugPrint(64, "VMDEnabled[2] Enable\n"); /*0x4244*/ if ( v222 != 1 ) /*0x4252*/ { v222 = 1; /*0x425b*/ v2 = 1; /*0x4263*/ - sub_5408(64, "Hotplug\n"); /*0x4265*/ + DebugPrint(64, "Hotplug\n"); /*0x4265*/ } n8 = 8; /*0x426a*/ while ( 1 ) /*0x4288*/ { - sub_5408(64, "Index = %x\n", n8); /*0x4288*/ + DebugPrint(64, "Index = %x\n", n8); /*0x4288*/ if ( *((_BYTE *)v217 + n8) ) /*0x4292*/ { - sub_5408(64, "VMDPortEnable\n"); /*0x4362*/ + DebugPrint(64, "VMDPortEnable\n"); /*0x4362*/ if ( v206[n8 + 12] ) /*0x4367*/ { v206[n8 + 12] = 0; /*0x4374*/ v2 = 1; /*0x4381*/ - sub_5408(64, "1\n"); /*0x4384*/ + DebugPrint(64, "1\n"); /*0x4384*/ } if ( v206[n8 + 96] ) /*0x4389*/ { v206[n8 + 96] = 0; /*0x4396*/ v2 = 1; /*0x43a3*/ - sub_5408(64, "2\n"); /*0x43a6*/ + DebugPrint(64, "2\n"); /*0x43a6*/ } if ( v208[n8 + 1] ) /*0x43ab*/ { v208[n8 + 1] = 0; /*0x43bd*/ v2 = 1; /*0x43cb*/ - sub_5408(64, "3\n"); /*0x43ce*/ + DebugPrint(64, "3\n"); /*0x43ce*/ } if ( v208[n8 + 127] ) /*0x43d3*/ { v208[n8 + 127] = 0; /*0x43e5*/ v2 = 1; /*0x43f3*/ - sub_5408(64, "4\n"); /*0x43f6*/ + DebugPrint(64, "4\n"); /*0x43f6*/ } if ( !v208[n8 + 253] ) /*0x4404*/ goto LABEL_201; /*0x4404*/ @@ -1736,37 +1736,37 @@ } else { - sub_5408(64, "VMDPortDisble\n"); /*0x42a7*/ + DebugPrint(64, "VMDPortDisble\n"); /*0x42a7*/ if ( v206[n8 + 12] != 1 ) /*0x42b4*/ { v206[n8 + 12] = 1; /*0x42b9*/ v2 = 1; /*0x42c6*/ - sub_5408(64, "1\n"); /*0x42c9*/ + DebugPrint(64, "1\n"); /*0x42c9*/ } if ( v206[n8 + 96] != 1 ) /*0x42d6*/ { v206[n8 + 96] = 1; /*0x42db*/ v2 = 1; /*0x42e8*/ - sub_5408(64, "2\n"); /*0x42eb*/ + DebugPrint(64, "2\n"); /*0x42eb*/ } if ( v208[n8 + 1] != 1 ) /*0x42f8*/ { v208[n8 + 1] = 1; /*0x4301*/ v2 = 1; /*0x430e*/ - sub_5408(64, "3\n"); /*0x4311*/ + DebugPrint(64, "3\n"); /*0x4311*/ } if ( v208[n8 + 127] != 32 ) /*0x431f*/ { v208[n8 + 127] = 32; /*0x4328*/ v2 = 1; /*0x4336*/ - sub_5408(64, "4\n"); /*0x4339*/ + DebugPrint(64, "4\n"); /*0x4339*/ } if ( v208[n8 + 253] == 32 ) /*0x4347*/ goto LABEL_201; /*0x4347*/ v208[n8 + 253] = 32; /*0x434d*/ } v2 = 1; /*0x441b*/ - sub_5408(64, "5\n"); /*0x441e*/ + DebugPrint(64, "5\n"); /*0x441e*/ LABEL_201: if ( (unsigned __int64)++n8 >= 0xA ) /*0x442e*/ { @@ -1775,87 +1775,87 @@ } } } - sub_5408(64, "VMDEnabled[2] Disable\n"); /*0x4123*/ + DebugPrint(64, "VMDEnabled[2] Disable\n"); /*0x4123*/ if ( v222 ) /*0x412f*/ { v222 = 0; /*0x4138*/ v2 = 1; /*0x4142*/ - sub_5408(64, "Hotplug\n"); /*0x4145*/ + DebugPrint(64, "Hotplug\n"); /*0x4145*/ } for ( mm = 9; mm < 0xB; ++mm ) /*0x414a*/ { - sub_5408(64, "Index = %x\n", mm); /*0x4165*/ + DebugPrint(64, "Index = %x\n", mm); /*0x4165*/ if ( v206[mm + 11] != 1 ) /*0x4172*/ { v206[mm + 11] = 1; /*0x4177*/ v2 = 1; /*0x4184*/ - sub_5408(64, "1\n"); /*0x4187*/ + DebugPrint(64, "1\n"); /*0x4187*/ } if ( v206[mm + 95] != 1 ) /*0x4194*/ { v206[mm + 95] = 1; /*0x4199*/ v2 = 1; /*0x41a6*/ - sub_5408(64, "2\n"); /*0x41a9*/ + DebugPrint(64, "2\n"); /*0x41a9*/ } if ( v208[mm] != 1 ) /*0x41b6*/ { v208[mm] = 1; /*0x41bf*/ v2 = 1; /*0x41cc*/ - sub_5408(64, "3\n"); /*0x41cf*/ + DebugPrint(64, "3\n"); /*0x41cf*/ } if ( v208[mm + 126] != 32 ) /*0x41dd*/ { v208[mm + 126] = 32; /*0x41e6*/ v2 = 1; /*0x41f4*/ - sub_5408(64, "4\n"); /*0x41f7*/ + DebugPrint(64, "4\n"); /*0x41f7*/ } if ( v208[mm + 252] != 32 ) /*0x4205*/ { v208[mm + 252] = 32; /*0x420e*/ v2 = 1; /*0x421c*/ - sub_5408(64, "5\n"); /*0x421f*/ + DebugPrint(64, "5\n"); /*0x421f*/ } } LABEL_203: n12 = 12; /*0x4438*/ if ( v215 ) /*0x4449*/ { - sub_5408(64, "VMDEnabled[3] Enable\n"); /*0x4577*/ + DebugPrint(64, "VMDEnabled[3] Enable\n"); /*0x4577*/ if ( v223 != 1 ) /*0x4589*/ { v223 = 1; /*0x4592*/ v2 = 1; /*0x459d*/ - sub_5408(64, "Hotplug\n"); /*0x45a0*/ + DebugPrint(64, "Hotplug\n"); /*0x45a0*/ } while ( 1 ) /*0x45ba*/ { - sub_5408(64, "Index = %x\n", n12); /*0x45ba*/ + DebugPrint(64, "Index = %x\n", n12); /*0x45ba*/ if ( *((_BYTE *)v217 + n12) ) /*0x45c4*/ { - sub_5408(64, "VMDPortEnable\n"); /*0x4696*/ + DebugPrint(64, "VMDPortEnable\n"); /*0x4696*/ if ( v206[n12 + 21] ) /*0x469b*/ { v206[n12 + 21] = 0; /*0x46a8*/ v2 = 1; /*0x46b5*/ - sub_5408(64, "1\n"); /*0x46b8*/ + DebugPrint(64, "1\n"); /*0x46b8*/ } if ( v206[n12 + 105] ) /*0x46bd*/ { v206[n12 + 105] = 0; /*0x46ca*/ v2 = 1; /*0x46d7*/ - sub_5408(64, "2\n"); /*0x46da*/ + DebugPrint(64, "2\n"); /*0x46da*/ } if ( v208[n12 + 10] ) /*0x46df*/ { v208[n12 + 10] = 0; /*0x46f0*/ v2 = 1; /*0x46fd*/ - sub_5408(64, "3\n"); /*0x4700*/ + DebugPrint(64, "3\n"); /*0x4700*/ } if ( v208[n12 + 136] ) /*0x4705*/ { v208[n12 + 136] = 0; /*0x4716*/ v2 = 1; /*0x4723*/ - sub_5408(64, "4\n"); /*0x4726*/ + DebugPrint(64, "4\n"); /*0x4726*/ } if ( !v208[n12 + 262] ) /*0x4733*/ goto LABEL_242; /*0x4733*/ @@ -1863,81 +1863,81 @@ } else { - sub_5408(64, "VMDPortDisble\n"); /*0x45d9*/ + DebugPrint(64, "VMDPortDisble\n"); /*0x45d9*/ if ( v206[n12 + 21] != 1 ) /*0x45e6*/ { v206[n12 + 21] = 1; /*0x45eb*/ v2 = 1; /*0x45f8*/ - sub_5408(64, "1\n"); /*0x45fb*/ + DebugPrint(64, "1\n"); /*0x45fb*/ } if ( v206[n12 + 105] != 1 ) /*0x4608*/ { v206[n12 + 105] = 1; /*0x460d*/ v2 = 1; /*0x461a*/ - sub_5408(64, "2\n"); /*0x461d*/ + DebugPrint(64, "2\n"); /*0x461d*/ } if ( v208[n12 + 10] != 1 ) /*0x462b*/ { v208[n12 + 10] = 1; /*0x4634*/ v2 = 1; /*0x4642*/ - sub_5408(64, "3\n"); /*0x4645*/ + DebugPrint(64, "3\n"); /*0x4645*/ } if ( v208[n12 + 136] != 32 ) /*0x4653*/ { v208[n12 + 136] = 32; /*0x465c*/ v2 = 1; /*0x466a*/ - sub_5408(64, "4\n"); /*0x466d*/ + DebugPrint(64, "4\n"); /*0x466d*/ } if ( v208[n12 + 262] == 32 ) /*0x467b*/ goto LABEL_242; /*0x467b*/ v208[n12 + 262] = 32; /*0x4681*/ } v2 = 1; /*0x4749*/ - sub_5408(64, "5\n"); /*0x474c*/ + DebugPrint(64, "5\n"); /*0x474c*/ LABEL_242: if ( (unsigned __int64)++n12 >= 0x10 ) /*0x4758*/ goto LABEL_243; /*0x4758*/ } } - sub_5408(64, "VMDEnabled[3] Disable\n"); /*0x4456*/ + DebugPrint(64, "VMDEnabled[3] Disable\n"); /*0x4456*/ if ( v223 ) /*0x4467*/ { v223 = 0; /*0x4470*/ v2 = 1; /*0x447a*/ - sub_5408(64, "Hotplug\n"); /*0x447d*/ + DebugPrint(64, "Hotplug\n"); /*0x447d*/ } do /*0x455f*/ { - sub_5408(64, "Index = %x\n", n22_2); /*0x4497*/ + DebugPrint(64, "Index = %x\n", n22_2); /*0x4497*/ if ( v206[n22_2 + 11] != 1 ) /*0x44a4*/ { v206[n22_2 + 11] = 1; /*0x44a9*/ v2 = 1; /*0x44b6*/ - sub_5408(64, "1\n"); /*0x44b9*/ + DebugPrint(64, "1\n"); /*0x44b9*/ } if ( v206[n22_2 + 95] != 1 ) /*0x44c6*/ { v206[n22_2 + 95] = 1; /*0x44cb*/ v2 = 1; /*0x44d8*/ - sub_5408(64, "2\n"); /*0x44db*/ + DebugPrint(64, "2\n"); /*0x44db*/ } if ( v208[n22_2] != 1 ) /*0x44e9*/ { v208[n22_2] = 1; /*0x44f2*/ v2 = 1; /*0x4500*/ - sub_5408(64, "3\n"); /*0x4503*/ + DebugPrint(64, "3\n"); /*0x4503*/ } if ( v208[n22_2 + 126] != 32 ) /*0x4511*/ { v208[n22_2 + 126] = 32; /*0x451a*/ v2 = 1; /*0x4528*/ - sub_5408(64, "4\n"); /*0x452b*/ + DebugPrint(64, "4\n"); /*0x452b*/ } if ( v208[n22_2 + 252] != 32 ) /*0x4539*/ { v208[n22_2 + 252] = 32; /*0x4542*/ v2 = 1; /*0x4550*/ - sub_5408(64, "5\n"); /*0x4553*/ + DebugPrint(64, "5\n"); /*0x4553*/ } ++n22_2; /*0x4558*/ } @@ -1946,43 +1946,43 @@ n30 = 30; /*0x4760*/ if ( v216 ) /*0x476d*/ { - sub_5408(64, "VMDEnabled[5] Enable\n"); /*0x489a*/ + DebugPrint(64, "VMDEnabled[5] Enable\n"); /*0x489a*/ if ( v224 != 1 ) /*0x48a6*/ { v224 = 1; /*0x48af*/ v2 = 1; /*0x48b9*/ - sub_5408(64, "Hotplug\n"); /*0x48bc*/ + DebugPrint(64, "Hotplug\n"); /*0x48bc*/ } n20 = 20; /*0x48c1*/ while ( 1 ) /*0x48d3*/ { - sub_5408(64, "Index = %x\n", n20); /*0x48d3*/ + DebugPrint(64, "Index = %x\n", n20); /*0x48d3*/ if ( *((_BYTE *)v217 + n20) ) /*0x48db*/ { - sub_5408(64, "VMDPortEnable\n"); /*0x49ab*/ + DebugPrint(64, "VMDPortEnable\n"); /*0x49ab*/ if ( v206[n20 + 21] ) /*0x49b0*/ { v206[n20 + 21] = 0; /*0x49bd*/ v2 = 1; /*0x49c8*/ - sub_5408(64, "1\n"); /*0x49cb*/ + DebugPrint(64, "1\n"); /*0x49cb*/ } if ( v206[n20 + 105] ) /*0x49d0*/ { v206[n20 + 105] = 0; /*0x49dd*/ v2 = 1; /*0x49e8*/ - sub_5408(64, "2\n"); /*0x49eb*/ + DebugPrint(64, "2\n"); /*0x49eb*/ } if ( v208[n20 + 10] ) /*0x49f0*/ { v208[n20 + 10] = 0; /*0x4a01*/ v2 = 1; /*0x4a0c*/ - sub_5408(64, "3\n"); /*0x4a0f*/ + DebugPrint(64, "3\n"); /*0x4a0f*/ } if ( v208[n20 + 136] ) /*0x4a14*/ { v208[n20 + 136] = 0; /*0x4a25*/ v2 = 1; /*0x4a30*/ - sub_5408(64, "4\n"); /*0x4a33*/ + DebugPrint(64, "4\n"); /*0x4a33*/ } if ( !v208[n20 + 262] ) /*0x4a40*/ goto LABEL_283; /*0x4a40*/ @@ -1990,87 +1990,87 @@ } else { - sub_5408(64, "VMDPortDisble\n"); /*0x48f0*/ + DebugPrint(64, "VMDPortDisble\n"); /*0x48f0*/ if ( v206[n20 + 21] != 1 ) /*0x48fd*/ { v206[n20 + 21] = 1; /*0x4902*/ v2 = 1; /*0x490d*/ - sub_5408(64, "1\n"); /*0x4910*/ + DebugPrint(64, "1\n"); /*0x4910*/ } if ( v206[n20 + 105] != 1 ) /*0x491d*/ { v206[n20 + 105] = 1; /*0x4922*/ v2 = 1; /*0x492d*/ - sub_5408(64, "2\n"); /*0x4930*/ + DebugPrint(64, "2\n"); /*0x4930*/ } if ( v208[n20 + 10] != 1 ) /*0x493e*/ { v208[n20 + 10] = 1; /*0x4947*/ v2 = 1; /*0x4953*/ - sub_5408(64, "3\n"); /*0x4956*/ + DebugPrint(64, "3\n"); /*0x4956*/ } if ( v208[n20 + 136] != 32 ) /*0x4968*/ { v208[n20 + 136] = 32; /*0x4971*/ v2 = 1; /*0x497c*/ - sub_5408(64, "4\n"); /*0x497f*/ + DebugPrint(64, "4\n"); /*0x497f*/ } if ( v208[n20 + 262] == 32 ) /*0x4991*/ goto LABEL_283; /*0x4991*/ v208[n20 + 262] = 32; /*0x4997*/ } v2 = 1; /*0x4a54*/ - sub_5408(64, "5\n"); /*0x4a57*/ + DebugPrint(64, "5\n"); /*0x4a57*/ LABEL_283: if ( (unsigned __int64)++n20 >= 0x18 ) /*0x4a63*/ goto LABEL_284; /*0x4a63*/ } } - sub_5408(64, "VMDEnabled[5] Disable\n"); /*0x4781*/ + DebugPrint(64, "VMDEnabled[5] Disable\n"); /*0x4781*/ if ( v224 ) /*0x478d*/ { v224 = 0; /*0x4796*/ v2 = 1; /*0x479f*/ - sub_5408(64, "Hotplug\n"); /*0x47a2*/ + DebugPrint(64, "Hotplug\n"); /*0x47a2*/ } do /*0x487c*/ { - sub_5408(64, "Index = %x\n", n30); /*0x47b4*/ + DebugPrint(64, "Index = %x\n", n30); /*0x47b4*/ if ( v206[n30 + 11] != 1 ) /*0x47c1*/ { v206[n30 + 11] = 1; /*0x47c6*/ v2 = 1; /*0x47d1*/ - sub_5408(64, "1\n"); /*0x47d4*/ + DebugPrint(64, "1\n"); /*0x47d4*/ } if ( v206[n30 + 95] != 1 ) /*0x47e1*/ { v206[n30 + 95] = 1; /*0x47e6*/ v2 = 1; /*0x47f1*/ - sub_5408(64, "2\n"); /*0x47f4*/ + DebugPrint(64, "2\n"); /*0x47f4*/ } if ( v208[n30] != 1 ) /*0x4802*/ { v208[n30] = 1; /*0x480b*/ v2 = 1; /*0x4817*/ - sub_5408(64, "3\n"); /*0x481a*/ + DebugPrint(64, "3\n"); /*0x481a*/ } if ( v208[n30 + 126] != 32 ) /*0x482d*/ { v208[n30 + 126] = 32; /*0x4836*/ v2 = 1; /*0x4842*/ - sub_5408(64, "4\n"); /*0x4845*/ + DebugPrint(64, "4\n"); /*0x4845*/ } if ( v208[n30 + 252] != 32 ) /*0x4858*/ { v208[n30 + 252] = 32; /*0x4861*/ v2 = 1; /*0x486d*/ - sub_5408(64, "5\n"); /*0x4870*/ + DebugPrint(64, "5\n"); /*0x4870*/ } ++n30; /*0x4875*/ } while ( n30 < 0x22 ); /*0x487c*/ LABEL_284: - sub_5408(64, "(After sync) ValidFlag = %x\n", v2); /*0x4a69*/ + DebugPrint(64, "(After sync) ValidFlag = %x\n", v2); /*0x4a69*/ if ( v2 ) /*0x4a7e*/ { (*(void (__fastcall **)(const __int16 *, void *, _QWORD, __int64, _BYTE *))(RuntimeServices + 88))( /*0x4aac*/ @@ -2079,7 +2079,7 @@ v170, 6668, v206); - if ( (unsigned int)sub_5710() != 32 ) /*0x4abd*/ + if ( (unsigned int)GetCurrentPchSku() != 32 ) /*0x4abd*/ { __outbyte(0xCF9u, 0xEu); /*0x4aca*/ v176 = 1; /*0x4acb*/ @@ -2098,7 +2098,7 @@ { qword_7920 = 0; /*0x4b22*/ LABEL_292: - sub_A6C(nn); /*0x4b29*/ + UpdateVmdNvmeConfig(nn); /*0x4b29*/ continue; /*0x4b2b*/ } v56 = qword_7920; /*0x4d9d*/ @@ -2150,19 +2150,19 @@ { v277[256] = v288; /*0x4e9f*/ v276[1] = v289; /*0x4eb6*/ - sub_6100(v277, v290, v289); /*0x4ebc*/ + CopyMemPreserveFlags(v277, v290, v289); /*0x4ebc*/ } goto LABEL_348; /*0x4ebc*/ } qword_7920 = 0; /*0x4e2f*/ LABEL_348: sub_121C(v276); /*0x4ec1*/ - sub_A6C(nn); /*0x4ecf*/ + UpdateVmdNvmeConfig(nn); /*0x4ecf*/ v54 = 1; /*0x4ed4*/ } if ( v54 ) /*0x4b3c*/ { - if ( (unsigned int)sub_5710() != 32 ) /*0x4b46*/ + if ( (unsigned int)GetCurrentPchSku() != 32 ) /*0x4b46*/ { __outbyte(0xCF9u, 0xEu); /*0x4b53*/ v176 = 1; /*0x4b54*/ @@ -2199,66 +2199,66 @@ v58 = 0; /*0x4b9e*/ else v58 = v177[0] == 1; /*0x4f28*/ - sub_5408(64, "ModifyFlag %x\n", v58); /*0x4baf*/ + DebugPrint(64, "ModifyFlag %x\n", v58); /*0x4baf*/ if ( v58 ) /*0x4bb9*/ { LOBYTE(n2_6) = 0; /*0x4bc6*/ - if ( sub_868(1, &n2_6, v60, v61) >= 0 && (unsigned __int8)n2_6 < 2u ) /*0x4be0*/ + if ( GetSetupValue(1, &n2_6, v60, v61) >= 0 && (unsigned __int8)n2_6 < 2u ) /*0x4be0*/ { n2_23 = n2_6; /*0x4be2*/ n2_6 = n2_6; /*0x4be8*/ } - if ( sub_868(2, &n2_6, v62, v63) >= 0 ) /*0x4c00*/ + if ( GetSetupValue(2, &n2_6, v62, v63) >= 0 ) /*0x4c00*/ { n2_7 = n2_8; /*0x4c09*/ if ( (unsigned __int8)n2_6 < 2u ) /*0x4c15*/ n2_7 = n2_6; /*0x4c15*/ n2_8 = n2_7; /*0x4c18*/ } - if ( sub_868(3, &n2_6, v64, v65) >= 0 ) /*0x4c2f*/ + if ( GetSetupValue(3, &n2_6, v64, v65) >= 0 ) /*0x4c2f*/ { n2_9 = n2_10; /*0x4c38*/ if ( (unsigned __int8)n2_6 < 2u ) /*0x4c43*/ n2_9 = (unsigned __int8)n2_6; /*0x4c43*/ n2_10 = n2_9; /*0x4c47*/ } - if ( sub_868(4, &n2_6, n2_9, v68) >= 0 ) /*0x4c5f*/ + if ( GetSetupValue(4, &n2_6, n2_9, v68) >= 0 ) /*0x4c5f*/ { n2_11 = n2_12; /*0x4c68*/ if ( (unsigned __int8)n2_6 < 2u ) /*0x4c74*/ n2_11 = n2_6; /*0x4c74*/ n2_12 = n2_11; /*0x4c77*/ } - if ( sub_868(5, &n2_6, v69, v70) >= 0 ) /*0x4c8e*/ + if ( GetSetupValue(5, &n2_6, v69, v70) >= 0 ) /*0x4c8e*/ { n2_13 = BYTE1(n33686016); /*0x4c97*/ if ( (unsigned __int8)n2_6 < 3u ) /*0x4ca1*/ n2_13 = (unsigned __int8)n2_6; /*0x4ca1*/ BYTE1(n33686016) = n2_13; /*0x4ca5*/ } - if ( sub_868(6, &n2_6, n2_13, v73) >= 0 ) /*0x4cc0*/ + if ( GetSetupValue(6, &n2_6, n2_13, v73) >= 0 ) /*0x4cc0*/ { n257_5 = (unsigned __int8)n257; /*0x4cc9*/ if ( (unsigned __int8)n2_6 < 2u ) /*0x4cd4*/ n257_5 = (unsigned __int8)n2_6; /*0x4cd4*/ LOBYTE(n257) = n257_5; /*0x4cd8*/ } - if ( sub_868(7, &n2_6, n257_5, v75) >= 0 && (unsigned __int8)n2_6 < 2u ) /*0x4cfb*/ + if ( GetSetupValue(7, &n2_6, n257_5, v75) >= 0 && (unsigned __int8)n2_6 < 2u ) /*0x4cfb*/ { n2_14 = n2_6; /*0x4cfd*/ n2_2 = n2_6; /*0x4d03*/ } - if ( sub_868(8, &n2_6, v76, v77) >= 0 && (unsigned __int8)n2_6 < 2u ) /*0x4d25*/ + if ( GetSetupValue(8, &n2_6, v76, v77) >= 0 && (unsigned __int8)n2_6 < 2u ) /*0x4d25*/ { v254[2] = n2_6; /*0x4d27*/ n2_3 = n2_6; /*0x4d2d*/ } - if ( sub_868(11, &n2_6, v78, v79) >= 0 && (unsigned __int8)n2_6 < 2u ) /*0x4d4f*/ + if ( GetSetupValue(11, &n2_6, v78, v79) >= 0 && (unsigned __int8)n2_6 < 2u ) /*0x4d4f*/ { v254[1] = n2_6; /*0x4d51*/ n2_4 = n2_6; /*0x4d57*/ } - if ( sub_868(13, &n2_6, v80, v81) >= 0 && (unsigned __int8)n2_6 < 3u ) /*0x4d7d*/ + if ( GetSetupValue(13, &n2_6, v80, v81) >= 0 && (unsigned __int8)n2_6 < 3u ) /*0x4d7d*/ { LOBYTE(n33686016) = n2_6; /*0x4d83*/ if ( (_BYTE)n2_6 ) /*0x4d8b*/ @@ -2280,44 +2280,44 @@ n2_1 = 2; /*0x4d91*/ } } - if ( sub_868(14, &n2_6, v82, v83) >= 0 ) /*0x4f63*/ + if ( GetSetupValue(14, &n2_6, v82, v83) >= 0 ) /*0x4f63*/ { n257_6 = n257_2; /*0x4f6c*/ if ( (unsigned __int8)n2_6 < 2u ) /*0x4f74*/ n257_6 = n2_6; /*0x4f74*/ LOBYTE(n257_2) = n257_6; /*0x4f77*/ } - if ( sub_868(15, &n2_6, v89, v90) >= 0 ) /*0x4f8c*/ + if ( GetSetupValue(15, &n2_6, v89, v90) >= 0 ) /*0x4f8c*/ { n2_16 = (unsigned __int8)n2_5; /*0x4f95*/ if ( (unsigned __int8)n2_6 < 2u ) /*0x4fa0*/ n2_16 = (unsigned __int8)n2_6; /*0x4fa0*/ n2_5 = n2_16; /*0x4fa4*/ } - if ( sub_868(16, &n2_6, n2_16, v93) >= 0 ) /*0x4fbc*/ + if ( GetSetupValue(16, &n2_6, n2_16, v93) >= 0 ) /*0x4fbc*/ { n2_17 = v206[0]; /*0x4fc5*/ if ( (unsigned __int8)n2_6 < 2u ) /*0x4fd0*/ n2_17 = (unsigned __int8)n2_6; /*0x4fd0*/ v206[0] = n2_17; /*0x4fd4*/ } - if ( sub_868(17, &n2_6, n2_17, v95) >= 0 ) /*0x4fec*/ + if ( GetSetupValue(17, &n2_6, n2_17, v95) >= 0 ) /*0x4fec*/ { n2_18 = n2_19; /*0x4ff5*/ if ( (unsigned __int8)n2_6 < 2u ) /*0x4fff*/ n2_18 = n2_6; /*0x4fff*/ n2_19 = n2_18; /*0x5002*/ } - if ( sub_868(18, &n2_6, v96, v97) >= 0 ) /*0x5019*/ + if ( GetSetupValue(18, &n2_6, v96, v97) >= 0 ) /*0x5019*/ { n2_20 = n2_21; /*0x5022*/ if ( (unsigned __int8)n2_6 < 2u ) /*0x502c*/ n2_20 = n2_6; /*0x502c*/ n2_21 = n2_20; /*0x502f*/ } - if ( sub_868(254, &n2_6, v99, v100) >= 0 && (_BYTE)n2_6 == 1 ) /*0x5053*/ + if ( GetSetupValue(254, &n2_6, v99, v100) >= 0 && (_BYTE)n2_6 == 1 ) /*0x5053*/ { - if ( sub_868(9, &n2_6, v102, v103) >= 0 && (unsigned __int8)n2_6 < 5u ) /*0x507b*/ + if ( GetSetupValue(9, &n2_6, v102, v103) >= 0 && (unsigned __int8)n2_6 < 5u ) /*0x507b*/ { n3_1 = n2_6; /*0x5081*/ v105 = byte_7580; /*0x5087*/ @@ -2335,7 +2335,7 @@ v254[2] = byte_7580[v104 + 11]; /*0x5108*/ n2_19 = byte_7580[v104 + 12]; /*0x5113*/ } - sub_90C(254, 0, v104, (__int64)v105); /*0x511d*/ + SetSetupValue(254, 0, v104, (__int64)v105); /*0x511d*/ } (*(void (__fastcall **)(const __int16 *, void *, _QWORD, __int64, char *))(RuntimeServices + 88))( /*0x514c*/ L"Setup", @@ -2373,8 +2373,8 @@ v170, 6668, v206); - sub_90C(0, 0, v106, v107); /*0x5232*/ - if ( (unsigned int)sub_5710() != 32 ) /*0x523f*/ + SetSetupValue(0, 0, v106, v107); /*0x5232*/ + if ( (unsigned int)GetCurrentPchSku() != 32 ) /*0x523f*/ { __outbyte(0xCF9u, 0xEu); /*0x524c*/ v176 = 1; /*0x524d*/ @@ -2385,38 +2385,38 @@ else { LOBYTE(v59) = n2_23; /*0x525f*/ - sub_90C(1, v59, v60, v61); /*0x5265*/ + SetSetupValue(1, v59, v60, v61); /*0x5265*/ LOBYTE(v108) = n2_8; /*0x526a*/ - sub_90C(2, v108, v109, v110); /*0x5273*/ + SetSetupValue(2, v108, v109, v110); /*0x5273*/ LOBYTE(v111) = n2_10; /*0x5278*/ - sub_90C(3, v111, v112, v113); /*0x5280*/ + SetSetupValue(3, v111, v112, v113); /*0x5280*/ LOBYTE(v114) = n2_12; /*0x5285*/ - sub_90C(4, v114, v115, v116); /*0x528d*/ + SetSetupValue(4, v114, v115, v116); /*0x528d*/ LOBYTE(v117) = BYTE1(n33686016); /*0x5292*/ - sub_90C(5, v117, v118, v119); /*0x529a*/ + SetSetupValue(5, v117, v118, v119); /*0x529a*/ LOBYTE(v120) = n257; /*0x529f*/ - sub_90C(6, v120, v121, v122); /*0x52aa*/ + SetSetupValue(6, v120, v121, v122); /*0x52aa*/ LOBYTE(v123) = n2_14; /*0x52af*/ - sub_90C(7, v123, v124, v125); /*0x52b7*/ + SetSetupValue(7, v123, v124, v125); /*0x52b7*/ LOBYTE(v126) = v254[2]; /*0x52bc*/ - sub_90C(8, v126, v127, v128); /*0x52c4*/ + SetSetupValue(8, v126, v127, v128); /*0x52c4*/ LOBYTE(v129) = n3_1; /*0x52c9*/ - sub_90C(9, v129, v130, v131); /*0x52d4*/ + SetSetupValue(9, v129, v130, v131); /*0x52d4*/ LOBYTE(v132) = v254[1]; /*0x52d9*/ - sub_90C(11, v132, v133, v134); /*0x52e1*/ + SetSetupValue(11, v132, v133, v134); /*0x52e1*/ LOBYTE(v135) = n33686016; /*0x52e6*/ - sub_90C(13, v135, v136, v137); /*0x52ee*/ + SetSetupValue(13, v135, v136, v137); /*0x52ee*/ LOBYTE(v138) = n257_2; /*0x52f3*/ - sub_90C(14, v138, v139, v140); /*0x52f9*/ + SetSetupValue(14, v138, v139, v140); /*0x52f9*/ LOBYTE(v141) = n2_5; /*0x52fe*/ - sub_90C(15, v141, v142, v143); /*0x5306*/ + SetSetupValue(15, v141, v142, v143); /*0x5306*/ LOBYTE(v144) = v206[0]; /*0x530b*/ - sub_90C(16, v144, v145, v146); /*0x5313*/ + SetSetupValue(16, v144, v145, v146); /*0x5313*/ LOBYTE(v147) = n2_19; /*0x5318*/ - sub_90C(17, v147, v148, v149); /*0x5320*/ + SetSetupValue(17, v147, v148, v149); /*0x5320*/ LOBYTE(v150) = n2_21; /*0x5325*/ - sub_90C(18, v150, v151, v152); /*0x532d*/ - sub_90C(254, 0, v153, v154); /*0x5336*/ + SetSetupValue(18, v150, v151, v152); /*0x532d*/ + SetSetupValue(254, 0, v153, v154); /*0x5336*/ } return 0; /*0x5345*/ } diff --git a/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadGpio.c b/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadGpio.c index 947bac9..c2e4b29 100644 --- a/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadGpio.c +++ b/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadGpio.c @@ -1,4 +1,4 @@ -unsigned __int64 __fastcall sub_5A28(unsigned int a1, __int64 a2, __int64 a3, char a4, int *a5) +unsigned __int64 __fastcall GetGpioPadOwnership(unsigned int a1, __int64 a2, __int64 a3, char a4, int *a5) { unsigned int v5; // ebx unsigned __int64 v7; // rdi @@ -9,30 +9,30 @@ LOBYTE(v11) = a4; /*0x5a32*/ v5 = (unsigned __int16)a1; /*0x5a41*/ v7 = BYTE2(a1); /*0x5a4a*/ - if ( !sub_5CFC(a1) ) + if ( !IsSupportedPchSku(a1) ) { - sub_5408( + DebugPrint( 0x80000000LL, "GPIO ERROR: Incorrect GpioPad define used on this chipset (Group=%d, Pad=%d)!\n", (unsigned int)v7, v5); return 0x8000000000000003uLL; /*0x5a77*/ } - v9 = sub_5C64(v10); /*0x5a86*/ + v9 = GetGpioInfoTable(v10); /*0x5a86*/ if ( v7 >= v10[0] ) { - sub_5408(0x80000000LL, "GPIO ERROR: Group argument (%d) exceeds GPIO group range\n", (unsigned int)v7); + DebugPrint(0x80000000LL, "GPIO ERROR: Group argument (%d) exceeds GPIO group range\n", (unsigned int)v7); return 0x8000000000000002uLL; /*0x5ab1*/ } if ( v5 >= *(_DWORD *)(v9 + 60 * v7 + 56) ) { - sub_5408(0x80000000LL, "GPIO ERROR: Pin number (%d) exceeds possible range for this group\n", v5); + DebugPrint(0x80000000LL, "GPIO ERROR: Pin number (%d) exceeds possible range for this group\n", v5); return 0x8000000000000002uLL; /*0x5ac7*/ } - sub_5B84(a1, &v11); /*0x5ad1*/ + GetGpioPadConfigWord(a1, &v11); /*0x5ad1*/ if ( v11 ) { - sub_5408(0x80000000LL, "GPIO ERROR: Accessing pad not owned by host (Group=%d, Pad=%d)!\n", (unsigned int)v7, v5); + DebugPrint(0x80000000LL, "GPIO ERROR: Accessing pad not owned by host (Group=%d, Pad=%d)!\n", (unsigned int)v7, v5); return 0x8000000000000003uLL; /*0x5ae4*/ } *a5 = *(_DWORD *)((unsigned __int16)(*(_DWORD *)(v9 + 60 * v7 + 52) + 8 * v5) @@ -41,17 +41,17 @@ return 0; /*0x5b1d*/ } -__int64 __fastcall sub_5B28(int a1, _DWORD *a2, int a3, int a4) +__int64 __fastcall GetGpioPadConfig(int a1, _DWORD *a2, int a3, int a4) { __int64 v5; // rax __int64 v6; // rdi - v5 = sub_5A28(a1, (_DWORD)a2, a3, a4, (__int64)a2); /*0x5b3a*/ + v5 = GetGpioPadOwnership(a1, (_DWORD)a2, a3, a4, (__int64)a2); /*0x5b3a*/ v6 = v5; /*0x5b3f*/ if ( v5 < 0 ) /*0x5b45*/ { - sub_5408(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v5); /*0x5b56*/ - sub_5450( + DebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v5); /*0x5b56*/ + DebugAssert( (__int64)"e:\\hs\\PurleySktPkg\\SouthClusterLbg\\Library\\PeiDxeSmmGpioLib\\GpioLib.c", 935, (__int64)"!EFI_ERROR (Status)"); @@ -60,7 +60,7 @@ return v6; /*0x5b7d*/ } -unsigned __int64 __fastcall sub_5B84(int a1, unsigned int *a2) +unsigned __int64 __fastcall GetGpioPadConfigWord(int a1, unsigned int *a2) { unsigned int v2; // ebx unsigned __int64 v3; // rdi @@ -70,13 +70,13 @@ v2 = (unsigned __int16)a1; /*0x5b95*/ v3 = BYTE2(a1); /*0x5ba0*/ - v5 = sub_5C64(&v8); /*0x5ba6*/ + v5 = GetGpioInfoTable(&v8); /*0x5ba6*/ if ( v3 >= v8 ) { - sub_5408(0x80000000LL, "GPIO ERROR: Group argument (%d) exceeds GPIO group range\n", v3); + DebugPrint(0x80000000LL, "GPIO ERROR: Group argument (%d) exceeds GPIO group range\n", v3); n1389 = 1389; /*0x5bcb*/ LABEL_3: - sub_5450( + DebugAssert( (__int64)"e:\\hs\\PurleySktPkg\\SouthClusterLbg\\Library\\PeiDxeSmmGpioLib\\GpioLib.c", n1389, (__int64)"((BOOLEAN)(0==1))"); @@ -84,7 +84,7 @@ } if ( v2 >= v5[15 * (unsigned int)v3 + 14] ) { - sub_5408(0x80000000LL, "GPIO ERROR: Pin number (%d) exceeds possible range for this group\n", v2); + DebugPrint(0x80000000LL, "GPIO ERROR: Pin number (%d) exceeds possible range for this group\n", v2); n1389 = 1398; /*0x5c0d*/ goto LABEL_3; /*0x5c12*/ } @@ -94,7 +94,7 @@ return 0; /*0x5c5b*/ } -void *__fastcall sub_5C64(_QWORD *a1) +void *__fastcall GetGpioInfoTable(_QWORD *a1) { int n2; // ebx __int64 v3; // rax @@ -103,12 +103,12 @@ n2 = n2_7; /*0x5c6e*/ if ( n2_7 == 2 ) { - v3 = sub_55A4(); /*0x5c7c*/ - v4 = sub_5D3C(v3 + 2); /*0x5c85*/ + v3 = GetLpcDeviceId(); /*0x5c7c*/ + v4 = ReadUnaligned16(v3 + 2); /*0x5c85*/ if ( ((v4 + 24128) & 0xFF70) != 0 ) { - sub_5408(0x80000000LL, "Unsupported PCH SKU, LpcDeviceId: 0x%04x!\n", v4); - sub_5450( + DebugPrint(0x80000000LL, "Unsupported PCH SKU, LpcDeviceId: 0x%04x!\n", v4); + DebugAssert( (__int64)"e:\\hs\\PurleySktPkg\\SouthClusterLbg\\Library\\PeiDxeSmmPchInfoLib\\PchInfoLib.c", 290, (__int64)"((BOOLEAN)(0==1))"); @@ -131,11 +131,11 @@ } } -bool __fastcall sub_5CFC(int a1) +bool __fastcall IsSupportedPchSku(int a1) { int n2; // eax - n2 = sub_5FBC(); /*0x5d04*/ + n2 = GetPchSku(); /*0x5d04*/ if ( n2 == 1 ) /*0x5d0c*/ return (a1 & 0xFF000000) == 0x1000000; /*0x5d14*/ if ( n2 != 2 ) /*0x5d23*/ @@ -143,22 +143,22 @@ return (a1 & 0xFF000000) == 0x2000000; /*0x5d35*/ } -__int64 __fastcall sub_5D3C(unsigned __int16 *a1) +__int64 __fastcall ReadUnaligned16(unsigned __int16 *a1) { if ( ((unsigned __int8)a1 & 1) != 0 ) /*0x5d48*/ - sub_5450((__int64)"e:\\hs\\MdePkg\\Library\\BaseIoLibIntrinsic\\IoLib.c", 151, (__int64)"(Address & 1) == 0"); /*0x5d5d*/ + DebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\BaseIoLibIntrinsic\\IoLib.c", 151, (__int64)"(Address & 1) == 0"); /*0x5d5d*/ return *a1; /*0x5d65*/ } -__int64 __fastcall sub_5D6C(_WORD *a1) +__int64 __fastcall WriteUnaligned16(_WORD *a1) { if ( ((unsigned __int8)a1 & 1) != 0 ) /*0x5d78*/ - sub_5450((__int64)"e:\\hs\\MdePkg\\Library\\BaseIoLibIntrinsic\\IoLib.c", 183, (__int64)"(Address & 1) == 0"); /*0x5d8d*/ + DebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\BaseIoLibIntrinsic\\IoLib.c", 183, (__int64)"(Address & 1) == 0"); /*0x5d8d*/ *a1 = 1280; /*0x5d97*/ return 1280; /*0x5d9a*/ } -__int64 sub_5DA0() +__int64 GetPchRevision() { unsigned __int8 v0; // al char n3; // al @@ -183,7 +183,7 @@ return result; /*0x5dea*/ } -__int64 sub_5DF0() +__int64 GetPcdProtocol() { __int64 result; // rax __int64 v1; // rax @@ -194,16 +194,15 @@ v1 = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(qword_7930 + 320))(&unk_73D0, 0, &qword_79F8); /*0x5e17*/ if ( v1 < 0 ) /*0x5e20*/ { - sub_5408(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v1); /*0x5e31*/ - sub_5450((__int64)"e:\\hs\\MdePkg\\Library\\DxePcdLib\\DxePcdLib.c", 78, (__int64)"!EFI_ERROR (Status)"); /*0x5e49*/ + DebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v1); /*0x5e31*/ + DebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\DxePcdLib\\DxePcdLib.c", 78, (__int64)"!EFI_ERROR (Status)"); /*0x5e49*/ } result = qword_79F8; /*0x5e4e*/ if ( !qword_79F8 ) /*0x5e58*/ { - sub_5450((__int64)"e:\\hs\\MdePkg\\Library\\DxePcdLib\\DxePcdLib.c", 79, (__int64)"mPcd != ((void *) 0)"); /*0x5e6b*/ + DebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\DxePcdLib\\DxePcdLib.c", 79, (__int64)"mPcd != ((void *) 0)"); /*0x5e6b*/ return qword_79F8; /*0x5e70*/ } } return result; /*0x5e77*/ } - diff --git a/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadHelpers.c b/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadHelpers.c index b2d12ae..81b956a 100644 --- a/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadHelpers.c +++ b/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadHelpers.c @@ -1,35 +1,35 @@ -void *sub_2A0(void *buf, unsigned __int64 count, char value) +void *SetMem(void *buf, unsigned __int64 count, char value) { memset(buf, value, count); /*0x2aa*/ return buf; /*0x2af*/ } -void sub_300() +void CpuPause() { _mm_pause(); /*0x300*/ } -unsigned __int64 sub_310() +unsigned __int64 AsmReadTsc() { return __rdtsc(); /*0x319*/ } -void sub_320() +void EnableInterrupts() { _enable(); /*0x320*/ } -void sub_330() +void DisableInterrupts() { _disable(); /*0x330*/ } -unsigned __int64 sub_340() +unsigned __int64 AsmReadEflags() { return __getcallerseflags(); /*0x342*/ } -char *__fastcall sub_350(char *dst, char *src, unsigned __int64 count) +char *__fastcall CopyMem(char *dst, char *src, unsigned __int64 count) { char *dst_2; // rax unsigned __int64 count_1; // rcx @@ -55,7 +55,7 @@ return dst_2; /*0x38f*/ } -__int64 sub_5388() +__int64 GetDebugPrintProtocol() { __int64 result; // rax unsigned __int64 n0x10; // rbx @@ -84,59 +84,59 @@ return result; /*0x5401*/ } -__int64 sub_5408(__int64 a1, const char *a2, ...) +__int64 DebugPrint(__int64 a1, const char *a2, ...) { __int64 result; // rax __int64 (__fastcall **v4)(__int64, const char *, __int64 *); // r10 va_list va; // [rsp+40h] [rbp+18h] BYREF va_start(va, a2); - result = sub_5388(); /*0x541f*/ + result = GetDebugPrintProtocol(); /*0x541f*/ if ( result ) /*0x542a*/ { - result = sub_5DA0(); /*0x542c*/ + result = GetPchRevision(); /*0x542c*/ if ( ((unsigned int)result & (unsigned int)a1) != 0 ) /*0x5437*/ return (*v4)(a1, a2, (__int64 *)va); /*0x5446*/ } return result; /*0x5449*/ } -__int64 __fastcall sub_5450(__int64 a1, __int64 a2, __int64 a3) +__int64 __fastcall DebugAssert(__int64 a1, __int64 a2, __int64 a3) { __int64 result; // rax - result = sub_5388(); /*0x5468*/ + result = GetDebugPrintProtocol(); /*0x5468*/ if ( result ) /*0x5470*/ return (*(__int64 (__fastcall **)(__int64, __int64, __int64))(result + 8))(a1, a2, a3); /*0x547b*/ return result; /*0x5488*/ } -void *__fastcall sub_5490(char *p_n2, unsigned __int64 n256) +void *__fastcall SetMemZero(char *p_n2, unsigned __int64 n256) { if ( n256 - 1 > -1 - (__int64)p_n2 ) /*0x54ae*/ - sub_5450( /*0x54c3*/ + DebugAssert( /*0x54c3*/ (__int64)"e:\\hs\\MdePkg\\Library\\BaseMemoryLibRepStr\\SetMemWrapper.c", 54, (__int64)"(Length - 1) <= (0xFFFFFFFFFFFFFFFFULL - (UINTN)Buffer)"); - return sub_2A0(p_n2, n256, 0); /*0x54d6*/ + return SetMem(p_n2, n256, 0); /*0x54d6*/ } -unsigned __int64 __fastcall sub_54E0(__int64 a1, _QWORD *a2) +unsigned __int64 __fastcall LocateConfigurationTable(__int64 a1, _QWORD *a2) { __int64 v4; // rdi __int64 v5; // rbx __int64 i; // r14 if ( !a1 ) /*0x5502*/ - sub_5450((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 97, (__int64)"TableGuid != ((void *) 0)"); /*0x5515*/ + DebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 97, (__int64)"TableGuid != ((void *) 0)"); /*0x5515*/ if ( !a2 ) /*0x551d*/ - sub_5450((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 98, (__int64)"Table != ((void *) 0)"); /*0x5530*/ + DebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 98, (__int64)"Table != ((void *) 0)"); /*0x5530*/ v4 = qword_7928; /*0x5535*/ v5 = 0; /*0x553c*/ *a2 = 0; /*0x553e*/ if ( !*(_QWORD *)(v4 + 104) ) /*0x5542*/ return 0x800000000000000EuLL; /*0x556b*/ - for ( i = 0; !(unsigned __int8)sub_5F54(a1, i + *(_QWORD *)(v4 + 112)); i += 24 ) /*0x5548*/ + for ( i = 0; !(unsigned __int8)CompareGuid(a1, i + *(_QWORD *)(v4 + 112)); i += 24 ) /*0x5548*/ { if ( (unsigned __int64)++v5 >= *(_QWORD *)(v4 + 104) ) /*0x5569*/ return 0x800000000000000EuLL; /*0x5569*/ @@ -145,7 +145,7 @@ return 0; /*0x5589*/ } -__int64 sub_55A4() +__int64 GetLpcDeviceId() { _DWORD v1[6]; // [rsp+20h] [rbp-18h] BYREF @@ -156,7 +156,7 @@ return (*(__int64 (__fastcall **)(_DWORD *))(qword_7958 + 24))(v1); /*0x55cf*/ } -__int64 sub_55D4() +__int64 GetHobList() { __int64 result; // rax signed __int64 v1; // rax @@ -164,33 +164,33 @@ result = qword_7960; /*0x55d8*/ if ( !qword_7960 ) /*0x55e2*/ { - v1 = sub_54E0((__int64)&unk_7480, &qword_7960); /*0x55f2*/ + v1 = LocateConfigurationTable((__int64)&unk_7480, &qword_7960); /*0x55f2*/ if ( v1 < 0 ) /*0x55fa*/ { - sub_5408(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v1); /*0x560b*/ - sub_5450((__int64)"e:\\hs\\MdePkg\\Library\\DxeHobLib\\HobLib.c", 54, (__int64)"!EFI_ERROR (Status)"); /*0x5623*/ + DebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", v1); /*0x560b*/ + DebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\DxeHobLib\\HobLib.c", 54, (__int64)"!EFI_ERROR (Status)"); /*0x5623*/ } result = qword_7960; /*0x5628*/ if ( !qword_7960 ) /*0x5632*/ { - sub_5450((__int64)"e:\\hs\\MdePkg\\Library\\DxeHobLib\\HobLib.c", 55, (__int64)"mHobList != ((void *) 0)"); /*0x5645*/ + DebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\DxeHobLib\\HobLib.c", 55, (__int64)"mHobList != ((void *) 0)"); /*0x5645*/ return qword_7960; /*0x564a*/ } } return result; /*0x5651*/ } -__int64 __fastcall sub_5658(__int64 n1024064) +__int64 __fastcall PciExpressAddress(__int64 n1024064) { if ( (n1024064 & 0xFFFFFFFFF0000000uLL) != 0 ) /*0x5668*/ - sub_5450( /*0x567d*/ + DebugAssert( /*0x567d*/ (__int64)"e:\\hs\\MdePkg\\Library\\SmmPciExpressLib\\PciExpressLib.c", 118, (__int64)"((Address) & ~0xfffffff) == 0"); return n1024064 + qword_7968; /*0x568c*/ } -__int64 __fastcall sub_5694(unsigned __int64 a1) +__int64 __fastcall CompareMemPattern(unsigned __int64 a1) { _BYTE *v1; // rdx unsigned __int64 v2; // r9 @@ -233,7 +233,7 @@ return *(char *)a1 - (char)*v1; /*0x5700*/ } -__int64 sub_5710() +__int64 GetCurrentPchSku() { __int64 v0; // r11 __int64 v1; // rbx @@ -245,7 +245,7 @@ v2 = *(_QWORD *)(SystemTable + 112); /*0x5728*/ if ( v1 ) /*0x572f*/ { - while ( sub_5694(v2) ) /*0x573c*/ + while ( CompareMemPattern(v2) ) /*0x573c*/ { v2 += 24LL; /*0x573e*/ if ( !--v1 ) /*0x5746*/ @@ -263,7 +263,7 @@ return (unsigned int)v0; /*0x575c*/ } -__int64 __fastcall sub_5768(_BYTE *a1, _BYTE *a2) +__int64 __fastcall DetectInterposerCardInstall(_BYTE *a1, _BYTE *a2) { __int64 result; // rax int v5; // [rsp+30h] [rbp+8h] BYREF @@ -271,23 +271,23 @@ *a1 = 0; /*0x5775*/ *a2 = 0; /*0x577b*/ v5 = 1; /*0x5783*/ - sub_5B28(16842767, &v5); /*0x5790*/ + GetGpioPadConfig(16842767, &v5); /*0x5790*/ if ( !v5 ) /*0x579a*/ *a1 = 1; /*0x579c*/ - result = sub_5B28(16842768, &v5); /*0x57a9*/ + result = GetGpioPadConfig(16842768, &v5); /*0x57a9*/ if ( !v5 ) /*0x57b3*/ *a2 = 1; /*0x57b5*/ return result; /*0x57bd*/ } -__int64 __fastcall sub_5E7C(__int64 a1) +__int64 __fastcall ReadUnalignedQword(__int64 a1) { if ( !a1 ) /*0x5e88*/ - sub_5450((__int64)"e:\\hs\\MdePkg\\Library\\BaseLib\\Unaligned.c", 192, (__int64)"Buffer != ((void *) 0)"); /*0x5e9d*/ + DebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\BaseLib\\Unaligned.c", 192, (__int64)"Buffer != ((void *) 0)"); /*0x5e9d*/ return *(_QWORD *)a1; /*0x5ea5*/ } -char *__fastcall sub_5EAC(__int64 a1, char *src, unsigned __int64 count) +char *__fastcall CopyMemS(__int64 a1, char *src, unsigned __int64 count) { unsigned __int64 v6; // rbp @@ -295,36 +295,36 @@ return dst; /*0x5ecb*/ v6 = count - 1; /*0x5ee2*/ if ( count - 1 > -1 - (__int64)dst ) /*0x5ee9*/ - sub_5450( /*0x5efe*/ + DebugAssert( /*0x5efe*/ (__int64)"e:\\hs\\MdePkg\\Library\\BaseMemoryLibRepStr\\CopyMemWrapper.c", 56, (__int64)"(Length - 1) <= (0xFFFFFFFFFFFFFFFFULL - (UINTN)DestinationBuffer)"); if ( v6 > ~(unsigned __int64)src ) /*0x5f0c*/ - sub_5450( /*0x5f21*/ + DebugAssert( /*0x5f21*/ (__int64)"e:\\hs\\MdePkg\\Library\\BaseMemoryLibRepStr\\CopyMemWrapper.c", 57, (__int64)"(Length - 1) <= (0xFFFFFFFFFFFFFFFFULL - (UINTN)SourceBuffer)"); if ( dst == src ) /*0x5f29*/ return dst; /*0x5f2b*/ else - return sub_350(dst, src, count); /*0x5f39*/ + return CopyMem(dst, src, count); /*0x5f39*/ } -bool __fastcall sub_5F54(__int64 a1, __int64 a2) +bool __fastcall CompareGuid(__int64 a1, __int64 a2) { __int64 v4; // rsi __int64 v5; // rbx __int64 v6; // rdi __int64 v7; // rax - v4 = ((__int64 (*)(void))sub_5E7C)(); /*0x5f76*/ - v5 = sub_5E7C(a2); /*0x5f82*/ - v6 = sub_5E7C(a1 + 8); /*0x5f8e*/ - v7 = sub_5E7C(a2 + 8); /*0x5f91*/ + v4 = ((__int64 (*)(void))ReadUnalignedQword)(); /*0x5f76*/ + v5 = ReadUnalignedQword(a2); /*0x5f82*/ + v6 = ReadUnalignedQword(a1 + 8); /*0x5f8e*/ + v7 = ReadUnalignedQword(a2 + 8); /*0x5f91*/ return v4 == v5 && v6 == v7; /*0x5fb5*/ } -__int64 sub_5FBC() +__int64 GetPchSku() { __int64 n3_1; // rax unsigned int n3; // ebx @@ -337,8 +337,8 @@ n3 = 3; /*0x5fc8*/ if ( n3_0 == 3 ) { - v2 = sub_55A4(); /*0x5fd1*/ - v3 = sub_5D3C(v2 + 2); /*0x5fda*/ + v2 = GetLpcDeviceId(); /*0x5fd1*/ + v3 = ReadUnaligned16(v2 + 2); /*0x5fda*/ v4 = v3; /*0x5fdf*/ if ( ((v3 + 24128) & 0xFF70) != 0 ) { @@ -348,8 +348,8 @@ } else { - sub_5408(0x80000000LL, "Unsupported PCH SKU, LpcDeviceId: 0x%04x!\n", (unsigned __int16)v4); - sub_5450( /*0x6039*/ + DebugPrint(0x80000000LL, "Unsupported PCH SKU, LpcDeviceId: 0x%04x!\n", (unsigned __int16)v4); + DebugAssert( /*0x6039*/ (__int64)"e:\\hs\\PurleySktPkg\\SouthClusterLbg\\Library\\PeiDxeSmmPchInfoLib\\PchInfoLib.c", 252, (__int64)"((BOOLEAN)(0==1))"); @@ -365,7 +365,7 @@ return n3_1; /*0x604d*/ } -__int64 __fastcall sub_6060(unsigned int _RAX_1, _DWORD *a2, _DWORD *a3, _DWORD *a4, _DWORD *a5) +__int64 __fastcall Cpuid(unsigned int _RAX_1, _DWORD *a2, _DWORD *a3, _DWORD *a4, _DWORD *a5) { __int64 result; // rax @@ -382,7 +382,7 @@ return result; /*0x6096*/ } -int *__fastcall sub_60A0(int *buf_1, int value_2, unsigned __int64 n4) +int *__fastcall SetMem32(int *buf_1, int value_2, unsigned __int64 n4) { int *buf; // rdi int value_1; // eax @@ -418,7 +418,7 @@ return buf_1; /*0x60fa*/ } -char *__fastcall sub_6100(char *dst_1, char *src, unsigned __int64 n8) +char *__fastcall CopyMemPreserveFlags(char *dst_1, char *src, unsigned __int64 n8) { char *dst; // rdi unsigned __int64 count_2; // rcx @@ -496,9 +496,9 @@ -unsigned __int32 __fastcall sub_5358(unsigned __int16 n1288) +unsigned __int32 __fastcall IoRead32(unsigned __int16 n1288) { if ( (n1288 & 3) != 0 ) /*0x5364*/ - sub_5450((__int64)"e:\\hs\\MdePkg\\Library\\BaseIoLibIntrinsic\\IoLibMsc.c", 193, (__int64)"(Port & 3) == 0"); /*0x5379*/ + DebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\BaseIoLibIntrinsic\\IoLibMsc.c", 193, (__int64)"(Port & 3) == 0"); /*0x5379*/ return __indword(n1288); /*0x5382*/ } diff --git a/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadVmdNvme.c b/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadVmdNvme.c index 648243b..e1a73e9 100644 --- a/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadVmdNvme.c +++ b/LenovoServerPkg/SetupDefaults/SetupDefaultLoad/SetupDefaultLoadVmdNvme.c @@ -1,4 +1,4 @@ -char sub_1914(char n7, char a2, char a3, char a4, char a5, char a6, char a7) +char BuildNvmeSlotInfoEntry(char n7, char a2, char a3, char a4, char a5, char a6, char a7) { char result; // al __int64 v9; // rdx @@ -54,7 +54,7 @@ return result; /*0x19f9*/ } -char __fastcall sub_19FC(unsigned __int8 a1, char a2, char a3, __int64 a4, char a5, char a6, char a7) +char __fastcall BuildNvmeSlotInfoEntry2(unsigned __int8 a1, char a2, char a3, __int64 a4, char a5, char a6, char a7) { char result; // al int v10; // ecx @@ -118,7 +118,7 @@ return result; /*0x1aa5*/ } -__int64 __fastcall sub_1AA8(int a1) +__int64 __fastcall OemCollectNvmeVmdSlotInfo(int a1) { unsigned __int8 v1; // si __int64 v2; // rdx @@ -163,47 +163,47 @@ n8_1 = 0; /*0x1ac6*/ n4_3 = 0; /*0x1ace*/ LOBYTE(v34) = -1; /*0x1adf*/ - if ( sub_57C4(a1, (unsigned int)&n8_1, (unsigned int)&v37, (unsigned int)&n4_3, (__int64)&v34) < 0 ) - return sub_5408( + if ( GetSocketConfig(a1, (unsigned int)&n8_1, (unsigned int)&v37, (unsigned int)&n4_3, (__int64)&v34) < 0 ) + return DebugPrint( 0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: Get BP type failed!! Skip update the NVME slot info in VMD menu! \n"); v6 = v37; /*0x1af1*/ v7 = v34; /*0x1af5*/ if ( v37 == -1 && (_BYTE)v34 == 0xFF ) - return sub_5408( + return DebugPrint( 0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: Get BP type failed!! Skip update the NVME slot info in VMD menu! \n"); - sub_7CC(v3, v2, v4, v5); /*0x1b08*/ + SendBmcCommand(v3, v2, v4, v5); /*0x1b08*/ v34 = 0; /*0x1b11*/ - sub_5B28(16973832, &v34); /*0x1b19*/ + GetGpioPadConfig(16973832, &v34); /*0x1b19*/ v8 = v34 == 0; /*0x1b1e*/ v34 = 0; /*0x1b2a*/ v29 = v8; /*0x1b2d*/ - sub_5B28(16973833, &v34); /*0x1b31*/ + GetGpioPadConfig(16973833, &v34); /*0x1b31*/ v8 = v34 == 0; /*0x1b36*/ v34 = 0; /*0x1b42*/ v30 = v8; /*0x1b45*/ - sub_5B28(16973834, &v34); /*0x1b49*/ + GetGpioPadConfig(16973834, &v34); /*0x1b49*/ v8 = v34 == 0; /*0x1b4e*/ v34 = 0; /*0x1b5a*/ v31 = v8; /*0x1b5d*/ - sub_5B28(16973835, &v34); /*0x1b61*/ + GetGpioPadConfig(16973835, &v34); /*0x1b61*/ v9 = v34 == 0; /*0x1b71*/ - sub_5768(&v34, &v35); /*0x1b75*/ + DetectInterposerCardInstall(&v34, &v35); /*0x1b75*/ n8 = n8_1; /*0x1b7a*/ - sub_5408(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: OnBoardNvmeBaseIndexNumber = %x\n", n8_1); - sub_5408(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: OnBoardNvmeBaseSlotNumber = %x\n", v6); + DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: OnBoardNvmeBaseIndexNumber = %x\n", n8_1); + DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: OnBoardNvmeBaseSlotNumber = %x\n", v6); n4 = n4_3; /*0x1ba9*/ - sub_5408(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: RiserNvmeBaseIndexNumber = %x\n", n4_3); - sub_5408(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: RiserNvmeBaseSlotNumber = %x\n", v7); - sub_5408(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: IsOnBoardNVME67Present = %x\n", v9); - sub_5408(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: IsOnBoardNVME45Present = %x\n", v31); - sub_5408(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: IsOnBoardNVME23Present = %x\n", v30); - sub_5408(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: IsOnBoardNVME01Present = %x\n", v29); - sub_5408(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: FirstInterPoserCardInstall = %x\n", (unsigned __int8)v34); - sub_5408(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: SecondInterPoserCardInstallx = %x\n", v35); + DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: RiserNvmeBaseIndexNumber = %x\n", n4_3); + DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: RiserNvmeBaseSlotNumber = %x\n", v7); + DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: IsOnBoardNVME67Present = %x\n", v9); + DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: IsOnBoardNVME45Present = %x\n", v31); + DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: IsOnBoardNVME23Present = %x\n", v30); + DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: IsOnBoardNVME01Present = %x\n", v29); + DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: FirstInterPoserCardInstall = %x\n", (unsigned __int8)v34); + DebugPrint(0x80000000LL, "[OemCollectNvmeVmdSlotInfo]: SecondInterPoserCardInstallx = %x\n", v35); byte_7D91 = 0; /*0x1c4d*/ - sub_5B28(17170432, v33); /*0x1c59*/ + GetGpioPadConfig(17170432, v33); /*0x1c59*/ if ( v33[0] == 1 ) /*0x1c62*/ { if ( v9 ) /*0x1c6b*/ @@ -213,7 +213,7 @@ goto LABEL_25; /*0x1c74*/ do /*0x1ca6*/ { - sub_1914(n7, n8, v6, v29, v30, v31, v9); /*0x1c9c*/ + BuildNvmeSlotInfoEntry(n7, n8, v6, v29, v30, v31, v9); /*0x1c9c*/ n7 = v14 + 1; /*0x1ca1*/ } while ( (unsigned __int8)n7 < 8u ); /*0x1ca6*/ @@ -227,7 +227,7 @@ v17 = v35; /*0x1cbd*/ do /*0x1ce4*/ { - sub_19FC(n4_1, n4, v7, v12, v16, v17, 1); /*0x1cd8*/ + BuildNvmeSlotInfoEntry2(n4_1, n4, v7, v12, v16, v17, 1); /*0x1cd8*/ n4_1 = v18 + 1; /*0x1cdd*/ } while ( n4_1 < 4u ); /*0x1ce4*/ @@ -238,7 +238,7 @@ -char sub_101C() +char SendVmdCommandToBmc() { __int64 v0; // rax __int64 v1; // r8 @@ -269,7 +269,7 @@ v11); if ( v0 >= 0 ) /*0x10a1*/ { - sub_1AA8(); /*0x10a7*/ + OemCollectNvmeVmdSlotInfo(); /*0x10a7*/ v13 = 0; /*0x10ac*/ n6668 = 49; /*0x10bb*/ if ( byte_7D91 && byte_7D60 ) /*0x10d0*/ @@ -296,7 +296,7 @@ { v3 = v13; /*0x112a*/ } - sub_5408(64, "SendVmdCommandToBp %x to BMC\ + DebugPrint(64, "SendVmdCommandToBp %x to BMC\ ", v3); /*0x1141*/ for ( i = 0; i < 0xAu; ++i ) /*0x1146*/ { @@ -351,7 +351,7 @@ } -__int64 __fastcall sub_A6C(unsigned __int8 a1) +__int64 __fastcall UpdateVmdNvmeConfig(unsigned __int8 a1) { int v1; // ebx __int64 v2; // rdx @@ -404,7 +404,7 @@ v1 = a1; /*0xa90*/ v17 = a1; /*0xa98*/ n8 = 0; /*0xa9c*/ - sub_5490(&n2, 256); /*0xaa1*/ + SetMemZero(&n2, 256); /*0xaa1*/ v5 = 0; /*0xaa6*/ v6 = 0; /*0xaa8*/ if ( !(_BYTE)v1 ) /*0xaae*/ @@ -561,7 +561,7 @@ goto LABEL_53; /*0xcfd*/ case 4: n8 = 0; /*0xc27*/ - return sub_9A4((char *)&v17, v2, n4, v4); /*0x1000*/ + return SendBmcMultiByteCommand((char *)&v17, v2, n4, v4); /*0x1000*/ case 5: n8 = 8; /*0xb49*/ n301 = 814; /*0xb6f*/ @@ -625,12 +625,12 @@ break; } if ( v5 >= 0 ) /*0xff4*/ - return sub_9A4((char *)&v17, v2, n4, v4); /*0xff4*/ + return SendBmcMultiByteCommand((char *)&v17, v2, n4, v4); /*0xff4*/ return v5; /*0x100e*/ } -unsigned __int64 __fastcall sub_121C(unsigned __int8 *a1) +unsigned __int64 __fastcall ParseVmdNvmeConfig(unsigned __int8 *a1) { __int64 v1; // rdx int v4; // ecx diff --git a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl/PiSmmIpl.c b/MdeModulePkg/Core/PiSmmCore/PiSmmIpl/PiSmmIpl.c index b7a0fb7..aed4943 100644 --- a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl/PiSmmIpl.c +++ b/MdeModulePkg/Core/PiSmmCore/PiSmmIpl/PiSmmIpl.c @@ -12,112 +12,112 @@ EFI_STATUS ModuleEntryPoint(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable) { - signed __int64 Result; // rbx sub_1154(ImageHandle, SystemTable); /*0x1131*/ - Result = sub_2598(ImageHandle); /*0x113e*/ + signed __int64 Result; // rbx InitializePiSmmIpl(ImageHandle, SystemTable); /*0x1131*/ + Result = LoadSmmCoreInSmram(ImageHandle); /*0x113e*/ if ( Result < 0 ) /*0x1144*/ - sub_1504(); /*0x1146*/ + CleanupPiSmmIpl(); /*0x1146*/ return Result; /*0x114e*/ } // ============================================================================= -// sub_1154 @ 0x1154 +// InitializePiSmmIpl @ 0x1154 // ============================================================================= -__int64 sub_1154(__int64 ImageHandle, EFI_SYSTEM_TABLE *SystemTable) +__int64 InitializePiSmmIpl(__int64 ImageHandle, EFI_SYSTEM_TABLE *SystemTable) { EFI_BOOT_SERVICES *BootServices; // r10 __int64 BootServices_1; // r10 __int64 Status; // rax __int64 Status; // rax __int64 Status; // rbx __int64 Status; // rax __int64 Status; // rbx __int64 Status; // rax __int64 result; // rax ::ImageHandle = ImageHandle; /*0x116c*/ if ( !ImageHandle ) /*0x1180*/ - sub_2E00( /*0x118f*/ + SmmIplDebugAssert( /*0x118f*/ "e:\\hs\\MdePkg\\Library\\UefiBootServicesTableLib\\UefiBootServicesTableLib.c", 51, "gImageHandle != ((void *) 0)"); ::SystemTable = (__int64)SystemTable; /*0x1194*/ if ( !SystemTable ) /*0x119e*/ - sub_2E00("e:\\hs\\MdePkg\\Library\\UefiBootServicesTableLib\\UefiBootServicesTableLib.c", 57, "gST != ((void *) 0)"); /*0x11ad*/ + SmmIplDebugAssert("e:\\hs\\MdePkg\\Library\\UefiBootServicesTableLib\\UefiBootServicesTableLib.c", 57, "gST != ((void *) 0)"); /*0x11ad*/ ::BootServices = (__int64)SystemTable->BootServices; /*0x11b6*/ if ( !::BootServices ) /*0x11c0*/ - sub_2E00("e:\\hs\\MdePkg\\Library\\UefiBootServicesTableLib\\UefiBootServicesTableLib.c", 63, "gBS != ((void *) 0)"); /*0x11cf*/ + SmmIplDebugAssert("e:\\hs\\MdePkg\\Library\\UefiBootServicesTableLib\\UefiBootServicesTableLib.c", 63, "gBS != ((void *) 0)"); /*0x11cf*/ RuntimeServices = (__int64)SystemTable->RuntimeServices; /*0x11d8*/ if ( !RuntimeServices ) /*0x11e2*/ - sub_2E00( /*0x11f5*/ + SmmIplDebugAssert( /*0x11f5*/ "e:\\hs\\MdePkg\\Library\\UefiRuntimeServicesTableLib\\UefiRuntimeServicesTableLib.c", 47, "gRT != ((void *) 0)"); BootServices = SystemTable->BootServices; /*0x1205*/ RuntimeServices_0 = (__int64)SystemTable->RuntimeServices; /*0x120c*/ BootServices_0 = (__int64)BootServices; /*0x121f*/ - ((void ( *)(__int64, __int64, __int64 ( *)()))BootServices->CreateEvent)(513, 8, sub_2E40); /*0x1231*/ +((void ( *)(__int64, __int64, __int64 ( *)()))BootServices->CreateEvent)(513, 8, OnExitBootServices); /*0x1231*/ (*(void ( **)(__int64, __int64, __int64 ( *)(), _QWORD, __int64 *))(BootServices_0 + 80))( /*0x1259*/ 1610613250, 8, - sub_2E4C, + OnVirtualAddressChange, 0, &qword_6420); - sub_2FAC(); /*0x125c*/ + LocateHobList(); /*0x125c*/ if ( !RuntimeServices ) /*0x1269*/ - sub_2E00("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 95, "gRT != ((void *) 0)"); /*0x127c*/ + SmmIplDebugAssert("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 95, "gRT != ((void *) 0)"); /*0x127c*/ BootServices_1 = ::BootServices; /*0x1281*/ if ( !::BootServices ) /*0x128b*/ { - sub_2E00("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 96, "gBS != ((void *) 0)"); /*0x129f*/ + SmmIplDebugAssert("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 96, "gBS != ((void *) 0)"); /*0x129f*/ BootServices_1 = ::BootServices; /*0x12a4*/ } RuntimeServices_1 = RuntimeServices; /*0x12bc*/ - Status = (*(__int64 ( **)(__int64, __int64, __int64 ( *)()))(BootServices_1 + 368))(512, 16, sub_3034); /*0x12e7*/ + Status = (*(__int64 ( **)(__int64, __int64, __int64 ( *)()))(BootServices_1 + 368))(512, 16, OnReadyToBoot); /*0x12e7*/ if ( Status < 0 ) /*0x1304*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x130e*/ - sub_2E00("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 111, "!EFI_ERROR (Status)"); /*0x1321*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x130e*/ + SmmIplDebugAssert("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 111, "!EFI_ERROR (Status)"); /*0x1321*/ } Status = (*(__int64 ( **)(__int64, __int64, __int64 ( *)(), _QWORD, void *, __int64 *))(::BootServices + 368))( /*0x1357*/ 512, 16, - nullsub_1, + NULL, 0, &unk_60B0, &qword_6488); Status = Status; /*0x135d*/ if ( Status < 0 ) /*0x1363*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x136e*/ - sub_2E00("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 122, "!EFI_ERROR (Status)"); /*0x1382*/ - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1390*/ - sub_2E00( /*0x13a4*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x136e*/ + SmmIplDebugAssert("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 122, "!EFI_ERROR (Status)"); /*0x1382*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1390*/ + SmmIplDebugAssert( /*0x13a4*/ "e:\\hs\\Build\\HR6N0XMLK\\DEBUG_VS2015\\X64\\MdeModulePkg\\Core\\PiSmmCore\\PiSmmIpl\\DEBUG\\AutoGen.c", 313, "!EFI_ERROR (Status)"); } - Status = sub_2EE8(&unk_60F0, &qword_6448); /*0x13b7*/ + Status = LocateConfigurationTable(&unk_60F0, &qword_6448); /*0x13b7*/ Status = Status; /*0x13bc*/ if ( Status < 0 ) /*0x13c2*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x13cd*/ - sub_2E00("e:\\hs\\MdePkg\\Library\\DxeServicesTableLib\\DxeServicesTableLib.c", 64, "!EFI_ERROR (Status)"); /*0x13e1*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x13cd*/ + SmmIplDebugAssert("e:\\hs\\MdePkg\\Library\\DxeServicesTableLib\\DxeServicesTableLib.c", 64, "!EFI_ERROR (Status)"); /*0x13e1*/ } if ( !qword_6448 ) /*0x13ee*/ - sub_2E00("e:\\hs\\MdePkg\\Library\\DxeServicesTableLib\\DxeServicesTableLib.c", 65, "gDS != ((void *) 0)"); /*0x1403*/ + SmmIplDebugAssert("e:\\hs\\MdePkg\\Library\\DxeServicesTableLib\\DxeServicesTableLib.c", 65, "gDS != ((void *) 0)"); /*0x1403*/ if ( Status < 0 ) /*0x140b*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1416*/ - sub_2E00( /*0x142a*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1416*/ + SmmIplDebugAssert( /*0x142a*/ "e:\\hs\\Build\\HR6N0XMLK\\DEBUG_VS2015\\X64\\MdeModulePkg\\Core\\PiSmmCore\\PiSmmIpl\\DEBUG\\AutoGen.c", 316, "!EFI_ERROR (Status)"); } - sub_43C4(); /*0x142f*/ + InstallReadyToLockProtocol(); /*0x142f*/ Status = (*(__int64 ( **)(__int64, __int64, __int64 ( *)(), _QWORD, void *, __int64 *))(::BootServices + 368))( /*0x145e*/ 512, 16, - sub_4424, + OnVirtualAddressChange2, 0, &unk_60E0, &qword_6468); if ( Status < 0 ) /*0x1467*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1472*/ - sub_2E00( /*0x1486*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1472*/ + SmmIplDebugAssert( /*0x1486*/ "e:\\hs\\MdeModulePkg\\Library\\RuntimeDxeReportStatusCodeLib\\ReportStatusCodeLib.c", 152, "!EFI_ERROR (Status)"); @@ -125,14 +125,14 @@ result = (*(__int64 ( **)(__int64, __int64, __int64 ( *)(), _QWORD, void *, __int64 *))(::BootServices + 368))( /*0x14bc*/ 512, 16, - sub_444C, + OnReadyToLock, 0, &unk_60B0, &qword_6470); if ( result < 0 ) /*0x14c5*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", result); /*0x14d0*/ - return sub_2E00( /*0x14e4*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", result); /*0x14d0*/ + return SmmIplDebugAssert( /*0x14e4*/ "e:\\hs\\MdeModulePkg\\Library\\RuntimeDxeReportStatusCodeLib\\ReportStatusCodeLib.c", 165, "!EFI_ERROR (Status)"); @@ -141,15 +141,15 @@ } // ============================================================================= -// sub_1504 @ 0x1504 +// CleanupPiSmmIpl @ 0x1504 // ============================================================================= -__int64 sub_1504() +__int64 CleanupPiSmmIpl() { __int64 BootServices; // rax __int64 Status; // rax __int64 Status; // rax __int64 BootServices_1; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rbx BootServices = BootServices; /*0x1518*/ if ( !BootServices ) /*0x1529*/ { - sub_2E00( /*0x153a*/ + SmmIplDebugAssert( /*0x153a*/ "e:\\hs\\MdeModulePkg\\Library\\RuntimeDxeReportStatusCodeLib\\ReportStatusCodeLib.c", 191, "gBS != ((void *) 0)"); @@ -158,8 +158,8 @@ Status = (*(__int64 ( **)(__int64))(BootServices + 112))(qword_6468); /*0x154d*/ if ( Status < 0 ) /*0x1566*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1570*/ - sub_2E00( /*0x1580*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1570*/ + SmmIplDebugAssert( /*0x1580*/ "e:\\hs\\MdeModulePkg\\Library\\RuntimeDxeReportStatusCodeLib\\ReportStatusCodeLib.c", 193, "!EFI_ERROR (Status)"); @@ -167,8 +167,8 @@ Status = (*(__int64 ( **)(__int64))(BootServices + 112))(qword_6470); /*0x1593*/ if ( Status < 0 ) /*0x1599*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x15a4*/ - sub_2E00( /*0x15b4*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x15a4*/ + SmmIplDebugAssert( /*0x15b4*/ "e:\\hs\\MdeModulePkg\\Library\\RuntimeDxeReportStatusCodeLib\\ReportStatusCodeLib.c", 196, "!EFI_ERROR (Status)"); @@ -176,23 +176,23 @@ BootServices_1 = BootServices; /*0x15b9*/ if ( !BootServices ) /*0x15c3*/ { - sub_2E00("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 151, "gBS != ((void *) 0)"); /*0x15d8*/ + SmmIplDebugAssert("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 151, "gBS != ((void *) 0)"); /*0x15d8*/ BootServices_1 = BootServices; /*0x15dd*/ } Status = (*(__int64 ( **)(__int64))(BootServices_1 + 112))(qword_6478); /*0x15eb*/ if ( Status < 0 ) /*0x15f1*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x15fc*/ - sub_2E00("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 153, "!EFI_ERROR (Status)"); /*0x1610*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x15fc*/ + SmmIplDebugAssert("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 153, "!EFI_ERROR (Status)"); /*0x1610*/ } Status = (*(__int64 ( **)(__int64))(BootServices + 112))(qword_6488); /*0x1623*/ Status = Status; /*0x1626*/ if ( Status < 0 ) /*0x162c*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1637*/ - sub_2E00("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 156, "!EFI_ERROR (Status)"); /*0x164b*/ - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1659*/ - sub_2E00( /*0x166d*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1637*/ + SmmIplDebugAssert("e:\\hs\\MdePkg\\Library\\UefiRuntimeLib\\RuntimeLib.c", 156, "!EFI_ERROR (Status)"); /*0x164b*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1659*/ + SmmIplDebugAssert( /*0x166d*/ "e:\\hs\\Build\\HR6N0XMLK\\DEBUG_VS2015\\X64\\MdeModulePkg\\Core\\PiSmmCore\\PiSmmIpl\\DEBUG\\AutoGen.c", 359, "!EFI_ERROR (Status)"); @@ -252,12 +252,12 @@ } // ============================================================================= -// sub_180C @ 0x180C +// CloseSmramWindow @ 0x180C // ============================================================================= -unsigned __int64 sub_180C() +unsigned __int64 CloseSmramWindow() { - __int64 n25; // [rsp+40h] [rbp+18h] BYREF sub_2B38(&unk_64C0); /*0x1817*/ + __int64 n25; // [rsp+40h] [rbp+18h] BYREF CopySmramRangeDescriptor(&unk_64C0); /*0x1817*/ qword_64D0 = 1; /*0x1821*/ byte_64D8 = 0; /*0x1833*/ n25 = 25; /*0x1841*/ @@ -265,21 +265,21 @@ } // ============================================================================= -// sub_1854 @ 0x1854 +// OnEndOfDxe @ 0x1854 // ============================================================================= -void sub_1854() +void OnEndOfDxe() { byte_63E8 = 1; /*0x1854*/ } // ============================================================================= -// sub_185C @ 0x185C +// CloseSmramWindow @ 0x185C // ============================================================================= -unsigned __int64 sub_185C() +unsigned __int64 CloseSmramWindow() { - __int64 Status; // rax unsigned __int64 result; // rax __int64 p_n25; // [rsp+40h] [rbp+18h] BYREF sub_2B38(&qword_64C0); /*0x1870*/ + __int64 Status; // rax unsigned __int64 result; // rax __int64 p_n25; // [rsp+40h] [rbp+18h] BYREF CopySmramRangeDescriptor(&qword_64C0); /*0x1870*/ while ( 1 ) /*0x1913*/ { qword_64D0 = 1; /*0x1913*/ @@ -289,24 +289,24 @@ if ( n2 != 2 ) /*0x1944*/ break; /*0x1944*/ if ( (*(__int64 ( **)(__int64, __int64, __int64))(qword_6448 + 64))(qword_64E0, qword_64E8, 1) < 0 ) /*0x189d*/ - sub_2D80(2, "SMM IPL failed to reset SMRAM window to EFI_MEMORY_UC\n"); /*0x18ab*/ + SmmIplDebugPrint(2, "SMM IPL failed to reset SMRAM window to EFI_MEMORY_UC\n"); /*0x18ab*/ Status = (*(__int64 ( **)(__int64))(qword_6490 + 8))(qword_6490); /*0x18ba*/ if ( Status < 0 ) /*0x18c0*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x18d1*/ - sub_2E00("e:\\hs\\MdeModulePkg\\Core\\PiSmmCore\\PiSmmIpl.c", 667, "!EFI_ERROR (Status)"); /*0x18e9*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x18d1*/ + SmmIplDebugAssert("e:\\hs\\MdeModulePkg\\Core\\PiSmmCore\\PiSmmIpl.c", 667, "!EFI_ERROR (Status)"); /*0x18e9*/ } - sub_2D80(64, "SMM IPL closed SMRAM window\n"); /*0x18fa*/ - sub_2B38(&qword_64C0); /*0x1909*/ + SmmIplDebugPrint(64, "SMM IPL closed SMRAM window\n"); /*0x18fa*/ + CopySmramRangeDescriptor(&qword_64C0); /*0x1909*/ } return result; /*0x194f*/ } // ============================================================================= -// sub_1958 @ 0x1958 +// RegisterSmmEntryPoint @ 0x1958 // ============================================================================= -__int64 sub_1958(__int64 a1, __int64 a2) +__int64 RegisterSmmEntryPoint(__int64 a1, __int64 a2) { __int64 result; // rax __int64 Status; // rax char *v4; // r8 __int64 Result; // [rsp+40h] [rbp+18h] BYREF result = (*(__int64 ( **)(__int64, _QWORD, __int64 *))(BootServices + 320))(a2, 0, &Result); /*0x196d*/ if ( result >= 0 ) /*0x1976*/ @@ -314,26 +314,26 @@ Status = (*(__int64 ( **)(__int64, _QWORD))(Result + 8))(Result, *((_QWORD *)off_6130 + 4));// "smmc" /*0x198b*/ if ( Status < 0 ) /*0x1991*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x19a2*/ - sub_2E00("e:\\hs\\MdeModulePkg\\Core\\PiSmmCore\\PiSmmIpl.c", 705, "!EFI_ERROR (Status)"); /*0x19ba*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x19a2*/ + SmmIplDebugAssert("e:\\hs\\MdeModulePkg\\Core\\PiSmmCore\\PiSmmIpl.c", 705, "!EFI_ERROR (Status)"); /*0x19ba*/ } v4 = off_6130; // "smmc" /*0x19bf*/ off_6130[40] = 1; // "smmc" /*0x19d2*/ - return sub_2D80(64, "SMM IPL registered SMM Entry Point address %p\n", *((const void **)v4 + 4)); /*0x19db*/ + return SmmIplDebugPrint(64, "SMM IPL registered SMM Entry Point address %p\n", *((const void **)v4 + 4)); /*0x19db*/ } return result; /*0x19e0*/ } // ============================================================================= -// sub_19E8 @ 0x19E8 +// NotifyReadyToLock @ 0x19E8 // ============================================================================= -__int64 sub_19E8(__int64 a1, __int64 a2) +__int64 NotifyReadyToLock(__int64 a1, __int64 a2) { __int64 result; // rax __int64 Index; // rbx __int64 v4; // rax char v5; // [rsp+40h] [rbp+18h] BYREF result = a2; /*0x19fe*/ if ( !byte_63E9 ) /*0x1a04*/ { - if ( (unsigned __int8)sub_2B80(a2, &unk_6050) ) /*0x1a14*/ + if ( (unsigned __int8)CompareSmramRangeDescriptor(a2, &unk_6050) ) /*0x1a14*/ { result = (*(__int64 ( **)(void *, _QWORD, char *))(BootServices + 320))(&unk_6050, 0, &v5); /*0x1a32*/ if ( result < 0 ) /*0x1a3b*/ @@ -341,13 +341,13 @@ } else { - sub_2D80(2, "SMM IPL! DXE SMM Ready To Lock Protocol not installed before Ready To Boot signal\n"); /*0x1a4f*/ + SmmIplDebugPrint(2, "SMM IPL! DXE SMM Ready To Lock Protocol not installed before Ready To Boot signal\n"); /*0x1a4f*/ } if ( !byte_63E8 ) /*0x1a5b*/ { - sub_2D80(0x80000000LL, "EndOfDxe Event must be signaled before DxeSmmReadyToLock Protocol installation!\n"); /*0x1a69*/ + SmmIplDebugPrint(0x80000000LL, "EndOfDxe Event must be signaled before DxeSmmReadyToLock Protocol installation!\n"); /*0x1a69*/ sub_4464(); /*0x1a6e*/ - sub_2E00("e:\\hs\\MdeModulePkg\\Core\\PiSmmCore\\PiSmmIpl.c", 768, "((BOOLEAN)(0==1))"); /*0x1a86*/ + SmmIplDebugAssert("e:\\hs\\MdeModulePkg\\Core\\PiSmmCore\\PiSmmIpl.c", 768, "((BOOLEAN)(0==1))"); /*0x1a86*/ } (*(void ( **)(__int64))(qword_6490 + 16))(qword_6490); /*0x1a95*/ Index = 0; /*0x1a98*/ @@ -363,23 +363,23 @@ } while ( *((_QWORD *)&unk_61B0 + 6 *Index + 2) ); /*0x1acd*/ } - sub_180C(); /*0x1adf*/ - result = sub_2D80(64, "SMM IPL locked SMRAM window\n"); /*0x1af0*/ + CloseSmramWindow(); /*0x1adf*/ + result = SmmIplDebugPrint(64, "SMM IPL locked SMRAM window\n"); /*0x1af0*/ byte_63E9 = 1; /*0x1af5*/ } return result; /*0x1b06*/ } // ============================================================================= -// sub_1AA8 @ 0x1AA8 +// NotifyReadyToLock @ 0x1AA8 // ============================================================================= -__int64 sub_19E8(__int64 a1, __int64 a2) +__int64 NotifyReadyToLock(__int64 a1, __int64 a2) { __int64 result; // rax __int64 Index; // rbx __int64 v4; // rax char v5; // [rsp+40h] [rbp+18h] BYREF result = a2; /*0x19fe*/ if ( !byte_63E9 ) /*0x1a04*/ { - if ( (unsigned __int8)sub_2B80(a2, &unk_6050) ) /*0x1a14*/ + if ( (unsigned __int8)CompareSmramRangeDescriptor(a2, &unk_6050) ) /*0x1a14*/ { result = (*(__int64 ( **)(void *, _QWORD, char *))(BootServices + 320))(&unk_6050, 0, &v5); /*0x1a32*/ if ( result < 0 ) /*0x1a3b*/ @@ -387,13 +387,13 @@ } else { - sub_2D80(2, "SMM IPL! DXE SMM Ready To Lock Protocol not installed before Ready To Boot signal\n"); /*0x1a4f*/ + SmmIplDebugPrint(2, "SMM IPL! DXE SMM Ready To Lock Protocol not installed before Ready To Boot signal\n"); /*0x1a4f*/ } if ( !byte_63E8 ) /*0x1a5b*/ { - sub_2D80(0x80000000LL, "EndOfDxe Event must be signaled before DxeSmmReadyToLock Protocol installation!\n"); /*0x1a69*/ + SmmIplDebugPrint(0x80000000LL, "EndOfDxe Event must be signaled before DxeSmmReadyToLock Protocol installation!\n"); /*0x1a69*/ sub_4464(); /*0x1a6e*/ - sub_2E00("e:\\hs\\MdeModulePkg\\Core\\PiSmmCore\\PiSmmIpl.c", 768, "((BOOLEAN)(0==1))"); /*0x1a86*/ + SmmIplDebugAssert("e:\\hs\\MdeModulePkg\\Core\\PiSmmCore\\PiSmmIpl.c", 768, "((BOOLEAN)(0==1))"); /*0x1a86*/ } (*(void ( **)(__int64))(qword_6490 + 16))(qword_6490); /*0x1a95*/ Index = 0; /*0x1a98*/ @@ -409,27 +409,27 @@ } while ( *((_QWORD *)&unk_61B0 + 6 *Index + 2) ); /*0x1acd*/ } - sub_180C(); /*0x1adf*/ - result = sub_2D80(64, "SMM IPL locked SMRAM window\n"); /*0x1af0*/ + CloseSmramWindow(); /*0x1adf*/ + result = SmmIplDebugPrint(64, "SMM IPL locked SMRAM window\n"); /*0x1af0*/ byte_63E9 = 1; /*0x1af5*/ } return result; /*0x1b06*/ } // ============================================================================= -// sub_1B0C @ 0x1B0C +// GetSmmCommunicationProtocol @ 0x1B0C // ============================================================================= -__int64 sub_1B0C() +__int64 GetSmmCommunicationProtocol() { return (*(__int64 ( **)(_QWORD, __int64 *))(RuntimeServices + 64))(0, &qword_64A0); } // ============================================================================= -// sub_1B20 @ 0x1B20 +// LoadSmmCore @ 0x1B20 // ============================================================================= -__int64 sub_1B20(__int64 a1, _QWORD *a2, __int64 a3) +__int64 LoadSmmCore(__int64 a1, _QWORD *a2, __int64 a3) { char *v3; // r12 __int64 v4; // r14 __int64 Result; // rbx unsigned __int64 v7; // rax __int64 Index; // rdi __int64 v9; // rsi int v10; // r8d int v11; // r9d __int64 result; // rax unsigned int v13; // r9d unsigned __int64 v14; // rbx unsigned __int64 v15; // rbx __int64 v16; // r8 __int64 v17; // rax char *v18; // r8 unsigned __int64 v19; // [rsp+30h] [rbp-A9h] BYREF __int64 v20; // [rsp+38h] [rbp-A1h] BYREF __int64 v21; // [rsp+40h] [rbp-99h] BYREF __int64 v22; // [rsp+48h] [rbp-91h] BYREF _BYTE v23[8]; // [rsp+50h] [rbp-89h] BYREF _BYTE v24[24]; // [rsp+58h] [rbp-81h] BYREF const void *v25; // [rsp+70h] [rbp-69h] BYREF __int64 v26; // [rsp+78h] [rbp-61h] __int64 ( *v27)(char *, __int64); // [rsp+88h] [rbp-51h] @@ -497,20 +497,20 @@ Result = 0x800000000000000EuLL; /*0x1c5e*/ } if ( v33 ) /*0x1c69*/ - sub_2EA4(); /*0x1c6b*/ + RaiseTpl(); /*0x1c6b*/ } if ( Result >= 0 ) /*0x1c73*/ { v29 = v20; /*0x1c82*/ - sub_422C_1 = sub_422C; /*0x1c8d*/ - result = sub_359C(&v25); /*0x1c91*/ + sub_422C_1 = ReadFileBuffer; /*0x1c8d*/ + result = RelocatePeCoffImage(&v25); /*0x1c91*/ if ( result < 0 ) /*0x1c99*/ return result; /*0x1c99*/ v13 = v30; /*0x1c9f*/ v14 = ((v26 + (unsigned __int64)v30) >> 12) + (((v26 + v30) & 0xFFF) != 0); /*0x1cc2*/ if ( (*(_DWORD *)(v4 + 16) & 0xFFFLL) != 0 ) /*0x1cc8*/ { - sub_2E00( /*0x1cdd*/ + SmmIplDebugAssert( /*0x1cdd*/ (__int64)"e:\\hs\\MdeModulePkg\\Core\\PiSmmCore\\PiSmmIpl.c", 1018, (__int64)"(SmramRange->PhysicalSize & 0xFFF) == 0"); @@ -519,7 +519,7 @@ v15 = v14 << 12; /*0x1ce6*/ if ( *(_QWORD *)(v4 + 16) <= v15 ) /*0x1cee*/ { - sub_2E00( /*0x1d03*/ + SmmIplDebugAssert( /*0x1d03*/ (__int64)"e:\\hs\\MdeModulePkg\\Core\\PiSmmCore\\PiSmmIpl.c", 1019, (__int64)"SmramRange->PhysicalSize > ((PageCount) << 12)"); @@ -533,32 +533,32 @@ a2[2] = v15; /*0x1d43*/ a2[3] = v17; /*0x1d47*/ v25 = (const void *)(~(v13 - 1LL) & (v13 - 1 + v16)); /*0x1d57*/ - sub_2D80(64, "SMM IPL loading SMM Core at SMRAM address %p\n", v25); /*0x1d5b*/ + SmmIplDebugPrint(64, "SMM IPL loading SMM Core at SMRAM address %p\n", v25); /*0x1d5b*/ Result = sub_3C30(&v25); /*0x1d69*/ if ( Result >= 0 ) /*0x1d6f*/ { - Result = sub_3910(&v25); /*0x1d7e*/ + Result = ApplyPeCoffFixups(&v25); /*0x1d7e*/ if ( Result >= 0 ) /*0x1d84*/ { if ( v26 ) /*0x1d91*/ { if ( v26 - 1 > (unsigned __int64)(-1LL - (_QWORD)v25) ) /*0x1da1*/ - sub_2E00( /*0x1db4*/ + SmmIplDebugAssert( /*0x1db4*/ (__int64)"e:\\hs\\MdePkg\\Library\\BaseCacheMaintenanceLib\\X86Cache.c", 69, (__int64)"(Length - 1) <= (0xFFFFFFFFFFFFFFFFULL - (UINTN)Address)"); } - sub_2D80(64, "SMM IPL calling SMM Core at SMRAM address %p\n", v27); /*0x1dc7*/ + SmmIplDebugPrint(64, "SMM IPL calling SMM Core at SMRAM address %p\n", v27); /*0x1dc7*/ v18 = off_6130; // "smmc" /*0x1dcc*/ *((_QWORD *)off_6130 + 10) = v25; // "smmc" /*0x1de1*/ *((_QWORD *)v18 + 11) = v26; /*0x1de9*/ - sub_2D80(64, "PiSmmCoreImageBase - 0x%016lx\n", *((_QWORD *)v18 + 10)); /*0x1df1*/ - sub_2D80(64, "PiSmmCoreImageSize - 0x%016lx\n", *((_QWORD *)off_6130 + 11));// "smmc" /*0x1e0b*/ + SmmIplDebugPrint(64, "PiSmmCoreImageBase - 0x%016lx\n", *((_QWORD *)v18 + 10)); /*0x1df1*/ + SmmIplDebugPrint(64, "PiSmmCoreImageSize - 0x%016lx\n", *((_QWORD *)off_6130 + 11));// "smmc" /*0x1e0b*/ *((_QWORD *)off_6130 + 12) = v27; // "smmc" /*0x1e1e*/ Result = v27(v3, SystemTable); /*0x1e2c*/ } } - sub_2EA4(); /*0x1e34*/ + RaiseTpl(); /*0x1e34*/ } return Result; /*0x1e3c*/ } @@ -678,55 +678,55 @@ __int64 v2; // rax __int64 v3; // rcx unsigned __int64 v4; // rsi unsigned __int64 v5; // rbx _QWORD *v6; // rax unsigned __int64 v7; // r15 __int64 v8; // r12 __int64 v9; // rdi unsigned __int64 v10; // r14 __int64 v11; // rcx __int64 v12; // rcx __int64 v13; // r13 unsigned __int64 v14; // rdi __int64 v15; // r14 __int64 v16; // rax unsigned __int64 v17; // rcx __int64 v18; // r12 unsigned __int64 v19; // rax char v20; // r15 unsigned __int64 *v21; // r14 __int64 v22; // r11 unsigned __int64 *v23; // rbx unsigned __int64 v24; // r8 unsigned __int64 v25; // rdx __int64 v26; // rcx __int64 v27; // rax __int64 v28; // rsi unsigned __int64 v29; // rbx _QWORD *v30; // rax unsigned __int64 v31; // rcx __int64 v32; // r8 _QWORD *v33; // rdx __int64 v34; // rbx __int64 v36; // rdi __int64 v37; // rax __int64 v38; // rbx __int64 v39; // rax _QWORD *v40; // [rsp+40h] ... [9911 chars total] // ============================================================================= -// sub_2598 @ 0x2598 +// LoadSmmCoreInSmram @ 0x2598 // ============================================================================= -__int64 sub_2598(__int64 ImageHandle, __int64 a2) +__int64 LoadSmmCoreInSmram(__int64 ImageHandle, __int64 a2) { __int64 v2; // rax __int64 v3; // rax __int64 v4; // rax __int64 v5; // rbx __int64 v6; // rax unsigned __int64 n258048; // rdi __int64 v8; // rdx __int64 v9; // r11 __int64 v10; // r9 _BYTE *v11; // r10 __int64 v12; // rcx unsigned __int64 v13; // rdx __int64 v14; // rcx char v15; // r11 unsigned __int64 v16; // rbx __int64 v17; // r10 __int64 v18; // rax unsigned __int64 v19; // r9 __int64 v20; // r8 __int64 v21; // rax __int64 v22; // rdi __int64 ( **v23)(); // rcx __int64 v24; // rbx __int64 v25; // rbp __int64 v26; // r14 __int64 ( *v27)(); // rsi __int64 v28; // r15 __int64 v29; // rax __int64 v30; // rax __int64 v31; // rax __int64 v33; // rax __int64 v34; // [rsp+70h] [rbp+8h] BYREF __int64 v35; // [rsp+78h] [rbp+10h] BYREF char v36; // [rsp+80h] [rbp+18h] BYREF v35 = a2; /*0x2598*/ ImageHandle_0 = ImageHandle; /*0x25b9*/ ... [8958 chars total] // ============================================================================= -// sub_2B38 @ 0x2B38 +// CopySmramRangeDescriptor @ 0x2B38 // ============================================================================= -__int64 sub_2B38(__int64 a1, __int64 a2) +__int64 CopySmramRangeDescriptor(__int64 a1, __int64 a2) { - __int64 v4; // rax __int64 v5; // rax v4 = sub_2C88(a2); /*0x2b4b*/ - sub_2CB8(a1, v4); /*0x2b56*/ - v5 = sub_2C88(a2 + 8); /*0x2b5f*/ - sub_2CB8(a1 + 8, v5); /*0x2b6b*/ + __int64 v4; // rax __int64 v5; // rax v4 = ReadUnaligned64(a2); /*0x2b4b*/ + WriteUnaligned64(a1, v4); /*0x2b56*/ + v5 = ReadUnaligned64(a2 + 8); /*0x2b5f*/ + WriteUnaligned64(a1 + 8, v5); /*0x2b6b*/ return a1; /*0x2b78*/ } // ============================================================================= -// sub_2B80 @ 0x2B80 +// CompareSmramRangeDescriptor @ 0x2B80 // ============================================================================= -bool sub_2B80(__int64 a1, __int64 a2) +bool CompareSmramRangeDescriptor(__int64 a1, __int64 a2) { - __int64 Result; // rsi __int64 v5; // rbx __int64 v6; // rdi __int64 v7; // rax Result = sub_2C88(a1); /*0x2ba2*/ - v5 = sub_2C88(a2); /*0x2bae*/ - v6 = sub_2C88(a1 + 8); /*0x2bba*/ - v7 = sub_2C88(a2 + 8); /*0x2bbd*/ + __int64 Result; // rsi __int64 v5; // rbx __int64 v6; // rdi __int64 v7; // rax Result = ReadUnaligned64(a1); /*0x2ba2*/ + v5 = ReadUnaligned64(a2); /*0x2bae*/ + v6 = ReadUnaligned64(a1 + 8); /*0x2bba*/ + v7 = ReadUnaligned64(a2 + 8); /*0x2bbd*/ return Result == v5 && v6 == v7; /*0x2be1*/ } // ============================================================================= -// sub_2BE8 @ 0x2BE8 +// CopyMemSafe @ 0x2BE8 // ============================================================================= -__int64 sub_2BE8(__int64 a1, __int64 a2, __int64 n16) +__int64 CopyMemSafe(__int64 a1, __int64 a2, __int64 n16) { unsigned __int64 v3; // rbp v3 = n16 - 1; /*0x2c05*/ if ( n16 - 1 > (unsigned __int64)(-1 - a1) ) /*0x2c1b*/ - sub_2E00( /*0x2c2e*/ + SmmIplDebugAssert( /*0x2c2e*/ (__int64)"e:\\hs\\MdePkg\\Library\\BaseMemoryLibRepStr\\CopyMemWrapper.c", 56, (__int64)"(Length - 1) <= (0xFFFFFFFFFFFFFFFFULL - (UINTN)DestinationBuffer)"); if ( v3 > -1 - a2 ) /*0x2c39*/ - sub_2E00( /*0x2c4e*/ + SmmIplDebugAssert( /*0x2c4e*/ (__int64)"e:\\hs\\MdePkg\\Library\\BaseMemoryLibRepStr\\CopyMemWrapper.c", 57, (__int64)"(Length - 1) <= (0xFFFFFFFFFFFFFFFFULL - (UINTN)SourceBuffer)"); @@ -736,24 +736,24 @@ } // ============================================================================= -// sub_2C88 @ 0x2C88 +// ReadUnaligned64 @ 0x2C88 // ============================================================================= -__int64 sub_2C88(__int64 a1) +__int64 ReadUnaligned64(__int64 a1) { if ( !a1 ) /*0x2c94*/ - sub_2E00("e:\\hs\\MdePkg\\Library\\BaseLib\\Unaligned.c", 192, "Buffer != ((void *) 0)"); /*0x2ca9*/ + SmmIplDebugAssert("e:\\hs\\MdePkg\\Library\\BaseLib\\Unaligned.c", 192, "Buffer != ((void *) 0)"); /*0x2ca9*/ return *(_QWORD *)a1; /*0x2cb1*/ } // ============================================================================= -// sub_2CB8 @ 0x2CB8 +// WriteUnaligned64 @ 0x2CB8 // ============================================================================= -__int64 sub_2CB8(_QWORD *a1, __int64 a2) +__int64 WriteUnaligned64(_QWORD *a1, __int64 a2) { if ( !a1 ) /*0x2ccb*/ - sub_2E00("e:\\hs\\MdePkg\\Library\\BaseLib\\Unaligned.c", 219, "Buffer != ((void *) 0)"); /*0x2ce0*/ + SmmIplDebugAssert("e:\\hs\\MdePkg\\Library\\BaseLib\\Unaligned.c", 219, "Buffer != ((void *) 0)"); /*0x2ce0*/ *a1 = a2; /*0x2ce5*/ return a2; /*0x2cf0*/ } @@ -788,10 +788,10 @@ } // ============================================================================= -// sub_2D80 @ 0x2D80 +// DebugPrint @ 0x2D80 // ============================================================================= -__int64 sub_2D80(__int64 a1, const char *a2, ...) +__int64 DebugPrint(__int64 a1, const char *a2, ...) { __int64 result; // rax __int64 v4; // r8 __int64 ( **v5)(__int64, const char *, __int64 *); // r9 unsigned __int8 v6; // al unsigned __int8 n3; // al int Result; // edx va_list va; // [rsp+40h] [rbp+18h] BYREF va_start(va, a2); result = sub_2CF8(); /*0x2d97*/ @@ -825,10 +825,10 @@ } // ============================================================================= -// sub_2E00 @ 0x2E00 +// DebugAssert @ 0x2E00 // ============================================================================= -__int64 sub_2E00(__int64 a1, __int64 a2, __int64 a3) +__int64 DebugAssert(__int64 a1, __int64 a2, __int64 a3) { __int64 result; // rax result = sub_2CF8(); /*0x2e18*/ if ( result ) /*0x2e20*/ @@ -837,19 +837,19 @@ } // ============================================================================= -// sub_2E40 @ 0x2E40 +// OnExitBootServices @ 0x2E40 // ============================================================================= -void sub_2E40() +void OnExitBootServices() { BootServices_0 = 0; /*0x2e40*/ } // ============================================================================= -// sub_2E4C @ 0x2E4C +// OnVirtualAddressChange @ 0x2E4C // ============================================================================= -__int64 sub_2E4C() +__int64 OnVirtualAddressChange() { __int64 result; // rax if ( qword_6430 ) /*0x2e58*/ return (*(__int64 ( **)(_QWORD, __int64 *))(RuntimeServices_0 + 64))(0, &qword_6430); /*0x2e6a*/ @@ -870,16 +870,16 @@ } // ============================================================================= -// sub_2EA4 @ 0x2EA4 +// RaiseTpl @ 0x2EA4 // ============================================================================= -__int64 sub_2EA4() +__int64 RaiseTpl() { __int64 result; // rax result = (*(__int64 (**)(void))(BootServices + 72))(); /*0x2eaf*/ if ( result < 0 ) /*0x2eb5*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", result); /*0x2ec6*/ - return sub_2E00( /*0x2ede*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", result); /*0x2ec6*/ + return SmmIplDebugAssert( /*0x2ede*/ (__int64)"e:\\hs\\MdePkg\\Library\\UefiMemoryAllocationLib\\MemoryAllocationLib.c", 819, (__int64)"!EFI_ERROR (Status)"); @@ -888,21 +888,21 @@ } // ============================================================================= -// sub_2EE8 @ 0x2EE8 +// LocateConfigurationTable @ 0x2EE8 // ============================================================================= -unsigned __int64 sub_2EE8(__int64 a1, _QWORD *a2) +unsigned __int64 LocateConfigurationTable(__int64 a1, _QWORD *a2) { __int64 SystemTable; // rdi __int64 Index; // rbx __int64 i; // r14 if ( !a1 ) /*0x2f0a*/ - sub_2E00((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 97, (__int64)"TableGuid != ((void *) 0)"); /*0x2f1d*/ + SmmIplDebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 97, (__int64)"TableGuid != ((void *) 0)"); /*0x2f1d*/ if ( !a2 ) /*0x2f25*/ - sub_2E00((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 98, (__int64)"Table != ((void *) 0)"); /*0x2f38*/ + SmmIplDebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 98, (__int64)"Table != ((void *) 0)"); /*0x2f38*/ SystemTable = SystemTable; /*0x2f3d*/ Index = 0; /*0x2f44*/ *a2 = 0; /*0x2f46*/ if ( !*(_QWORD *)(SystemTable + 104) ) /*0x2f4a*/ return 0x800000000000000EuLL; /*0x2f73*/ - for ( i = 0; !sub_2B80(a1, i + *(_QWORD *)(SystemTable + 112)); i += 24 ) /*0x2f50*/ + for ( i = 0; !CompareSmramRangeDescriptor(a1, i + *(_QWORD *)(SystemTable + 112)); i += 24 ) /*0x2f50*/ { if ( (unsigned __int64)++Index >= *(_QWORD *)(SystemTable + 104) ) /*0x2f71*/ return 0x800000000000000EuLL; /*0x2f71*/ @@ -912,24 +912,24 @@ } // ============================================================================= -// sub_2FAC @ 0x2FAC +// LocateHobList @ 0x2FAC // ============================================================================= -__int64 sub_2FAC() +__int64 LocateHobList() { __int64 result; // rax __int64 Status; // rax result = qword_6438; /*0x2fb0*/ if ( !qword_6438 ) /*0x2fba*/ { - Status = sub_2EE8(&unk_60A0, &qword_6438); /*0x2fca*/ + Status = LocateConfigurationTable(&unk_60A0, &qword_6438); /*0x2fca*/ if ( Status < 0 ) /*0x2fd2*/ { - sub_2D80(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2fe3*/ - sub_2E00((__int64)"e:\\hs\\MdePkg\\Library\\DxeHobLib\\HobLib.c", 54, (__int64)"!EFI_ERROR (Status)"); /*0x2ffb*/ + SmmIplDebugPrint(0x80000000LL, "\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2fe3*/ + SmmIplDebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\DxeHobLib\\HobLib.c", 54, (__int64)"!EFI_ERROR (Status)"); /*0x2ffb*/ } result = qword_6438; /*0x3000*/ if ( !qword_6438 ) /*0x300a*/ { - sub_2E00((__int64)"e:\\hs\\MdePkg\\Library\\DxeHobLib\\HobLib.c", 55, (__int64)"mHobList != ((void *) 0)"); /*0x301d*/ + SmmIplDebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\DxeHobLib\\HobLib.c", 55, (__int64)"mHobList != ((void *) 0)"); /*0x301d*/ return qword_6438; /*0x3022*/ } } @@ -937,10 +937,10 @@ } // ============================================================================= -// sub_3034 @ 0x3034 +// OnReadyToBoot @ 0x3034 // ============================================================================= -__int64 sub_3034() +__int64 OnReadyToBoot() { __int64 result; // rax result = (*(__int64 ( **)(_QWORD, __int64 *))(RuntimeServices + 64))(0, &RuntimeServices_1); /*0x3048*/ byte_6440 = 1; /*0x304b*/ @@ -948,10 +948,10 @@ } // ============================================================================= -// sub_3058 @ 0x3058 +// ReadPeCoffImageContext @ 0x3058 // ============================================================================= -unsigned __int64 sub_3058(__int64 a1, __int64 a2) +unsigned __int64 ReadPeCoffImageContext(__int64 a1, __int64 a2) { __int64 v3; // rcx bool v4; // zf unsigned int v5; // eax __int64 v6; // r9 __int64 v7; // rcx __int64 v8; // rcx __int16 v9; // ax unsigned __int64 v10; // rdx __int64 v12; // rcx __int64 v13; // rax int v14; // r8d unsigned int v15; // r8d unsigned int v16; // r10d unsigned int v17; // edx unsigned int v18; // edx int v19; // edx int v20; // ecx unsigned int n0x10; // r8d int v22; // r9d unsigned int v23; // r8d unsigned int v24; // r10d unsigned int v25; // edx unsigned int v26; // edx __int16 n3772; // cx unsigned __int64 v28; // r15 unsigned int n40; // esi unsigned int v30; // r14d __int64 v31; // rcx unsigned int v32; // edx int v33; // ecx unsigned __int64 v34; // rax _BYTE v35[12]; // [rsp+20h] [rbp-49h] BYREF unsigned int v36; // [rsp+2Ch] [rbp-3Dh] unsigned int v37; // [rsp+30h] [rbp-39h] @@ -959,10 +959,10 @@ _WORD v39[30]... [11107 chars total] // ============================================================================= -// sub_359C @ 0x359C +// RelocatePeCoffImage @ 0x359C // ============================================================================= -signed __int64 sub_359C(__int64 a1) +signed __int64 RelocatePeCoffImage(__int64 a1) { signed __int64 result; // rax char n512_3; // r9 int n523_2; // edx __int16 n523; // r8 char v6; // cl unsigned __int16 Index; // r10 unsigned int v8; // esi __int64 v9; // rax unsigned int n6; // eax char *v11; // r15 unsigned __int64 Index; // rdi unsigned __int64 v13; // r12 __int64 Result; // rsi bool i; // cf __int64 Result; // rcx bool v17; // zf unsigned __int64 v18; // r14 unsigned __int64 v19; // rsi __int64 v20; // rcx unsigned __int64 v21; // r12 __int64 Result; // r14 unsigned __int64 v23; // r15 unsigned __int64 n512_2; // rdi __int64 Result; // rcx unsigned __int64 n512_1; // r8 unsigned __int64 Ptr; // rax unsigned __int64 v28; // rsi __int64 v29; // rcx _BYTE v30[12]; // [rsp+20h] [rbp-E0h] BYREF int n2; // [rsp+2Ch] [rbp-D4h] unsigned int v32; // [rsp+30h] [rbp-D0h] @@ -984,7 +984,7 @@ char v50; // [rsp+118h] [rbp+18h] BYREF char v51; // [rsp+128h] [rbp+28h] BYREF __int64 n40_1; // [rsp+1B0h] [rbp+B0h] BYREF *(_DWORD *)(a1 + 104) = 0; /*0x35c8*/ - result = sub_3058(a1, (__int64)v39); /*0x35cf*/ + result = ReadPeCoffImageContext(a1, (__int64)v39); /*0x35cf*/ if ( result < 0 ) /*0x35d7*/ return result; /*0x35d7*/ n512_3 = Index; /*0x35dd*/ @@ -1177,13 +1177,13 @@ } // ============================================================================= -// sub_3910 @ 0x3910 +// ApplyPeCoffFixups @ 0x3910 // ============================================================================= -unsigned __int64 sub_3910(__int64 *a1) +unsigned __int64 ApplyPeCoffFixups(__int64 *a1) { __int64 Ptr; // rdx __int64 Ptr; // rax unsigned int v4; // r15d __int64 v5; // rcx __int64 v6; // r9 unsigned int n5; // edx __int64 n176; // rcx unsigned int *v9; // rcx unsigned int *v10; // rdi __int64 v11; // rax __int64 v12; // r10 unsigned __int64 v13; // rcx unsigned __int64 v14; // rdx unsigned __int64 v15; // r11 unsigned __int64 v16; // r10 unsigned __int64 result; // rax unsigned __int64 v18; // r13 _WORD *v19; // r8 bool v20; // cf unsigned int *v21; // r14 __int64 v22; // rcx unsigned int *v23; // rbp unsigned __int64 v24; // r11 unsigned __int64 v25; // rsi _WORD *v26; // rcx int v27; // r11d int v28; // r11d int v29; // r11d int n7; // r11d _QWORD *v31; // r8 _DWORD *v32; // r8 __int64 v33; // rax if ( !a1 ) /*0x3934*/ - sub_2E00( /*0x3949*/ + SmmIplDebugAssert( /*0x3949*/ (__int64)"e:\\hs\\MdePkg\\Library\\BasePeCoffLib\\BasePeCoff.c", 958, (__int64)"ImageContext != ((void *) 0)"); @@ -1267,7 +1267,7 @@ if ( !v20 ) /*0x3a8d*/ { if ( (unsigned __int64)v19 > a1[6] + a1[14] ) /*0x3be4*/ - sub_2E00( /*0x3bf9*/ + SmmIplDebugAssert( /*0x3bf9*/ (__int64)"e:\\hs\\MdePkg\\Library\\BasePeCoffLib\\BasePeCoff.c", 1164, (__int64)"(UINTN)FixupData <= (UINTN)ImageContext->FixupData + ImageContext->FixupDataSize"); @@ -1376,30 +1376,30 @@ unsigned __int64 v1; // rsi signed __int64 result; // rax __int64 v4; // rcx __int64 v5; // r8 __int64 v6; // rax __int64 v7; // rdx unsigned int v8; // r11d __int64 v9; // r8 __int64 v10; // r9 __int64 v11; // rbx unsigned __int64 v12; // rax unsigned int *v13; // r13 __int64 v14; // rax __int64 v15; // r12 __int64 v16; // r10 unsigned __int64 v17; // rdx __int64 v18; // r9 unsigned __int64 v19; // r14 __int64 v20; // r14 unsigned __int64 v21; // r8 __int64 v22; // r8 unsigned __int64 v23; // rax __int16 n523; // r8 unsigned __int64 v25; // rdx unsigned __int64 v26; // rcx unsigned __int64 v27; // rax unsigned int v28; // r10d unsigned __int64 v29; // rcx __int64 v30; // rcx unsigned int n5; // eax __int64 n164; // rcx unsigned __int64 v33; // rax unsigned __int64 v34; // r14 _DWORD *v35; // r14 unsigned int v36; // r12d unsigned int v37; // r8d unsigned int v38; ... [12968 chars total] // ============================================================================= -// sub_422C @ 0x422C +// ReadFileBuffer @ 0x422C // ============================================================================= -__int64 sub_422C(__int64 a1, __int64 a2, __int64 *p_n16, __int64 a4) +__int64 ReadFileBuffer(__int64 a1, __int64 a2, __int64 *p_n16, __int64 a4) { if ( !p_n16 ) /*0x424f*/ - sub_2E00((__int64)"e:\\hs\\MdePkg\\Library\\BasePeCoffLib\\BasePeCoff.c", 1928, (__int64)"ReadSize != ((void *) 0)"); /*0x4264*/ + SmmIplDebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\BasePeCoffLib\\BasePeCoff.c", 1928, (__int64)"ReadSize != ((void *) 0)"); /*0x4264*/ if ( !a1 ) /*0x426c*/ - sub_2E00( /*0x4281*/ + SmmIplDebugAssert( /*0x4281*/ (__int64)"e:\\hs\\MdePkg\\Library\\BasePeCoffLib\\BasePeCoff.c", 1929, (__int64)"FileHandle != ((void *) 0)"); if ( !a4 ) /*0x4289*/ - sub_2E00((__int64)"e:\\hs\\MdePkg\\Library\\BasePeCoffLib\\BasePeCoff.c", 1930, (__int64)"Buffer != ((void *) 0)"); /*0x429e*/ + SmmIplDebugAssert((__int64)"e:\\hs\\MdePkg\\Library\\BasePeCoffLib\\BasePeCoff.c", 1930, (__int64)"Buffer != ((void *) 0)"); /*0x429e*/ if ( *p_n16 ) /*0x42a3*/ - sub_2BE8(a4, a1 + a2, *p_n16); /*0x42b2*/ + CopyMemSafe(a4, a1 + a2, *p_n16); /*0x42b2*/ return 0; /*0x42c8*/ } // ============================================================================= -// sub_43C4 @ 0x43C4 +// InstallReadyToLockProtocol @ 0x43C4 // ============================================================================= -void sub_43C4() +void InstallReadyToLockProtocol() { __int64 ( *v0)(void *, _QWORD, __int64 *); // r9 __int64 v1; // rax __int64 v2; // rcx if ( !qword_6458 && !byte_6450 ) /*0x43db*/ { @@ -1419,10 +1419,10 @@ } // ============================================================================= -// sub_4424 @ 0x4424 +// OnVirtualAddressChange2 @ 0x4424 // ============================================================================= -__int64 sub_4424() +__int64 OnVirtualAddressChange2() { __int64 result; // rax if ( qword_6458 ) /*0x4430*/ return (*(__int64 ( **)(_QWORD, __int64 *))(RuntimeServices + 64))(0, &qword_6458); /*0x4442*/ @@ -1430,33 +1430,32 @@ } // ============================================================================= -// sub_444C @ 0x444C +// OnReadyToLock @ 0x444C // ============================================================================= -void sub_444C() +void OnReadyToLock() { - sub_43C4(); /*0x4450*/ + InstallReadyToLockProtocol(); /*0x4450*/ byte_6450 = 1; /*0x4455*/ } // ============================================================================= -// sub_44A8 @ 0x44A8 +// ZeroMemSafe @ 0x44A8 // ============================================================================= -__int64 sub_44A8(__int64 a1, unsigned __int64 a2) +__int64 ZeroMemSafe(__int64 a1, unsigned __int64 a2) { if ( !a2 ) /*0x44bb*/ return a1; /*0x44bd*/ if ( !a1 ) /*0x44c5*/ - sub_2E00( /*0x44d8*/ + SmmIplDebugAssert( /*0x44d8*/ (__int64)"e:\\hs\\MdePkg\\Library\\BaseMemoryLibRepStr\\ZeroMemWrapper.c", 53, (__int64)"Buffer != ((void *) 0)"); if ( a2 > -a1 ) /*0x44e6*/ - sub_2E00( /*0x44fb*/ + SmmIplDebugAssert( /*0x44fb*/ (__int64)"e:\\hs\\MdePkg\\Library\\BaseMemoryLibRepStr\\ZeroMemWrapper.c", 54, (__int64)"Length <= (0xFFFFFFFFFFFFFFFFULL - (UINTN)Buffer + 1)"); return sub_1070(a1, a2); /*0x4510*/ } - diff --git a/MdeModulePkg/Universal/PCD/Pei/Service.c/PchResetRuntime/PchResetRuntime.c b/MdeModulePkg/Universal/PCD/Pei/Service.c/PchResetRuntime/PchResetRuntime.c index 94b17c9..05bd55c 100644 --- a/MdeModulePkg/Universal/PCD/Pei/Service.c/PchResetRuntime/PchResetRuntime.c +++ b/MdeModulePkg/Universal/PCD/Pei/Service.c/PchResetRuntime/PchResetRuntime.c @@ -8,14 +8,14 @@ __int64 Index; // rdi __int64 Ptr; // rcx unsigned __int64 Index; // rbp __int64 v11; // rsi __int64 v13; // rax bool v14; // sf _BYTE *v15; // rax int v16; // ecx unsigned __int16 *v17; // rdx unsigned __int16 Index; // cx unsigned __int16 i; // ax unsigned __int16 v20; // [rsp+48h] [rbp+10h] BYREF Index = a1 - 8; /*0xe94*/ if ( *(_DWORD *)(a1 - 8) != 1096040787 ) /*0xeaa*/ { - sub_1574( /*0xebf*/ + DebugAssert( /*0xebf*/ "e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 680, "CR has Bad Signature"); Index = a1; /*0xec4*/ } if ( !Index ) /*0xecd*/ - sub_1574("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 681, "SataPrivateData"); /*0xee2*/ + DebugAssert("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 681, "SataPrivateData"); /*0xee2*/ if ( a2 < *(_BYTE *)(a1 + 49) && a4 && !a3 ) /*0xefd*/ { Ptr = a2; /*0xf03*/ @@ -29,7 +29,7 @@ *(_QWORD *)a4 = v13; /*0xf48*/ if ( !v13 ) /*0xf4e*/ { - sub_1574("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 700, "((BOOLEAN)(0==1))"); /*0xf63*/ + DebugAssert("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 700, "((BOOLEAN)(0==1))"); /*0xf63*/ return 0x8000000000000009uLL; /*0xf72*/ } v14 = sub_1050(Index + Index + 424, (Index + v11 + 76) & -(__int64)(*(_BYTE *)(v11 + Index + 72) != 0), &v20) < 0; /*0xf9e*/ @@ -73,14 +73,14 @@ __int64 Index; // rdi __int64 Ptr; // rcx unsigned __int64 Index; // rbp __int64 v11; // rsi __int64 v13; // rax bool v14; // sf _BYTE *v15; // rax int v16; // ecx unsigned __int16 *v17; // rdx unsigned __int16 Index; // cx unsigned __int16 i; // ax unsigned __int16 v20; // [rsp+48h] [rbp+10h] BYREF Index = a1 - 8; /*0xe94*/ if ( *(_DWORD *)(a1 - 8) != 1096040787 ) /*0xeaa*/ { - sub_1574( /*0xebf*/ + DebugAssert( /*0xebf*/ "e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 680, "CR has Bad Signature"); Index = a1; /*0xec4*/ } if ( !Index ) /*0xecd*/ - sub_1574("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 681, "SataPrivateData"); /*0xee2*/ + DebugAssert("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 681, "SataPrivateData"); /*0xee2*/ if ( a2 < *(_BYTE *)(a1 + 49) && a4 && !a3 ) /*0xefd*/ { Ptr = a2; /*0xf03*/ @@ -94,7 +94,7 @@ *(_QWORD *)a4 = v13; /*0xf48*/ if ( !v13 ) /*0xf4e*/ { - sub_1574("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 700, "((BOOLEAN)(0==1))"); /*0xf63*/ + DebugAssert("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 700, "((BOOLEAN)(0==1))"); /*0xf63*/ return 0x8000000000000009uLL; /*0xf72*/ } v14 = sub_1050(Index + Index + 424, (Index + v11 + 76) & -(__int64)(*(_BYTE *)(v11 + Index + 72) != 0), &v20) < 0; /*0xf9e*/ @@ -138,14 +138,14 @@ __int64 Index; // rdi __int64 Ptr; // rcx unsigned __int64 Index; // rbp __int64 v11; // rsi __int64 v13; // rax bool v14; // sf _BYTE *v15; // rax int v16; // ecx unsigned __int16 *v17; // rdx unsigned __int16 Index; // cx unsigned __int16 i; // ax unsigned __int16 v20; // [rsp+48h] [rbp+10h] BYREF Index = a1 - 8; /*0xe94*/ if ( *(_DWORD *)(a1 - 8) != 1096040787 ) /*0xeaa*/ { - sub_1574( /*0xebf*/ + DebugAssert( /*0xebf*/ "e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 680, "CR has Bad Signature"); Index = a1; /*0xec4*/ } if ( !Index ) /*0xecd*/ - sub_1574("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 681, "SataPrivateData"); /*0xee2*/ + DebugAssert("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 681, "SataPrivateData"); /*0xee2*/ if ( a2 < *(_BYTE *)(a1 + 49) && a4 && !a3 ) /*0xefd*/ { Ptr = a2; /*0xf03*/ @@ -159,7 +159,7 @@ *(_QWORD *)a4 = v13; /*0xf48*/ if ( !v13 ) /*0xf4e*/ { - sub_1574("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 700, "((BOOLEAN)(0==1))"); /*0xf63*/ + DebugAssert("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 700, "((BOOLEAN)(0==1))"); /*0xf63*/ return 0x8000000000000009uLL; /*0xf72*/ } v14 = sub_1050(Index + Index + 424, (Index + v11 + 76) & -(__int64)(*(_BYTE *)(v11 + Index + 72) != 0), &v20) < 0; /*0xf9e*/ @@ -203,14 +203,14 @@ __int64 Index; // rdi __int64 Ptr; // rcx unsigned __int64 Index; // rbp __int64 v11; // rsi __int64 v13; // rax bool v14; // sf _BYTE *v15; // rax int v16; // ecx unsigned __int16 *v17; // rdx unsigned __int16 Index; // cx unsigned __int16 i; // ax unsigned __int16 v20; // [rsp+48h] [rbp+10h] BYREF Index = a1 - 8; /*0xe94*/ if ( *(_DWORD *)(a1 - 8) != 1096040787 ) /*0xeaa*/ { - sub_1574( /*0xebf*/ + DebugAssert( /*0xebf*/ "e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 680, "CR has Bad Signature"); Index = a1; /*0xec4*/ } if ( !Index ) /*0xecd*/ - sub_1574("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 681, "SataPrivateData"); /*0xee2*/ + DebugAssert("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 681, "SataPrivateData"); /*0xee2*/ if ( a2 < *(_BYTE *)(a1 + 49) && a4 && !a3 ) /*0xefd*/ { Ptr = a2; /*0xf03*/ @@ -224,7 +224,7 @@ *(_QWORD *)a4 = v13; /*0xf48*/ if ( !v13 ) /*0xf4e*/ { - sub_1574("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 700, "((BOOLEAN)(0==1))"); /*0xf63*/ + DebugAssert("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 700, "((BOOLEAN)(0==1))"); /*0xf63*/ return 0x8000000000000009uLL; /*0xf72*/ } v14 = sub_1050(Index + Index + 424, (Index + v11 + 76) & -(__int64)(*(_BYTE *)(v11 + Index + 72) != 0), &v20) < 0; /*0xf9e*/ @@ -268,14 +268,14 @@ __int64 Index; // rdi __int64 Ptr; // rcx unsigned __int64 Index; // rbp __int64 v11; // rsi __int64 v13; // rax bool v14; // sf _BYTE *v15; // rax int v16; // ecx unsigned __int16 *v17; // rdx unsigned __int16 Index; // cx unsigned __int16 i; // ax unsigned __int16 v20; // [rsp+48h] [rbp+10h] BYREF Index = a1 - 8; /*0xe94*/ if ( *(_DWORD *)(a1 - 8) != 1096040787 ) /*0xeaa*/ { - sub_1574( /*0xebf*/ + DebugAssert( /*0xebf*/ "e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 680, "CR has Bad Signature"); Index = a1; /*0xec4*/ } if ( !Index ) /*0xecd*/ - sub_1574("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 681, "SataPrivateData"); /*0xee2*/ + DebugAssert("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 681, "SataPrivateData"); /*0xee2*/ if ( a2 < *(_BYTE *)(a1 + 49) && a4 && !a3 ) /*0xefd*/ { Ptr = a2; /*0xf03*/ @@ -289,7 +289,7 @@ *(_QWORD *)a4 = v13; /*0xf48*/ if ( !v13 ) /*0xf4e*/ { - sub_1574("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 700, "((BOOLEAN)(0==1))"); /*0xf63*/ + DebugAssert("e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SataController\\Dxe\\SataController.c", 700, "((BOOLEAN)(0==1))"); /*0xf63*/ return 0x8000000000000009uLL; /*0xf72*/ } v14 = sub_1050(Index + Index + 424, (Index + v11 + 76) & -(__int64)(*(_BYTE *)(v11 + Index + 72) != 0), &v20) < 0; /*0xf9e*/ @@ -396,7 +396,7 @@ } *a3 = n4; /*0x1140*/ LABEL_32: - sub_14EC(0x80000000LL, "CalculateBestPioMode() End\n"); /*0x1174*/ + DebugPrintVarArg(0x80000000LL, "CalculateBestPioMode() End\n"); /*0x1174*/ return 0; /*0x119b*/ } @@ -468,7 +468,7 @@ } *a3 = n4; /*0x1140*/ LABEL_32: - sub_14EC(0x80000000LL, "CalculateBestPioMode() End\n"); /*0x1174*/ + DebugPrintVarArg(0x80000000LL, "CalculateBestPioMode() End\n"); /*0x1174*/ return 0; /*0x119b*/ } @@ -540,7 +540,7 @@ } *a3 = n4; /*0x1140*/ LABEL_32: - sub_14EC(0x80000000LL, "CalculateBestPioMode() End\n"); /*0x1174*/ + DebugPrintVarArg(0x80000000LL, "CalculateBestPioMode() End\n"); /*0x1174*/ return 0; /*0x119b*/ } @@ -612,7 +612,7 @@ } *a3 = n4; /*0x1140*/ LABEL_32: - sub_14EC(0x80000000LL, "CalculateBestPioMode() End\n"); /*0x1174*/ + DebugPrintVarArg(0x80000000LL, "CalculateBestPioMode() End\n"); /*0x1174*/ return 0; /*0x119b*/ } @@ -651,28 +651,28 @@ // Function at 0x16cc bool InternalCompare24BitValue(_DWORD *a1, _DWORD *a2) { int Result; // ebx if ( !a1 ) /*0x16a3*/ - sub_1574("e:\\hs\\MdePkg\\Library\\BaseLib\\Unaligned.c", 89, "Buffer != ((void *) 0)"); /*0x16b6*/ + DebugAssert("e:\\hs\\MdePkg\\Library\\BaseLib\\Unaligned.c", 89, "Buffer != ((void *) 0)"); /*0x16b6*/ Result = *a1 & 0xFFFFFF; /*0x16bd*/ if ( !a2 ) /*0x16c6*/ - sub_1574("e:\\hs\\MdePkg\\Library\\BaseLib\\Unaligned.c", 89, "Buffer != ((void *) 0)"); /*0x16d9*/ + DebugAssert("e:\\hs\\MdePkg\\Library\\BaseLib\\Unaligned.c", 89, "Buffer != ((void *) 0)"); /*0x16d9*/ return Result == (*a2 & 0xFFFFFF); /*0x16ef*/ } // Function at 0x1870 __int64 InternalRegisterProtocolNotify(__int64 a1, __int64 a2, __int64 a3, __int64 a4, __int64 a5) { __int64 Status; // rax __int64 Status; // rax if ( !a5 ) /*0x17cc*/ - sub_1574("e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 154, "Registration != ((void *) 0)"); /*0x17e1*/ + DebugAssert("e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 154, "Registration != ((void *) 0)"); /*0x17e1*/ Status = (*(__int64 ( **)(__int64, __int64, __int64 ( *)()))(qword_4470 + 80))(512, 8, BootScriptNotifyDxeSmmReadyToLock); /*0x180a*/ if ( Status < 0 ) /*0x1815*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1823*/ - sub_1574("e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 167, "!EFI_ERROR (Status)"); /*0x183b*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1823*/ + DebugAssert("e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 167, "!EFI_ERROR (Status)"); /*0x183b*/ } Status = (*(__int64 ( **)(void *, __int64, __int64))(qword_4470 + 168))(&unk_42A0, a4, a5); /*0x1858*/ if ( Status < 0 ) /*0x1861*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1870*/ - sub_1574("e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 179, "!EFI_ERROR (Status)"); /*0x1888*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1870*/ + DebugAssert("e:\\hs\\MdePkg\\Library\\UefiLib\\UefiLib.c", 179, "!EFI_ERROR (Status)"); /*0x1888*/ } (*(void ( **)(__int64))(qword_4470 + 104))(a4); /*0x1899*/ return a4; /*0x18a1*/ @@ -762,13 +762,13 @@ Status = GetSystemConfigurationTable(&unk_4310, &qword_4490); /*0x1a02*/ if ( Status < 0 ) /*0x1a0a*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1a1b*/ - sub_1574("e:\\hs\\MdePkg\\Library\\DxeHobLib\\HobLib.c", 54, "!EFI_ERROR (Status)"); /*0x1a33*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x1a1b*/ + DebugAssert("e:\\hs\\MdePkg\\Library\\DxeHobLib\\HobLib.c", 54, "!EFI_ERROR (Status)"); /*0x1a33*/ } result = qword_4490; /*0x1a38*/ if ( !qword_4490 ) /*0x1a42*/ { - sub_1574("e:\\hs\\MdePkg\\Library\\DxeHobLib\\HobLib.c", 55, "mHobList != ((void *) 0)"); /*0x1a55*/ + DebugAssert("e:\\hs\\MdePkg\\Library\\DxeHobLib\\HobLib.c", 55, "mHobList != ((void *) 0)"); /*0x1a55*/ return qword_4490; /*0x1a5a*/ } } @@ -863,14 +863,14 @@ Status = SaveLockBox(&unk_4408, v0, 32); /*0x20a6*/ if ( Status < 0 ) /*0x20b3*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x20c1*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 508, "!EFI_ERROR (Status)"); /*0x20d9*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x20c1*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 508, "!EFI_ERROR (Status)"); /*0x20d9*/ } Status = SetLockBoxAttributes(&unk_4408); /*0x20e5*/ if ( Status < 0 ) /*0x20ed*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x20fc*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 511, "!EFI_ERROR (Status)"); /*0x2114*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x20fc*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 511, "!EFI_ERROR (Status)"); /*0x2114*/ } result = qword_44F8; /*0x2119*/ *(_BYTE *)(qword_44F8 + 21) = 0; /*0x2120*/ @@ -885,14 +885,14 @@ Status = sub_2E18(); /*0x214c*/ if ( Status < 0 ) /*0x2159*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2167*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 473, "!EFI_ERROR (Status)"); /*0x217f*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2167*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 473, "!EFI_ERROR (Status)"); /*0x217f*/ } Status = SaveLockBox(&unk_4418, *(_QWORD *)qword_44F8, *(unsigned int *)(qword_44F8 + 16)); /*0x2199*/ if ( Status < 0 ) /*0x21a1*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x21b0*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 484, "!EFI_ERROR (Status)"); /*0x21c8*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x21b0*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 484, "!EFI_ERROR (Status)"); /*0x21c8*/ } *(_BYTE *)(qword_44F8 + 15) = 1; /*0x21d4*/ sub_2088(); /*0x21d8*/ @@ -908,14 +908,14 @@ Status = sub_2E18(); /*0x214c*/ if ( Status < 0 ) /*0x2159*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2167*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 473, "!EFI_ERROR (Status)"); /*0x217f*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2167*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 473, "!EFI_ERROR (Status)"); /*0x217f*/ } Status = sub_2BA8(&unk_4418, *(_QWORD *)qword_44F8, *(unsigned int *)(qword_44F8 + 16)); /*0x2199*/ if ( Status < 0 ) /*0x21a1*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x21b0*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 484, "!EFI_ERROR (Status)"); /*0x21c8*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x21b0*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 484, "!EFI_ERROR (Status)"); /*0x21c8*/ } *(_BYTE *)(qword_44F8 + 15) = 1; /*0x21d4*/ sub_2088(); /*0x21d8*/ @@ -935,8 +935,8 @@ Status = (*(__int64 ( **)(__int64, _QWORD, __int64, __int64 *))(qword_4470 + 40))(1, 0, 1, &v24); /*0x2257*/ if ( Status < 0 ) /*0x225d*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ } v3 = v24; /*0x227d*/ byte_44A0 = 1; /*0x2281*/ @@ -944,13 +944,13 @@ Status = (*(__int64 ( **)(__int64, __int64))(v5 + 144))(137, v3); /*0x2293*/ if ( Status < 0 ) /*0x229c*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ } sub_1408(v3, 32); /*0x22c4*/ qword_44A8 = RegisterProtocolNotify(v8, v7, v9, v10, (__int64)v21); /*0x22d7*/ if ( !qword_44A8 ) /*0x22e1*/ - sub_1574( /*0x22f2*/ + DebugAssert( /*0x22f2*/ "e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 603, "mEventDxeSmmReadyToLock != ((void *) 0)"); @@ -972,8 +972,8 @@ Status = (*(__int64 ( **)(__int64, __int64, __int64 *))(qword_44B0 + 80))(6, 32, &v22); /*0x238a*/ if ( Status < 0 ) /*0x2390*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ } v14 = v22; /*0x23b0*/ byte_44C8 = 1; /*0x23b4*/ @@ -981,8 +981,8 @@ Status = (*(__int64 ( **)(__int64, __int64))(v15 + 144))(138, v14); /*0x23c6*/ if ( Status < 0 ) /*0x23cf*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ } sub_1408(v22, 32); /*0x23f8*/ Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x2419*/ @@ -991,8 +991,8 @@ &qword_44B8); if ( Status < 0 ) /*0x2422*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ } Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x245e*/ &unk_4280, @@ -1000,8 +1000,8 @@ &qword_4498); if ( Status < 0 ) /*0x2467*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ } v12 = v22; /*0x2487*/ } @@ -1012,8 +1012,8 @@ &qword_44C0); if ( Status < 0 ) /*0x24b7*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ } } return 0; /*0x24d9*/ @@ -1031,8 +1031,8 @@ Status = (*(__int64 ( **)(__int64, _QWORD, __int64, __int64 *))(qword_4470 + 40))(1, 0, 1, &v24); /*0x2257*/ if ( Status < 0 ) /*0x225d*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ } v3 = v24; /*0x227d*/ byte_44A0 = 1; /*0x2281*/ @@ -1040,13 +1040,13 @@ Status = (*(__int64 ( **)(__int64, __int64))(v5 + 144))(137, v3); /*0x2293*/ if ( Status < 0 ) /*0x229c*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ } sub_1408(v3, 32); /*0x22c4*/ qword_44A8 = RegisterProtocolNotify(v8, v7, v9, v10, (__int64)v21); /*0x22d7*/ if ( !qword_44A8 ) /*0x22e1*/ - sub_1574( /*0x22f2*/ + DebugAssert( /*0x22f2*/ "e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 603, "mEventDxeSmmReadyToLock != ((void *) 0)"); @@ -1068,8 +1068,8 @@ Status = (*(__int64 ( **)(__int64, __int64, __int64 *))(qword_44B0 + 80))(6, 32, &v22); /*0x238a*/ if ( Status < 0 ) /*0x2390*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ } v14 = v22; /*0x23b0*/ byte_44C8 = 1; /*0x23b4*/ @@ -1077,8 +1077,8 @@ Status = (*(__int64 ( **)(__int64, __int64))(v15 + 144))(138, v14); /*0x23c6*/ if ( Status < 0 ) /*0x23cf*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ } sub_1408(v22, 32); /*0x23f8*/ Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x2419*/ @@ -1087,8 +1087,8 @@ &qword_44B8); if ( Status < 0 ) /*0x2422*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ } Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x245e*/ &unk_4280, @@ -1096,8 +1096,8 @@ &qword_4498); if ( Status < 0 ) /*0x2467*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ } v12 = v22; /*0x2487*/ } @@ -1108,8 +1108,8 @@ &qword_44C0); if ( Status < 0 ) /*0x24b7*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ } } return 0; /*0x24d9*/ @@ -1127,8 +1127,8 @@ Status = (*(__int64 ( **)(__int64, _QWORD, __int64, __int64 *))(qword_4470 + 40))(1, 0, 1, &v24); /*0x2257*/ if ( Status < 0 ) /*0x225d*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ } v3 = v24; /*0x227d*/ byte_44A0 = 1; /*0x2281*/ @@ -1136,13 +1136,13 @@ Status = (*(__int64 ( **)(__int64, __int64))(v5 + 144))(137, v3); /*0x2293*/ if ( Status < 0 ) /*0x229c*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ } sub_1408(v3, 32); /*0x22c4*/ qword_44A8 = RegisterProtocolNotify(v8, v7, v9, v10, (__int64)v21); /*0x22d7*/ if ( !qword_44A8 ) /*0x22e1*/ - sub_1574( /*0x22f2*/ + DebugAssert( /*0x22f2*/ "e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 603, "mEventDxeSmmReadyToLock != ((void *) 0)"); @@ -1164,8 +1164,8 @@ Status = (*(__int64 ( **)(__int64, __int64, __int64 *))(qword_44B0 + 80))(6, 32, &v22); /*0x238a*/ if ( Status < 0 ) /*0x2390*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ } v14 = v22; /*0x23b0*/ byte_44C8 = 1; /*0x23b4*/ @@ -1173,8 +1173,8 @@ Status = (*(__int64 ( **)(__int64, __int64))(v15 + 144))(138, v14); /*0x23c6*/ if ( Status < 0 ) /*0x23cf*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ } sub_1408(v22, 32); /*0x23f8*/ Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x2419*/ @@ -1183,8 +1183,8 @@ &qword_44B8); if ( Status < 0 ) /*0x2422*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ } Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x245e*/ &unk_4280, @@ -1192,8 +1192,8 @@ &qword_4498); if ( Status < 0 ) /*0x2467*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ } v12 = v22; /*0x2487*/ } @@ -1204,8 +1204,8 @@ &qword_44C0); if ( Status < 0 ) /*0x24b7*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ } } return 0; /*0x24d9*/ @@ -1223,8 +1223,8 @@ Status = (*(__int64 ( **)(__int64, _QWORD, __int64, __int64 *))(qword_4470 + 40))(1, 0, 1, &v24); /*0x2257*/ if ( Status < 0 ) /*0x225d*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ } v3 = v24; /*0x227d*/ byte_44A0 = 1; /*0x2281*/ @@ -1232,13 +1232,13 @@ Status = (*(__int64 ( **)(__int64, __int64))(v5 + 144))(137, v3); /*0x2293*/ if ( Status < 0 ) /*0x229c*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ } sub_1408(v3, 32); /*0x22c4*/ qword_44A8 = sub_17BC(v8, v7, v9, v10, (__int64)v21); /*0x22d7*/ if ( !qword_44A8 ) /*0x22e1*/ - sub_1574( /*0x22f2*/ + DebugAssert( /*0x22f2*/ "e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 603, "mEventDxeSmmReadyToLock != ((void *) 0)"); @@ -1260,8 +1260,8 @@ Status = (*(__int64 ( **)(__int64, __int64, __int64 *))(qword_44B0 + 80))(6, 32, &v22); /*0x238a*/ if ( Status < 0 ) /*0x2390*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ } v14 = v22; /*0x23b0*/ byte_44C8 = 1; /*0x23b4*/ @@ -1269,8 +1269,8 @@ Status = (*(__int64 ( **)(__int64, __int64))(v15 + 144))(138, v14); /*0x23c6*/ if ( Status < 0 ) /*0x23cf*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ } sub_1408(v22, 32); /*0x23f8*/ Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x2419*/ @@ -1279,8 +1279,8 @@ &qword_44B8); if ( Status < 0 ) /*0x2422*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ } Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x245e*/ &unk_4280, @@ -1288,8 +1288,8 @@ &qword_4498); if ( Status < 0 ) /*0x2467*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ } v12 = v22; /*0x2487*/ } @@ -1300,8 +1300,8 @@ &qword_44C0); if ( Status < 0 ) /*0x24b7*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ } } return 0; /*0x24d9*/ @@ -1319,8 +1319,8 @@ Status = (*(__int64 ( **)(__int64, _QWORD, __int64, __int64 *))(qword_4470 + 40))(1, 0, 1, &v24); /*0x2257*/ if ( Status < 0 ) /*0x225d*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ } v3 = v24; /*0x227d*/ byte_44A0 = 1; /*0x2281*/ @@ -1328,13 +1328,13 @@ Status = (*(__int64 ( **)(__int64, __int64))(v5 + 144))(137, v3); /*0x2293*/ if ( Status < 0 ) /*0x229c*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ } sub_1408(v3, 32); /*0x22c4*/ qword_44A8 = sub_17BC(v8, v7, v9, v10, (__int64)v21); /*0x22d7*/ if ( !qword_44A8 ) /*0x22e1*/ - sub_1574( /*0x22f2*/ + DebugAssert( /*0x22f2*/ "e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 603, "mEventDxeSmmReadyToLock != ((void *) 0)"); @@ -1356,8 +1356,8 @@ Status = (*(__int64 ( **)(__int64, __int64, __int64 *))(qword_44B0 + 80))(6, 32, &v22); /*0x238a*/ if ( Status < 0 ) /*0x2390*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ } v14 = v22; /*0x23b0*/ byte_44C8 = 1; /*0x23b4*/ @@ -1365,8 +1365,8 @@ Status = (*(__int64 ( **)(__int64, __int64))(v15 + 144))(138, v14); /*0x23c6*/ if ( Status < 0 ) /*0x23cf*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ } sub_1408(v22, 32); /*0x23f8*/ Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x2419*/ @@ -1375,8 +1375,8 @@ &qword_44B8); if ( Status < 0 ) /*0x2422*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ } Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x245e*/ &unk_4280, @@ -1384,8 +1384,8 @@ &qword_4498); if ( Status < 0 ) /*0x2467*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ } v12 = v22; /*0x2487*/ } @@ -1396,8 +1396,8 @@ &qword_44C0); if ( Status < 0 ) /*0x24b7*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ } } return 0; /*0x24d9*/ @@ -1415,8 +1415,8 @@ Status = (*(__int64 ( **)(__int64, _QWORD, __int64, __int64 *))(qword_4470 + 40))(1, 0, 1, &v24); /*0x2257*/ if ( Status < 0 ) /*0x225d*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ } v3 = v24; /*0x227d*/ byte_44A0 = 1; /*0x2281*/ @@ -1424,13 +1424,13 @@ Status = (*(__int64 ( **)(__int64, __int64))(v5 + 144))(137, v3); /*0x2293*/ if ( Status < 0 ) /*0x229c*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ } sub_1408(v3, 32); /*0x22c4*/ qword_44A8 = sub_17BC(v8, v7, v9, v10, (__int64)v21); /*0x22d7*/ if ( !qword_44A8 ) /*0x22e1*/ - sub_1574( /*0x22f2*/ + DebugAssert( /*0x22f2*/ "e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 603, "mEventDxeSmmReadyToLock != ((void *) 0)"); @@ -1452,8 +1452,8 @@ Status = (*(__int64 ( **)(__int64, __int64, __int64 *))(qword_44B0 + 80))(6, 32, &v22); /*0x238a*/ if ( Status < 0 ) /*0x2390*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ } v14 = v22; /*0x23b0*/ byte_44C8 = 1; /*0x23b4*/ @@ -1461,8 +1461,8 @@ Status = (*(__int64 ( **)(__int64, __int64))(v15 + 144))(138, v14); /*0x23c6*/ if ( Status < 0 ) /*0x23cf*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ } sub_1408(v22, 32); /*0x23f8*/ Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x2419*/ @@ -1471,8 +1471,8 @@ &qword_44B8); if ( Status < 0 ) /*0x2422*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ } Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x245e*/ &unk_4280, @@ -1480,8 +1480,8 @@ &qword_4498); if ( Status < 0 ) /*0x2467*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ } v12 = v22; /*0x2487*/ } @@ -1492,8 +1492,8 @@ &qword_44C0); if ( Status < 0 ) /*0x24b7*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ } } return 0; /*0x24d9*/ @@ -1511,8 +1511,8 @@ Status = (*(__int64 ( **)(__int64, _QWORD, __int64, __int64 *))(qword_4470 + 40))(1, 0, 1, &v24); /*0x2257*/ if ( Status < 0 ) /*0x225d*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ } v3 = v24; /*0x227d*/ byte_44A0 = 1; /*0x2281*/ @@ -1520,13 +1520,13 @@ Status = (*(__int64 ( **)(__int64, __int64))(v5 + 144))(137, v3); /*0x2293*/ if ( Status < 0 ) /*0x229c*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ } sub_1408(v3, 32); /*0x22c4*/ qword_44A8 = sub_17BC(v8, v7, v9, v10, (__int64)v21); /*0x22d7*/ if ( !qword_44A8 ) /*0x22e1*/ - sub_1574( /*0x22f2*/ + DebugAssert( /*0x22f2*/ "e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 603, "mEventDxeSmmReadyToLock != ((void *) 0)"); @@ -1548,8 +1548,8 @@ Status = (*(__int64 ( **)(__int64, __int64, __int64 *))(qword_44B0 + 80))(6, 32, &v22); /*0x238a*/ if ( Status < 0 ) /*0x2390*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ } v14 = v22; /*0x23b0*/ byte_44C8 = 1; /*0x23b4*/ @@ -1557,8 +1557,8 @@ Status = (*(__int64 ( **)(__int64, __int64))(v15 + 144))(138, v14); /*0x23c6*/ if ( Status < 0 ) /*0x23cf*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ } sub_1408(v22, 32); /*0x23f8*/ Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x2419*/ @@ -1567,8 +1567,8 @@ &qword_44B8); if ( Status < 0 ) /*0x2422*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ } Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x245e*/ &unk_4280, @@ -1576,8 +1576,8 @@ &qword_4498); if ( Status < 0 ) /*0x2467*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ } v12 = v22; /*0x2487*/ } @@ -1588,8 +1588,8 @@ &qword_44C0); if ( Status < 0 ) /*0x24b7*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ } } return 0; /*0x24d9*/ @@ -1607,8 +1607,8 @@ Status = (*(__int64 ( **)(__int64, _QWORD, __int64, __int64 *))(qword_4470 + 40))(1, 0, 1, &v24); /*0x2257*/ if ( Status < 0 ) /*0x225d*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ } v3 = v24; /*0x227d*/ byte_44A0 = 1; /*0x2281*/ @@ -1616,13 +1616,13 @@ Status = (*(__int64 ( **)(__int64, __int64))(v5 + 144))(137, v3); /*0x2293*/ if ( Status < 0 ) /*0x229c*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ } sub_1408(v3, 32); /*0x22c4*/ qword_44A8 = sub_17BC(v8, v7, v9, v10, (__int64)v21); /*0x22d7*/ if ( !qword_44A8 ) /*0x22e1*/ - sub_1574( /*0x22f2*/ + DebugAssert( /*0x22f2*/ "e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 603, "mEventDxeSmmReadyToLock != ((void *) 0)"); @@ -1644,8 +1644,8 @@ Status = (*(__int64 ( **)(__int64, __int64, __int64 *))(qword_44B0 + 80))(6, 32, &v22); /*0x238a*/ if ( Status < 0 ) /*0x2390*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ } v14 = v22; /*0x23b0*/ byte_44C8 = 1; /*0x23b4*/ @@ -1653,8 +1653,8 @@ Status = (*(__int64 ( **)(__int64, __int64))(v15 + 144))(138, v14); /*0x23c6*/ if ( Status < 0 ) /*0x23cf*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ } sub_1408(v22, 32); /*0x23f8*/ Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x2419*/ @@ -1663,8 +1663,8 @@ &qword_44B8); if ( Status < 0 ) /*0x2422*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ } Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x245e*/ &unk_4280, @@ -1672,8 +1672,8 @@ &qword_4498); if ( Status < 0 ) /*0x2467*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ } v12 = v22; /*0x2487*/ } @@ -1684,8 +1684,8 @@ &qword_44C0); if ( Status < 0 ) /*0x24b7*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ } } return 0; /*0x24d9*/ @@ -1703,8 +1703,8 @@ Status = (*(__int64 ( **)(__int64, _QWORD, __int64, __int64 *))(qword_4470 + 40))(1, 0, 1, &v24); /*0x2257*/ if ( Status < 0 ) /*0x225d*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ } v3 = v24; /*0x227d*/ byte_44A0 = 1; /*0x2281*/ @@ -1712,13 +1712,13 @@ Status = (*(__int64 ( **)(__int64, __int64))(v5 + 144))(137, v3); /*0x2293*/ if ( Status < 0 ) /*0x229c*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ } sub_1408(v3, 32); /*0x22c4*/ qword_44A8 = sub_17BC(v8, v7, v9, v10, (__int64)v21); /*0x22d7*/ if ( !qword_44A8 ) /*0x22e1*/ - sub_1574( /*0x22f2*/ + DebugAssert( /*0x22f2*/ "e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 603, "mEventDxeSmmReadyToLock != ((void *) 0)"); @@ -1740,8 +1740,8 @@ Status = (*(__int64 ( **)(__int64, __int64, __int64 *))(qword_44B0 + 80))(6, 32, &v22); /*0x238a*/ if ( Status < 0 ) /*0x2390*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ } v14 = v22; /*0x23b0*/ byte_44C8 = 1; /*0x23b4*/ @@ -1749,8 +1749,8 @@ Status = (*(__int64 ( **)(__int64, __int64))(v15 + 144))(138, v14); /*0x23c6*/ if ( Status < 0 ) /*0x23cf*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ } sub_1408(v22, 32); /*0x23f8*/ Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x2419*/ @@ -1759,8 +1759,8 @@ &qword_44B8); if ( Status < 0 ) /*0x2422*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ } Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x245e*/ &unk_4280, @@ -1768,8 +1768,8 @@ &qword_4498); if ( Status < 0 ) /*0x2467*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ } v12 = v22; /*0x2487*/ } @@ -1780,8 +1780,8 @@ &qword_44C0); if ( Status < 0 ) /*0x24b7*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ } } return 0; /*0x24d9*/ @@ -1799,8 +1799,8 @@ Status = (*(__int64 ( **)(__int64, _QWORD, __int64, __int64 *))(qword_4470 + 40))(1, 0, 1, &v24); /*0x2257*/ if ( Status < 0 ) /*0x225d*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2268*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 586, "!EFI_ERROR (Status)"); /*0x2278*/ } v3 = v24; /*0x227d*/ byte_44A0 = 1; /*0x2281*/ @@ -1808,13 +1808,13 @@ Status = (*(__int64 ( **)(__int64, __int64))(v5 + 144))(137, v3); /*0x2293*/ if ( Status < 0 ) /*0x229c*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x22a7*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 591, "!EFI_ERROR (Status)"); /*0x22b7*/ } sub_1408(v3, 32); /*0x22c4*/ qword_44A8 = sub_17BC(v8, v7, v9, v10, (__int64)v21); /*0x22d7*/ if ( !qword_44A8 ) /*0x22e1*/ - sub_1574( /*0x22f2*/ + DebugAssert( /*0x22f2*/ "e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 603, "mEventDxeSmmReadyToLock != ((void *) 0)"); @@ -1836,8 +1836,8 @@ Status = (*(__int64 ( **)(__int64, __int64, __int64 *))(qword_44B0 + 80))(6, 32, &v22); /*0x238a*/ if ( Status < 0 ) /*0x2390*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x239b*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 639, "!EFI_ERROR (Status)"); /*0x23ab*/ } v14 = v22; /*0x23b0*/ byte_44C8 = 1; /*0x23b4*/ @@ -1845,8 +1845,8 @@ Status = (*(__int64 ( **)(__int64, __int64))(v15 + 144))(138, v14); /*0x23c6*/ if ( Status < 0 ) /*0x23cf*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x23da*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 643, "!EFI_ERROR (Status)"); /*0x23ea*/ } sub_1408(v22, 32); /*0x23f8*/ Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x2419*/ @@ -1855,8 +1855,8 @@ &qword_44B8); if ( Status < 0 ) /*0x2422*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x242d*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 654, "!EFI_ERROR (Status)"); /*0x243d*/ } Status = (*(__int64 ( **)(void *, __int64 (*)(), __int64 *))(qword_44B0 + 192))( /*0x245e*/ &unk_4280, @@ -1864,8 +1864,8 @@ &qword_4498); if ( Status < 0 ) /*0x2467*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2472*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 661, "!EFI_ERROR (Status)"); /*0x2482*/ } v12 = v22; /*0x2487*/ } @@ -1876,8 +1876,8 @@ &qword_44C0); if ( Status < 0 ) /*0x24b7*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x24c2*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 673, "!EFI_ERROR (Status)"); /*0x24d2*/ } } return 0; /*0x24d9*/ @@ -1885,14 +1885,14 @@ // Function at 0x2560 __int64 BootScriptLibUninitialize(__int64 a1, __int64 a2, double a3, double a4) { - __int64 Status; // rax __int64 v5; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 v10; // rax __int64 Status; // rax __int64 Status; // rax __int64 v13; // rax __int64 Status; // rax sub_14EC(64, (__int64)"%a() in %a module\n", a3, a4); /*0x2517*/ + __int64 Status; // rax __int64 v5; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 v10; // rax __int64 Status; // rax __int64 Status; // rax __int64 v13; // rax __int64 Status; // rax DebugPrintVarArg(64, (__int64)"%a() in %a module\n", a3, a4); /*0x2517*/ if ( qword_44A8 ) /*0x2540*/ { Status = (*(__int64 (**)(void))(qword_4470 + 112))(); /*0x2549*/ if ( Status < 0 ) /*0x254f*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2559*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 707, "!EFI_ERROR (Status)"); /*0x2569*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2559*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 707, "!EFI_ERROR (Status)"); /*0x2569*/ } } v5 = qword_44B0; /*0x256e*/ @@ -1903,8 +1903,8 @@ Status = (*(__int64 ( **)(void *, _QWORD, __int64 *))(qword_44B0 + 192))(&unk_42B0, 0, &qword_44B8); /*0x2598*/ if ( Status < 0 ) /*0x25a1*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25ac*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 720, "!EFI_ERROR (Status)"); /*0x25bc*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25ac*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 720, "!EFI_ERROR (Status)"); /*0x25bc*/ } v5 = qword_44B0; /*0x25c1*/ } @@ -1913,8 +1913,8 @@ Status = (*(__int64 ( **)(void *, _QWORD, __int64 *))(v5 + 192))(&unk_4280, 0, &qword_4498); /*0x25e2*/ if ( Status < 0 ) /*0x25eb*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25f6*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 731, "!EFI_ERROR (Status)"); /*0x2606*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25f6*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 731, "!EFI_ERROR (Status)"); /*0x2606*/ } v5 = qword_44B0; /*0x260b*/ } @@ -1923,8 +1923,8 @@ Status = (*(__int64 ( **)(void *, _QWORD, __int64 *))(v5 + 192))(&unk_4300, 0, &qword_44C0); /*0x262c*/ if ( Status < 0 ) /*0x2635*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2640*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 742, "!EFI_ERROR (Status)"); /*0x2650*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2640*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 742, "!EFI_ERROR (Status)"); /*0x2650*/ } v5 = qword_44B0; /*0x2655*/ } @@ -1934,15 +1934,15 @@ Status = (*(__int64 ( **)(__int64, __int64))(qword_4470 + 48))(qword_44F8, 1); /*0x2678*/ if ( Status < 0 ) /*0x267e*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2689*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 751, "!EFI_ERROR (Status)"); /*0x2699*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2689*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 751, "!EFI_ERROR (Status)"); /*0x2699*/ } v10 = sub_27D8(); /*0x269e*/ Status = (*(__int64 ( **)(__int64, _QWORD))(v10 + 144))(137, 0); /*0x26aa*/ if ( Status < 0 ) /*0x26b3*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x26be*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 753, "!EFI_ERROR (Status)"); /*0x26ce*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x26be*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 753, "!EFI_ERROR (Status)"); /*0x26ce*/ } v5 = qword_44B0; /*0x26d3*/ } @@ -1951,15 +1951,15 @@ Status = (*(__int64 ( **)(__int64))(v5 + 88))(qword_4500); /*0x26ef*/ if ( Status < 0 ) /*0x26f5*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2700*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 757, "!EFI_ERROR (Status)"); /*0x2710*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2700*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 757, "!EFI_ERROR (Status)"); /*0x2710*/ } v13 = sub_27D8(); /*0x2715*/ Status = (*(__int64 ( **)(__int64, _QWORD))(v13 + 144))(138, 0); /*0x2721*/ if ( Status < 0 ) /*0x272a*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2735*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 759, "!EFI_ERROR (Status)"); /*0x2745*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2735*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 759, "!EFI_ERROR (Status)"); /*0x2745*/ } } return 0; /*0x275b*/ @@ -1967,14 +1967,14 @@ // Function at 0x25ec __int64 BootScriptLibUninitialize(__int64 a1, __int64 a2, double a3, double a4) { - __int64 Status; // rax __int64 v5; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 v10; // rax __int64 Status; // rax __int64 Status; // rax __int64 v13; // rax __int64 Status; // rax sub_14EC(64, (__int64)"%a() in %a module\n", a3, a4); /*0x2517*/ + __int64 Status; // rax __int64 v5; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 v10; // rax __int64 Status; // rax __int64 Status; // rax __int64 v13; // rax __int64 Status; // rax DebugPrintVarArg(64, (__int64)"%a() in %a module\n", a3, a4); /*0x2517*/ if ( qword_44A8 ) /*0x2540*/ { Status = (*(__int64 (**)(void))(qword_4470 + 112))(); /*0x2549*/ if ( Status < 0 ) /*0x254f*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2559*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 707, "!EFI_ERROR (Status)"); /*0x2569*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2559*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 707, "!EFI_ERROR (Status)"); /*0x2569*/ } } v5 = qword_44B0; /*0x256e*/ @@ -1985,8 +1985,8 @@ Status = (*(__int64 ( **)(void *, _QWORD, __int64 *))(qword_44B0 + 192))(&unk_42B0, 0, &qword_44B8); /*0x2598*/ if ( Status < 0 ) /*0x25a1*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25ac*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 720, "!EFI_ERROR (Status)"); /*0x25bc*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25ac*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 720, "!EFI_ERROR (Status)"); /*0x25bc*/ } v5 = qword_44B0; /*0x25c1*/ } @@ -1995,8 +1995,8 @@ Status = (*(__int64 ( **)(void *, _QWORD, __int64 *))(v5 + 192))(&unk_4280, 0, &qword_4498); /*0x25e2*/ if ( Status < 0 ) /*0x25eb*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25f6*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 731, "!EFI_ERROR (Status)"); /*0x2606*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25f6*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 731, "!EFI_ERROR (Status)"); /*0x2606*/ } v5 = qword_44B0; /*0x260b*/ } @@ -2005,8 +2005,8 @@ Status = (*(__int64 ( **)(void *, _QWORD, __int64 *))(v5 + 192))(&unk_4300, 0, &qword_44C0); /*0x262c*/ if ( Status < 0 ) /*0x2635*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2640*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 742, "!EFI_ERROR (Status)"); /*0x2650*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2640*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 742, "!EFI_ERROR (Status)"); /*0x2650*/ } v5 = qword_44B0; /*0x2655*/ } @@ -2016,15 +2016,15 @@ Status = (*(__int64 ( **)(__int64, __int64))(qword_4470 + 48))(qword_44F8, 1); /*0x2678*/ if ( Status < 0 ) /*0x267e*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2689*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 751, "!EFI_ERROR (Status)"); /*0x2699*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2689*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 751, "!EFI_ERROR (Status)"); /*0x2699*/ } v10 = sub_27D8(); /*0x269e*/ Status = (*(__int64 ( **)(__int64, _QWORD))(v10 + 144))(137, 0); /*0x26aa*/ if ( Status < 0 ) /*0x26b3*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x26be*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 753, "!EFI_ERROR (Status)"); /*0x26ce*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x26be*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 753, "!EFI_ERROR (Status)"); /*0x26ce*/ } v5 = qword_44B0; /*0x26d3*/ } @@ -2033,15 +2033,15 @@ Status = (*(__int64 ( **)(__int64))(v5 + 88))(qword_4500); /*0x26ef*/ if ( Status < 0 ) /*0x26f5*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2700*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 757, "!EFI_ERROR (Status)"); /*0x2710*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2700*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 757, "!EFI_ERROR (Status)"); /*0x2710*/ } v13 = sub_27D8(); /*0x2715*/ Status = (*(__int64 ( **)(__int64, _QWORD))(v13 + 144))(138, 0); /*0x2721*/ if ( Status < 0 ) /*0x272a*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2735*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 759, "!EFI_ERROR (Status)"); /*0x2745*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2735*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 759, "!EFI_ERROR (Status)"); /*0x2745*/ } } return 0; /*0x275b*/ @@ -2049,14 +2049,14 @@ // Function at 0x2688 __int64 BootScriptLibUninitialize(__int64 a1, __int64 a2, double a3, double a4) { - __int64 Status; // rax __int64 v5; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 v10; // rax __int64 Status; // rax __int64 Status; // rax __int64 v13; // rax __int64 Status; // rax sub_14EC(64, (__int64)"%a() in %a module\n", a3, a4); /*0x2517*/ + __int64 Status; // rax __int64 v5; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 v10; // rax __int64 Status; // rax __int64 Status; // rax __int64 v13; // rax __int64 Status; // rax DebugPrintVarArg(64, (__int64)"%a() in %a module\n", a3, a4); /*0x2517*/ if ( qword_44A8 ) /*0x2540*/ { Status = (*(__int64 (**)(void))(qword_4470 + 112))(); /*0x2549*/ if ( Status < 0 ) /*0x254f*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2559*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 707, "!EFI_ERROR (Status)"); /*0x2569*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2559*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 707, "!EFI_ERROR (Status)"); /*0x2569*/ } } v5 = qword_44B0; /*0x256e*/ @@ -2067,8 +2067,8 @@ Status = (*(__int64 ( **)(void *, _QWORD, __int64 *))(qword_44B0 + 192))(&unk_42B0, 0, &qword_44B8); /*0x2598*/ if ( Status < 0 ) /*0x25a1*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25ac*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 720, "!EFI_ERROR (Status)"); /*0x25bc*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25ac*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 720, "!EFI_ERROR (Status)"); /*0x25bc*/ } v5 = qword_44B0; /*0x25c1*/ } @@ -2077,8 +2077,8 @@ Status = (*(__int64 ( **)(void *, _QWORD, __int64 *))(v5 + 192))(&unk_4280, 0, &qword_4498); /*0x25e2*/ if ( Status < 0 ) /*0x25eb*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25f6*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 731, "!EFI_ERROR (Status)"); /*0x2606*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25f6*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 731, "!EFI_ERROR (Status)"); /*0x2606*/ } v5 = qword_44B0; /*0x260b*/ } @@ -2087,8 +2087,8 @@ Status = (*(__int64 ( **)(void *, _QWORD, __int64 *))(v5 + 192))(&unk_4300, 0, &qword_44C0); /*0x262c*/ if ( Status < 0 ) /*0x2635*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2640*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 742, "!EFI_ERROR (Status)"); /*0x2650*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2640*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 742, "!EFI_ERROR (Status)"); /*0x2650*/ } v5 = qword_44B0; /*0x2655*/ } @@ -2098,15 +2098,15 @@ Status = (*(__int64 ( **)(__int64, __int64))(qword_4470 + 48))(qword_44F8, 1); /*0x2678*/ if ( Status < 0 ) /*0x267e*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2689*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 751, "!EFI_ERROR (Status)"); /*0x2699*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2689*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 751, "!EFI_ERROR (Status)"); /*0x2699*/ } v10 = sub_27D8(); /*0x269e*/ Status = (*(__int64 ( **)(__int64, _QWORD))(v10 + 144))(137, 0); /*0x26aa*/ if ( Status < 0 ) /*0x26b3*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x26be*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 753, "!EFI_ERROR (Status)"); /*0x26ce*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x26be*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 753, "!EFI_ERROR (Status)"); /*0x26ce*/ } v5 = qword_44B0; /*0x26d3*/ } @@ -2115,15 +2115,15 @@ Status = (*(__int64 ( **)(__int64))(v5 + 88))(qword_4500); /*0x26ef*/ if ( Status < 0 ) /*0x26f5*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2700*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 757, "!EFI_ERROR (Status)"); /*0x2710*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2700*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 757, "!EFI_ERROR (Status)"); /*0x2710*/ } v13 = sub_27D8(); /*0x2715*/ Status = (*(__int64 ( **)(__int64, _QWORD))(v13 + 144))(138, 0); /*0x2721*/ if ( Status < 0 ) /*0x272a*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2735*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 759, "!EFI_ERROR (Status)"); /*0x2745*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2735*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 759, "!EFI_ERROR (Status)"); /*0x2745*/ } } return 0; /*0x275b*/ @@ -2131,14 +2131,14 @@ // Function at 0x26e4 __int64 BootScriptLibUninitialize(__int64 a1, __int64 a2, double a3, double a4) { - __int64 Status; // rax __int64 v5; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 v10; // rax __int64 Status; // rax __int64 Status; // rax __int64 v13; // rax __int64 Status; // rax sub_14EC(64, (__int64)"%a() in %a module\n", a3, a4); /*0x2517*/ + __int64 Status; // rax __int64 v5; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 Status; // rax __int64 v10; // rax __int64 Status; // rax __int64 Status; // rax __int64 v13; // rax __int64 Status; // rax DebugPrintVarArg(64, (__int64)"%a() in %a module\n", a3, a4); /*0x2517*/ if ( qword_44A8 ) /*0x2540*/ { Status = (*(__int64 (**)(void))(qword_4470 + 112))(); /*0x2549*/ if ( Status < 0 ) /*0x254f*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2559*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 707, "!EFI_ERROR (Status)"); /*0x2569*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2559*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 707, "!EFI_ERROR (Status)"); /*0x2569*/ } } v5 = qword_44B0; /*0x256e*/ @@ -2149,8 +2149,8 @@ Status = (*(__int64 ( **)(void *, _QWORD, __int64 *))(qword_44B0 + 192))(&unk_42B0, 0, &qword_44B8); /*0x2598*/ if ( Status < 0 ) /*0x25a1*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25ac*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 720, "!EFI_ERROR (Status)"); /*0x25bc*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25ac*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 720, "!EFI_ERROR (Status)"); /*0x25bc*/ } v5 = qword_44B0; /*0x25c1*/ } @@ -2159,8 +2159,8 @@ Status = (*(__int64 ( **)(void *, _QWORD, __int64 *))(v5 + 192))(&unk_4280, 0, &qword_4498); /*0x25e2*/ if ( Status < 0 ) /*0x25eb*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25f6*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 731, "!EFI_ERROR (Status)"); /*0x2606*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x25f6*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 731, "!EFI_ERROR (Status)"); /*0x2606*/ } v5 = qword_44B0; /*0x260b*/ } @@ -2169,8 +2169,8 @@ Status = (*(__int64 ( **)(void *, _QWORD, __int64 *))(v5 + 192))(&unk_4300, 0, &qword_44C0); /*0x262c*/ if ( Status < 0 ) /*0x2635*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2640*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 742, "!EFI_ERROR (Status)"); /*0x2650*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2640*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 742, "!EFI_ERROR (Status)"); /*0x2650*/ } v5 = qword_44B0; /*0x2655*/ } @@ -2180,15 +2180,15 @@ Status = (*(__int64 ( **)(__int64, __int64))(qword_4470 + 48))(qword_44F8, 1); /*0x2678*/ if ( Status < 0 ) /*0x267e*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2689*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 751, "!EFI_ERROR (Status)"); /*0x2699*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2689*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 751, "!EFI_ERROR (Status)"); /*0x2699*/ } v10 = sub_27D8(); /*0x269e*/ Status = (*(__int64 ( **)(__int64, _QWORD))(v10 + 144))(137, 0); /*0x26aa*/ if ( Status < 0 ) /*0x26b3*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x26be*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 753, "!EFI_ERROR (Status)"); /*0x26ce*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x26be*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 753, "!EFI_ERROR (Status)"); /*0x26ce*/ } v5 = qword_44B0; /*0x26d3*/ } @@ -2197,15 +2197,15 @@ Status = (*(__int64 ( **)(__int64))(v5 + 88))(qword_4500); /*0x26ef*/ if ( Status < 0 ) /*0x26f5*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2700*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 757, "!EFI_ERROR (Status)"); /*0x2710*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2700*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 757, "!EFI_ERROR (Status)"); /*0x2710*/ } v13 = sub_27D8(); /*0x2715*/ Status = (*(__int64 ( **)(__int64, _QWORD))(v13 + 144))(138, 0); /*0x2721*/ if ( Status < 0 ) /*0x272a*/ { - sub_14EC(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2735*/ - sub_1574("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 759, "!EFI_ERROR (Status)"); /*0x2745*/ + DebugPrintVarArg(0x80000000LL, (__int64)"\nASSERT_EFI_ERROR (Status = %r)\n", Status); /*0x2735*/ + DebugAssert("e:\\hs\\MdeModulePkg\\Library\\PiDxeS3BootScriptLib\\BootScriptSave.c", 759, "!EFI_ERROR (Status)"); /*0x2745*/ } } return 0; /*0x275b*/ diff --git a/MdeModulePkg/Universal/PCD/Pei/Service.c/PchResetRuntime/PchResetRuntime.h b/MdeModulePkg/Universal/PCD/Pei/Service.c/PchResetRuntime/PchResetRuntime.h index 6c246c3..081d974 100644 --- a/MdeModulePkg/Universal/PCD/Pei/Service.c/PchResetRuntime/PchResetRuntime.h +++ b/MdeModulePkg/Universal/PCD/Pei/Service.c/PchResetRuntime/PchResetRuntime.h @@ -1,7 +1,5 @@ /** @file - PchResetRuntime.h -- Header for PchResetRuntime - -Copyright (c) HR650X BIOS Decompilation Project + PchResetRuntime.h **/ #ifndef __PCHRESETRUNTIME_H__ @@ -9,536 +7,87 @@ #include "../uefi_headers/Uefi.h" -// -// Function Prototypes -// - EFI_STATUS EFIAPI -at 0x1000( +DebugPrintVarArg( VOID -); + ); -EFI_STATUS -EFIAPI -__int64 v9; // rcx( - VOID -); +BOOLEAN +InternalCompare24BitValue( + IN CONST VOID *Buffer1, + IN CONST VOID *Buffer2 + ); EFI_STATUS EFIAPI -__int64 v11; // rsi( - VOID -); +InternalRegisterProtocolNotify( + IN VOID *Protocol, + IN VOID *NotifyFunction, + IN VOID *Registration, + IN VOID *Event, + IN VOID *Interface + ); EFI_STATUS EFIAPI -bool v14; // sf( - VOID -); +InternalConfigStringLookup( + IN VOID *ConfigString, + IN VOID *String, + IN VOID *Context, + OUT VOID *Result, + IN BOOLEAN CaseInsensitive + ); -EFI_STATUS -EFIAPI -int v16; // ecx( +VOID * +InternalGetHobList( VOID -); + ); EFI_STATUS EFIAPI -unsigned __int16 v18; // cx( +BootScriptWriteEntry( VOID -); + ); EFI_STATUS EFIAPI -unsigned __int16 v20; // [rsp+48h] [rbp+10h] BYREF( +BootScriptCloseCallback( VOID -); + ); EFI_STATUS EFIAPI -at 0x1010( +BootScriptSwitchBuffer( VOID -); + ); EFI_STATUS EFIAPI -at 0x1020( +BootScriptCloseAndFlush( VOID -); + ); EFI_STATUS EFIAPI -at 0x1030( +BootScriptOpen( VOID -); + ); EFI_STATUS EFIAPI -at 0x1040( - VOID -); +BootScriptLibInitialize( + IN VOID *ImageHandle, + IN VOID *SystemTable + ); EFI_STATUS EFIAPI -at 0x1050( - VOID -); +BootScriptLibUninitialize( + IN VOID *ImageHandle, + IN VOID *SystemTable, + IN DOUBLE StartTime, + IN DOUBLE EndTime + ); -EFI_STATUS -EFIAPI -__int16 n255; // bx( - VOID -); - -EFI_STATUS -EFIAPI -__int16 i; // ax( - VOID -); - -EFI_STATUS -EFIAPI -unsigned __int16 n4; // cx( - VOID -); - -EFI_STATUS -EFIAPI -unsigned __int16 n4_1; // ax( - VOID -); - -EFI_STATUS -EFIAPI -at 0x10b0( - VOID -); - -EFI_STATUS -EFIAPI -at 0x1124( - VOID -); - -EFI_STATUS -EFIAPI -at 0x114c( - VOID -); - -EFI_STATUS -EFIAPI -at 0x1548( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v4; // r8( - VOID -); - -EFI_STATUS -EFIAPI -unsigned __int8 v6; // al( - VOID -); - -EFI_STATUS -EFIAPI -char n3_1; // cl( - VOID -); - -EFI_STATUS -EFIAPI -at 0x16cc( - VOID -); - -EFI_STATUS -EFIAPI -if ( !a1 ) /*0x16a3*/( - VOID -); - -EFI_STATUS -EFIAPI -at 0x1870( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v6; // rax( - VOID -); - -EFI_STATUS -EFIAPI -at 0x18f8( - VOID -); - -EFI_STATUS -EFIAPI -_DWORD *v7; // rbx( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v11; // rdi( - VOID -); - -EFI_STATUS -EFIAPI -_BYTE *v13; // rbx( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v15; // rdi( - VOID -); - -EFI_STATUS -EFIAPI -_BYTE *v17; // rdx( - VOID -); - -EFI_STATUS -EFIAPI -at 0x1a54( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v1; // rax( - VOID -); - -EFI_STATUS -EFIAPI -at 0x1c08( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v3; // rax( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v5; // rbx( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v7; // rbx( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v9; // rbx( - VOID -); - -EFI_STATUS -EFIAPI -int n7777; // r9d( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v13; // r8( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v15; // rax( - VOID -); - -EFI_STATUS -EFIAPI -unsigned int *v17; // rcx( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v19; // r9( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v21; // r8( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v23; // rax( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v25; // rax( - VOID -); - -EFI_STATUS -EFIAPI -__int64 result; // rax( - VOID -); - -EFI_STATUS -EFIAPI -at 0x1cec( - VOID -); - -EFI_STATUS -EFIAPI -at 0x1e40( - VOID -); - -EFI_STATUS -EFIAPI -at 0x1eac( - VOID -); - -EFI_STATUS -EFIAPI -at 0x1f14( - VOID -); - -EFI_STATUS -EFIAPI -at 0x1f44( - VOID -); - -EFI_STATUS -EFIAPI -at 0x1f78( - VOID -); - -EFI_STATUS -EFIAPI -at 0x1fb8( - VOID -); - -EFI_STATUS -EFIAPI -at 0x1fe8( - VOID -); - -EFI_STATUS -EFIAPI -char v1; // [rsp+40h] [rbp+18h] BYREF( - VOID -); - -EFI_STATUS -EFIAPI -at 0x2028( - VOID -); - -EFI_STATUS -EFIAPI -at 0x2060( - VOID -); - -EFI_STATUS -EFIAPI -if ( qword_44F8 != qword_4500 ) /*0x2042*/( - VOID -); - -EFI_STATUS -EFIAPI -at 0x20ac( - VOID -); - -EFI_STATUS -EFIAPI -at 0x2134( - VOID -); - -EFI_STATUS -EFIAPI -at 0x21b4( - VOID -); - -EFI_STATUS -EFIAPI -at 0x21f4( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v3; // rbx( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v5; // rax( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v7; // rdx( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v9; // r8( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v11; // rax( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v13; // rax( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v17; // rax( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v19; // rax( - VOID -); - -EFI_STATUS -EFIAPI -at 0x2200( - VOID -); - -EFI_STATUS -EFIAPI -at 0x2228( - VOID -); - -EFI_STATUS -EFIAPI -at 0x22ec( - VOID -); - -EFI_STATUS -EFIAPI -at 0x231c( - VOID -); - -EFI_STATUS -EFIAPI -at 0x23a0( - VOID -); - -EFI_STATUS -EFIAPI -at 0x23f0( - VOID -); - -EFI_STATUS -EFIAPI -at 0x23f8( - VOID -); - -EFI_STATUS -EFIAPI -at 0x240c( - VOID -); - -EFI_STATUS -EFIAPI -at 0x247c( - VOID -); - -EFI_STATUS -EFIAPI -at 0x2560( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v7; // rax( - VOID -); - -EFI_STATUS -EFIAPI -__int64 v9; // rax( - VOID -); - -EFI_STATUS -EFIAPI -at 0x25ec( - VOID -); - -EFI_STATUS -EFIAPI -at 0x2688( - VOID -); - -EFI_STATUS -EFIAPI -at 0x26e4( - VOID -); - -#endif /* __PCHRESETRUNTIME_H__ */ \ No newline at end of file +#endif diff --git a/PurleySktPkg/Me/Heci/MeUma/MeUma/MeUma.h b/PurleySktPkg/Me/Heci/MeUma/MeUma/MeUma.h index cfd760f..c8db139 100644 --- a/PurleySktPkg/Me/Heci/MeUma/MeUma/MeUma.h +++ b/PurleySktPkg/Me/Heci/MeUma/MeUma/MeUma.h @@ -1,448 +1,152 @@ -/** @file - MeUma.h -- Header for MeUma - -Copyright (c) HR650X BIOS Decompilation Project -**/ - #ifndef __MEUMA_H__ #define __MEUMA_H__ #include "../uefi_headers/Uefi.h" -// -// Function Prototypes -// - EFI_STATUS EFIAPI -ModuleEntryPoint( - VOID -); +ModuleEntryPoint ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); -EFI_STATUS +UINT64 EFIAPI -ReadUnaligned64( - VOID -); +ReadUnaligned64 ( + IN CONST VOID *Buffer + ); -EFI_STATUS +UINT64 EFIAPI -WriteUnaligned64( - VOID -); +WriteUnaligned64 ( + OUT VOID *Buffer, + IN UINT64 Value + ); -EFI_STATUS +UINT16 EFIAPI -IoRead16( - VOID -); +IoRead16 ( + IN UINT16 Port + ); -EFI_STATUS +UINT16 EFIAPI -IoWrite16( - VOID -); +IoWrite16 ( + IN UINT16 Port, + IN UINT16 Value + ); -EFI_STATUS +UINT32 EFIAPI -IoRead32( - VOID -); +IoRead32 ( + IN UINT16 Port + ); -EFI_STATUS -EFIAPI -ReadPciCfg16( - VOID -); +UINT16 +ReadPciCfg16 ( + IN UINT8 Bus, + IN UINT8 Dev, + IN UINT8 Func + ); -EFI_STATUS -EFIAPI -PcdGet32( +VOID * +GetPeiServices ( VOID -); + ); -EFI_STATUS -EFIAPI -PcdGetSize( - VOID -); +VOID * +GetPcdPtr ( + VOID *This + ); -EFI_STATUS -EFIAPI -CompareGuid( - VOID -); +UINT32 +PcdGet32 ( + VOID *This, + UINTN Token + ); -EFI_STATUS -EFIAPI -ValidateUmaLocation( - VOID -); +UINTN +PcdGetSize ( + VOID *This, + UINTN Token + ); -EFI_STATUS -EFIAPI -GetOnBoardMeType( +VOID * +GetHobList ( VOID -); + ); -EFI_STATUS -EFIAPI -GetMeFs1FromHob( - VOID -); +EFI_HOB_GUID_TYPE * +FindGuidHob ( + IN EFI_GUID *Guid + ); -EFI_STATUS -EFIAPI -GetPeiPerformance( - VOID -); +VOID * +CopyGuid ( + OUT VOID *Destination, + IN CONST VOID *Source + ); -EFI_STATUS -EFIAPI -FindPerformanceLogIndex( - VOID -); +BOOLEAN +CompareGuid ( + IN CONST EFI_GUID *Guid1, + IN CONST EFI_GUID *Guid2 + ); -EFI_STATUS -EFIAPI -IsHeciSkipped( - VOID -); +VOID * +BuildGuidHob ( + IN EFI_GUID *Guid, + IN UINTN DataLength + ); EFI_STATUS -EFIAPI -SendHeciMessage( - VOID -); +ValidateUmaLocation ( + IN UINT32 MeNcMemLowBaseAddr, + IN UINT32 MeNcMemHighBaseAddr, + IN UINT32 MeNcMemLowLimit, + IN UINT32 MeNcMemHighLimit + ); -EFI_STATUS -EFIAPI -MicroDelay( +UINT8 +GetOnBoardMeType ( VOID -); + ); -EFI_STATUS -EFIAPI -// ---------------------------------------------------------------------------( +UINT32 +GetMeFs1FromHob ( VOID -); + ); -EFI_STATUS -EFIAPI -PPI descriptor (GUID + EFI_PEI_PPI_DESCRIPTOR) for the ME UMA PPI.( - VOID -); +VOID +GetPeiPerformance ( + OUT UINT32 **PeiPerformanceLog, + OUT UINT32 **PeiPerformanceIdArray + ); -EFI_STATUS -EFIAPI -in the .data section at 0xffda3390.( - VOID -); +UINT32 +FindPerformanceLogIndex ( + IN UINT32 *PerformanceLog, + IN UINT32 ModuleId + ); -EFI_STATUS -EFIAPI -EFI_GUID gMeUmaPpiGuid;( +BOOLEAN +IsHeciSkipped ( VOID -); + ); EFI_STATUS -EFIAPI -actual ME_UMA_PPI structure( - VOID -); +SendHeciMessage ( + IN UINT8 *Message, + OUT UINT8 *Response + ); -EFI_STATUS -EFIAPI -/ state byte at 0xffda339c( - VOID -); +VOID +MicroDelay ( + IN UINT32 Microseconds + ); -EFI_STATUS -EFIAPI -prototypes( - VOID -); +extern EFI_GUID gMeUmaPpiGuid; +extern VOID *gMeUmaPpi; +extern UINT8 byte_FFDA339C; -EFI_STATUS -EFIAPI -functions (previously sub_*)( - VOID -); - -EFI_STATUS -EFIAPI -actual read goes through the memory-mapped ECAM or I/O CFG mechanism.( - VOID -); - -EFI_STATUS -EFIAPI -construct the address and decode it via the PCI Express library.( - VOID -); - -EFI_STATUS -EFIAPI -Address = (PciCfg.Reg | 0) & 0xFFF; // simplified: see PciExpressLib( - VOID -); - -EFI_STATUS -EFIAPI -Helpers( - VOID -); - -EFI_STATUS -EFIAPI -to Hob + 24( - VOID -); - -EFI_STATUS -EFIAPI -Parameter Validation( - VOID -); - -EFI_STATUS -EFIAPI -if the ME is in a debug or error mode that skips UMA checking.( - VOID -); - -EFI_STATUS -EFIAPI -(!(UINT8)ModuleEntryPoint (NULL, NULL)) {( - VOID -); - -EFI_STATUS -EFIAPI -UMA size:( - VOID -); - -EFI_STATUS -EFIAPI -= (MeNcMemLowLimit & 0xFFF80000) + 0x80000 - MeNcMemLowBaseAddr( - VOID -); - -EFI_STATUS -EFIAPI -+= MeNcMemHighLimit( - VOID -); - -EFI_STATUS -EFIAPI -= (MeNcMemLowLimit & 0xFFF80000) + 0x80000 - MeNcMemLowBaseAddr;( - VOID -); - -EFI_STATUS -EFIAPI -the UMA parameters from Silicon registers (via PCI config access).( - VOID -); - -EFI_STATUS -EFIAPI -= *(UINT32 *)((UINTN)PciCfgRead (0) + 240); // offset 0xF0( - VOID -); - -EFI_STATUS -EFIAPI -0xF4( - VOID -); - -EFI_STATUS -EFIAPI -base addresses are zero, skip validation.( - VOID -); - -EFI_STATUS -EFIAPI -(MeNcMemLowBaseAddr == 0 || MeNcMemLowLimit == 0) {( - VOID -); - -EFI_STATUS -EFIAPI -the UMA base addresses match Silicon registers.( - VOID -); - -EFI_STATUS -EFIAPI -(MeNcMemLowBaseAddr != UmaBase || MeNcMemHighBaseAddr != UmaBaseExt) {( - VOID -); - -EFI_STATUS -EFIAPI -UMA size: must not exceed 64 MB, must be even (2 MB aligned).( - VOID -); - -EFI_STATUS -EFIAPI -(MeUmaSizeCalc >> 20 > 64) {( - VOID -); - -EFI_STATUS -EFIAPI -Type Detection( - VOID -); - -EFI_STATUS -EFIAPI -Debug Mode via PCH PMC (DWR flow).( - VOID -); - -EFI_STATUS -EFIAPI -(IsPchDwrFlow ()) {( - VOID -); - -EFI_STATUS -EFIAPI -}( - VOID -); - -EFI_STATUS -EFIAPI -the ME Firmware Status (MEFS) register from PCI config.( - VOID -); - -EFI_STATUS -EFIAPI -= *(UINT32 *)((UINTN)PciCfgRead (0) + 64); // offset 0x40( - VOID -); - -EFI_STATUS -EFIAPI -back to HOB if MEFS is invalid.( - VOID -); - -EFI_STATUS -EFIAPI -= GetMeFs1FromHob ();( - VOID -); - -EFI_STATUS -EFIAPI -the ME type from the status.( - VOID -); - -EFI_STATUS -EFIAPI -((MeFirmwareStatus & 0xF) == 0xF) {( - VOID -); - -EFI_STATUS -EFIAPI -type( - VOID -); - -EFI_STATUS -EFIAPI -case 2:( - VOID -); - -EFI_STATUS -EFIAPI -default:( - VOID -); - -EFI_STATUS -EFIAPI -not read HOB, use fallback path.( - VOID -); - -EFI_STATUS -EFIAPI -((EFI_D_ERROR, "HECI: GetMeFs1FromHob() Can't read correctly MeFwHob info\n"));( - VOID -); - -EFI_STATUS -EFIAPI -Logging (PEI Performance)( - VOID -); - -EFI_STATUS -EFIAPI -existing HOB data.( - VOID -); - -EFI_STATUS -EFIAPI -fresh HOBs for the performance log and ID array.( - VOID -); - -EFI_STATUS -EFIAPI -Message / PPI Installation( - VOID -); - -EFI_STATUS -EFIAPI -Point( - VOID -); - -EFI_STATUS -EFIAPI -((IoRead32 (1024068) & 0x80) == 0) {( - VOID -); - -EFI_STATUS -EFIAPI -if the system has valid ME firmware (skip on debug/error).( - VOID -); - -EFI_STATUS -EFIAPI -= (IsHeciSkipped () < 0) ? 0 : byte_FFDA339C;( - VOID -); - -EFI_STATUS -EFIAPI -the ME UMA PPI.( - VOID -); - -EFI_STATUS -EFIAPI -= GetPeiServices ();( - VOID -); - -#endif /* __MEUMA_H__ */ \ No newline at end of file +#endif diff --git a/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/BaseMemoryStallHelpers.c b/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/BaseMemoryStallHelpers.c index d901e8e..43be382 100644 --- a/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/BaseMemoryStallHelpers.c +++ b/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/BaseMemoryStallHelpers.c @@ -7,7 +7,7 @@ } /* Source: ffd7f72c.c */ -char *__cdecl sub_FFD7F72C(char *dst, char *src, unsigned int count_1) +char *__cdecl CopyMemoryBytes(char *dst, char *src, unsigned int count_1) { unsigned int count; // edx char *dst_1; // edi @@ -83,4 +83,3 @@ StallForTicks(v3 / 0xF4240, v2 / 0xF4240); /*0xffd7fa81*/ return a1; /*0xffd7fa88*/ } - diff --git a/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/EntryDebugPerformanceTraceHub.c b/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/EntryDebugPerformanceTraceHub.c index 0d70938..4c38892 100644 --- a/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/EntryDebugPerformanceTraceHub.c +++ b/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/EntryDebugPerformanceTraceHub.c @@ -1,43 +1,43 @@ /* Consolidated from decompiled shard files. */ /* Source: ffd7f7a1.c */ -EFI_STATUS ModuleEntryPoint(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable) +EFI_STATUS SiInitPreMemEntryPoint(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable) { - int v2; // eax - int v3; // ecx - void *v4; // ecx - int v5; // ecx - int v6; // eax - int v7; // eax - int v8; // eax - unsigned __int64 v10; // [esp-Ch] [ebp-10h] + int FlagBase; // eax + int PerfStartStatus; // ecx + void *UnusedPolicy; // ecx + int PerfEndStatus; // ecx + int PeiStatus; // eax + int NotifyStatus; // eax + int ReportStatus; // eax + unsigned __int64 EndTsc; // [esp-Ch] [ebp-10h] if ( (sub_FFD9165B(1024068) & 0x80u) == 0 ) /*0xffd7f7b0*/ { sub_FFD9168B(); /*0xffd7f7b2*/ - v2 = sub_FFD9164F(); /*0xffd7f7b7*/ - *(_BYTE *)(v2 + 1024068) |= 0x80u; /*0xffd7f7c3*/ + FlagBase = sub_FFD9164F(); /*0xffd7f7b7*/ + *(_BYTE *)(FlagBase + 1024068) |= 0x80u; /*0xffd7f7c3*/ } DebugPrint(64, (int)"SiInitPrePolicy() Start\n"); /*0xffd7f88f*/ TraceHubInitialize(0); /*0xffd7f898*/ - RecordPerformanceEntry(v3, __rdtsc()); /*0xffd7f8a3*/ + RecordPerformanceEntry(PerfStartStatus, __rdtsc()); /*0xffd7f8a3*/ PrintPchInfo(); /*0xffd7f8a8*/ DebugPrint(64, (int)"PchInitPrePolicy() - Start\n"); /*0xffd7f8b4*/ PchWdtInit(); /*0xffd7f8b9*/ InstallPchResetPpi(); /*0xffd7f8be*/ InstallPchSpiPpi(); /*0xffd7f8c3*/ PchInitPreMem(); /*0xffd7f8c8*/ - sub_FFD8B940(v4); /*0xffd7f8cd*/ + GpioInitEarly(); /*0xffd7f8cd*/ DebugPrint(64, (int)"PchInitPrePolicy() - End\n"); /*0xffd7f8d9*/ - v10 = __rdtsc(); /*0xffd7f8e5*/ - EndPerformanceMeasurement(v5, v10, HIDWORD(v10)); /*0xffd7f8e7*/ - v6 = sub_FFD8AD54(); /*0xffd7f8ec*/ - v7 = (*(int (__cdecl **)(int, void *))(*(_DWORD *)v6 + 36))(v6, &unk_FFD97FEC); /*0xffd7f8f9*/ - if ( v7 < 0 ) /*0xffd7f901*/ + EndTsc = __rdtsc(); /*0xffd7f8e5*/ + EndPerformanceMeasurement(PerfEndStatus, EndTsc, HIDWORD(EndTsc)); /*0xffd7f8e7*/ + PeiStatus = sub_FFD8AD54(); /*0xffd7f8ec*/ + NotifyStatus = (*(int (__cdecl **)(int, void *))(*(_DWORD *)PeiStatus + 36))(PeiStatus, &unk_FFD97FEC); /*0xffd7f8f9*/ + if ( NotifyStatus < 0 ) /*0xffd7f901*/ { - DebugPrint(0x80000000, (int)"\nASSERT_EFI_ERROR (Status = %r)\n", v7); /*0xffd7f90e*/ - v8 = GetReportStatusCodePpi(); /*0xffd7f916*/ - if ( v8 ) /*0xffd7f91d*/ - (*(void (__cdecl **)(const char *, int, const char *))(v8 + 4))( /*0xffd7f92e*/ + DebugPrint(0x80000000, (int)"\nASSERT_EFI_ERROR (Status = %r)\n", NotifyStatus); /*0xffd7f90e*/ + ReportStatus = GetReportStatusCodePpi(); /*0xffd7f916*/ + if ( ReportStatus ) /*0xffd7f91d*/ + (*(void (__cdecl **)(const char *, int, const char *))(ReportStatus + 4))( /*0xffd7f92e*/ "e:\\hs\\PurleySktPkg\\SouthClusterLbg\\SiInit\\Pei\\SiInitPreMem.c", 155, "!EFI_ERROR (Status)"); @@ -49,12 +49,12 @@ /* Source: ffd7f97e.c */ int GetReportStatusCodePpi() { - int v0; // eax + int PeiServices; // eax _BYTE v2[4]; // [esp+0h] [ebp-8h] BYREF int v3; // [esp+4h] [ebp-4h] BYREF - v0 = sub_FFD8AD54(); /*0xffd7f983*/ - if ( (*(int (__cdecl **)(int, void *, _DWORD, _BYTE *, int *))(*(_DWORD *)v0 + 32))(v0, &unk_FFD97EAC, 0, v2, &v3) >= 0 ) /*0xffd7f9a2*/ + PeiServices = sub_FFD8AD54(); /*0xffd7f983*/ + if ( (*(int (__cdecl **)(int, void *, _DWORD, _BYTE *, int *))(*(_DWORD *)PeiServices + 32))(PeiServices, &unk_FFD97EAC, 0, v2, &v3) >= 0 ) /*0xffd7f9a2*/ return v3; /*0xffd7f9a8*/ else return 0; /*0xffd7f9a4*/ @@ -80,13 +80,13 @@ } /* Source: ffd7f9d9.c */ -int __fastcall sub_FFD7F9D9(int a1, int a2, const char *PeiServices____((void__)_0)) +int __fastcall ReportStatusCode(int a1, int a2, const char *Data) { int result; // eax result = GetReportStatusCodePpi(); /*0xffd7f9df*/ if ( result ) /*0xffd7f9e6*/ - return (*(int (__cdecl **)(int, int, const char *))(result + 4))(a1, a2, PeiServices____((void__)_0)); /*0xffd7f9ee*/ + return (*(int (__cdecl **)(int, int, const char *))(result + 4))(a1, a2, Data); /*0xffd7f9ee*/ return result; /*0xffd7f9f4*/ } @@ -357,11 +357,10 @@ } /* Source: ffd7f95b.c */ -int __fastcall sub_FFD7F95B(int a1, int a2, int a3, int a4) +int __fastcall NotifyPpi(int a1, int a2, int a3, int a4) { - int v6; // eax + int PeiServices; // eax - v6 = sub_FFD8AD54(); /*0xffd7f962*/ - return (*(int (__cdecl **)(int, int, int, int, int))(*(_DWORD *)v6 + 32))(v6, a1, a2, a3, a4); /*0xffd7f97a*/ + PeiServices = sub_FFD8AD54(); /*0xffd7f962*/ + return (*(int (__cdecl **)(int, int, int, int, int))(*(_DWORD *)PeiServices + 32))(PeiServices, a1, a2, a3, a4); /*0xffd7f97a*/ } - diff --git a/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/PchPreMemInit.c b/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/PchPreMemInit.c index fdbceb8..9eb430f 100644 --- a/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/PchPreMemInit.c +++ b/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/PchPreMemInit.c @@ -26,7 +26,7 @@ unsigned int v21; // [esp+20h] [ebp-4h] v13 = 0; /*0xffd80213*/ - v0 = sub_FFD8AD54(); /*0xffd80217*/ + v0 = GetPeiServicesPtr(); /*0xffd80217*/ if ( (*(int (__cdecl **)(int, int, _DWORD **))(*(_DWORD *)v0 + 76))(v0, 4, &v16) ) /*0xffd80226*/ { v1 = GetReportStatusCodePpi(); /*0xffd80230*/ @@ -110,7 +110,7 @@ } /* Source: ffd8040b.c */ -int __thiscall sub_FFD8040B(_BYTE *this) +int __thiscall PchDwrPolicyCheck(_BYTE *this) { int v3; // [esp+8h] [ebp-8h] BYREF @@ -158,7 +158,7 @@ } /* Source: ffd80563.c */ -int __thiscall sub_FFD80563(int this) +int __thiscall PchProgramSvidSid(int this) { int v2; // ebx unsigned int v3; // esi @@ -844,7 +844,7 @@ int v3; // eax _DWORD v5[2]; // [esp+8h] [ebp-8h] BYREF - v0 = sub_FFD8AD54(); /*0xffd85f3e*/ + v0 = GetPeiServicesPtr(); /*0xffd85f3e*/ v1 = (*(int (__cdecl **)(int, void *, _DWORD, _DWORD, _DWORD *))(*(_DWORD *)v0 + 32))(v0, &unk_FFD97EEC, 0, 0, v5); /*0xffd85f53*/ v2 = v1; /*0xffd85f56*/ if ( v1 < 0 ) @@ -1246,7 +1246,7 @@ } /* Source: ffd8ad54.c */ -int sub_FFD8AD54() +EFI_PEI_SERVICES **GetPeiServicesPtr() { int v0; // esi int __return_address; // [esp+0h] [ebp-Ch] @@ -1255,7 +1255,7 @@ sub_FFD8D30B(__return_address); /*0xffd8ad5d*/ v0 = *(_DWORD *)(v3 - 4); /*0xffd8ad65*/ if ( !v0 ) /*0xffd8ad6a*/ - sub_FFD7F9D9( /*0xffd8ad79*/ + ReportStatusCode( /*0xffd8ad79*/ (int)"e:\\hs\\MdePkg\\Library\\PeiServicesTablePointerLibIdt\\PeiServicesTablePointer.c", 48, "PeiServices != ((void *) 0)"); diff --git a/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/PcieRootPortDwr.c b/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/PcieRootPortDwr.c index 37a0e07..b6d4fde 100644 --- a/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/PcieRootPortDwr.c +++ b/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/PcieRootPortDwr.c @@ -38,7 +38,7 @@ } /* Source: ffd82d2f.c */ -int __fastcall PchPcieRpSpeedChange(int a1, int a2) +int __fastcall PchPcieRpSpeedChange(int RootPortBitmap, int PciSegment) { unsigned __int8 i_1; // al unsigned int i_2; // esi @@ -172,7 +172,7 @@ } /* Source: ffd82f2b.c */ -bool __fastcall GetPciEndpointInfo(int a1, unsigned __int8 a2, unsigned __int16 *a3) +bool __fastcall GetPciEndpointInfo(int RootPort, unsigned __int8 RootPortIndex, unsigned __int16 *EndpointInfo) { char v5; // bl unsigned int v7; // ebp @@ -214,7 +214,7 @@ } /* Source: ffd83019.c */ -int DirtyWarmResetExecute() +int ExecuteDirtyWarmReset() { int result; // eax int v1; // eax @@ -296,4 +296,3 @@ } return result; /*0xffd83182*/ } - diff --git a/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/XhciGpioPpiGlue.c b/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/XhciGpioPpiGlue.c index 8a97053..b41f213 100644 --- a/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/XhciGpioPpiGlue.c +++ b/PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/XhciGpioPpiGlue.c @@ -1,7 +1,7 @@ /* Consolidated from decompiled shard files. */ /* Source: ffd860b8.c */ -int __thiscall sub_FFD860B8(int this) +int __thiscall ConfigureXhciPreMem(int this) { int v2; // esi int v3; // edi @@ -20,7 +20,7 @@ sub_FFD8CC4F(v3 + 4, 6); /*0xffd86101*/ if ( (*(_BYTE *)(this + 2263) & 2) != 0 ) /*0xffd86109*/ *(_DWORD *)(v2 + 33004) |= 1u; /*0xffd86114*/ - v4 = sub_FFD8AD54(); /*0xffd8611a*/ + v4 = GetPeiServicesPtr(); /*0xffd8611a*/ (*(void (__cdecl **)(int, int *))(*(_DWORD *)v4 + 40))(v4, &n17); /*0xffd86127*/ if ( n17 == 17 ) /*0xffd86133*/ sub_FFD86747(this + 2263); /*0xffd86137*/ @@ -57,7 +57,7 @@ } /* Source: ffd8690c.c */ -int __fastcall sub_FFD8690C(int a1, int a2) +int __fastcall ProgramUsb2Afe(int a1, int a2) { int v2; // ebp int n15_1; // ebx @@ -174,7 +174,7 @@ } /* Source: ffd87b03.c */ -int __thiscall sub_FFD87B03(int this) +int __thiscall ConfigureXdciPreMem(int this) { int v2; // edi int v3; // ebx @@ -245,7 +245,7 @@ } /* Source: ffd8b940.c */ -int __thiscall sub_FFD8B940(void *this) +int __thiscall InitializeGpioPads(void *this) { int n256; // esi int n13; // edi @@ -286,4 +286,3 @@ while ( n13 ); /*0xffd8b9e0*/ return result; /*0xffd8b9e6*/ } -