From 31f7e9e9cffd447e132a64eadc5fc736555ea587 Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Thu, 31 Dec 2020 20:55:23 +0800 Subject: broadwell: broadwell_refcode_main --- .../intel/broadwell/refcode/broadwell_refcode.asm | 107 +++++++++++---------- 1 file changed, 58 insertions(+), 49 deletions(-) (limited to 'src/soc/intel/broadwell/refcode/broadwell_refcode.asm') diff --git a/src/soc/intel/broadwell/refcode/broadwell_refcode.asm b/src/soc/intel/broadwell/refcode/broadwell_refcode.asm index c593c8fbb0..f6b40b2cbc 100644 --- a/src/soc/intel/broadwell/refcode/broadwell_refcode.asm +++ b/src/soc/intel/broadwell/refcode/broadwell_refcode.asm @@ -16,17 +16,26 @@ extern finalize_usb extern PchStartUsbInit global CommonUsbInit +extern broadwell_refcode_main +global refcode_ppi_guid +global refcode_locate_ppi +global refcode_init +global refcode_locate_ppi +global InstallPchInitPpi +global init_system_agent +global PchInitialize + refcode_entry: pushad mov eax, dword [esp + 0x24] push eax -call fcn_00000012 ; call 0x12 +call broadwell_refcode_main ; call 0x12 pop ecx mov dword [esp + 0x1c], eax popad ret -fcn_00000012: +refcode_main: push ebp mov ebp, esp push esi @@ -34,7 +43,7 @@ push ebx sub esp, 0x1c mov esi, dword [ebp + 8] push esi -call fcn_00016434 ; call 0x16434 +call refcode_init ; call 0x16434 add esp, 0x10 mov ebx, eax test eax, eax @@ -46,27 +55,27 @@ pop eax pop edx push ebx push 0 -call fcn_0000e020 ; call 0xe020 +call InstallPchInitPpi ; call 0xe020 mov dword [esp], ref_0002069a ; mov dword [esp], 0x2069a call fcn_0001545e ; call 0x1545e pop ecx pop eax push ebx push 0 -call fcn_0000058b ; call 0x58b +call init_system_agent ; call 0x58b mov dword [esp], ref_000206b5 ; mov dword [esp], 0x206b5 call fcn_0001545e ; call 0x1545e add esp, 0xc push 0 push 0 push ebx -call fcn_0000d87f ; call 0xd87f +call PchInitialize ; call 0xd87f lea eax, [ebp - 0xc] push eax push 0 push 0 -push ref_000291dc ; push 0x291dc -call fcn_0001975d ; call 0x1975d +push refcode_ppi_guid ; push 0x291dc +call refcode_locate_ppi ; call 0x1975d mov eax, dword [ebp - 0xc] add esp, 0x20 movzx edx, byte [eax] @@ -118,7 +127,7 @@ push eax push 0 push 0 push ref_0002930c ; push 0x2930c -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d add esp, 0x20 mov esi, eax call fcn_00015480 ; call 0x15480 @@ -431,7 +440,7 @@ push eax push 0 push 0 push ref_0002928c ; push 0x2928c -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov ebx, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -603,7 +612,7 @@ mov ebx, dword [ebp - 4] leave ret -fcn_0000058b: +init_system_agent: push ebp mov ebp, esp push edi @@ -618,7 +627,7 @@ push eax push 0 push 0 push ref_0002930c ; push 0x2930c -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov ebx, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -922,7 +931,7 @@ push 0 push 0 push ref_0002932c ; push 0x2932c mov dword [ebp - 0x1c], 0 -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov eax, dword [ebp - 0x1c] add esp, 0x10 test eax, eax @@ -1061,7 +1070,7 @@ push eax push 0 push 0 push ref_0002919c ; push 0x2919c -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d add esp, 0x20 mov dword [ebp - 0x3c], eax call fcn_00015480 ; call 0x15480 @@ -1573,7 +1582,7 @@ push 0 push 0 push ref_000290cc ; push 0x290cc mov dword [ebp - 0x20], 0 -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov ebx, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -2432,8 +2441,8 @@ lea eax, [ebp - 0x20] push eax push 0 push 0 -push ref_000291dc ; push 0x291dc -call fcn_0001975d ; call 0x1975d +push refcode_ppi_guid ; push 0x291dc +call refcode_locate_ppi ; call 0x1975d mov ebx, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -2860,7 +2869,7 @@ push eax push 0 push 0 push ref_000290cc ; push 0x290cc -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov esi, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -3212,7 +3221,7 @@ push eax push 0 push 0 push ref_000291ac ; push 0x291ac -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d add esp, 0x20 mov dword [ebp - 0x2c], eax call fcn_00015480 ; call 0x15480 @@ -3244,7 +3253,7 @@ push eax push 0 push 0 push ref_0002917c ; push 0x2917c -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov dword [ebp - 0x2c], eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -3488,9 +3497,9 @@ lea eax, [ebp - 0x1c] push eax push 0 push 0 -push ref_000291dc ; push 0x291dc +push refcode_ppi_guid ; push 0x291dc mov dword [ebp - 0x2c], edx -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d add esp, 0x20 mov esi, eax call fcn_00015480 ; call 0x15480 @@ -3618,7 +3627,7 @@ push eax push 0 push 0 push ref_000291ac ; push 0x291ac -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov ebx, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -4305,7 +4314,7 @@ push eax push 0 push 0 push ref_000290cc ; push 0x290cc -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov ebx, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -7775,7 +7784,7 @@ push eax push 0 push 0 push ref_000290cc ; push 0x290cc -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov ebx, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -10910,7 +10919,7 @@ push eax push 0 push 0 push ref_0002913c ; push 0x2913c -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov ebx, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -13657,7 +13666,7 @@ push eax push 0 push 0 push ref_000291fc ; push 0x291fc -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov ebx, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -19435,7 +19444,7 @@ push eax push 0 push 0 push ref_0002911c ; push 0x2911c -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d add esp, 0x10 test eax, eax jne short loc_0000beea ; jne 0xbeea @@ -19490,8 +19499,8 @@ lea eax, [ebp - 0x20] push eax push 0 push ebx -push ref_000291dc ; push 0x291dc -call fcn_0001975d ; call 0x1975d +push refcode_ppi_guid ; push 0x291dc +call refcode_locate_ppi ; call 0x1975d add esp, 0x10 test eax, eax je short loc_0000bf36 ; je 0xbf36 @@ -21115,7 +21124,7 @@ push eax push 0 push 0 push ref_0002913c ; push 0x2913c -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov esi, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -22011,7 +22020,7 @@ pop edi pop ebp ret -fcn_0000d87f: +PchInitialize: push ebp mov ebp, esp push edi @@ -22042,8 +22051,8 @@ lea eax, [ebp - 0x20] push eax push 0 push 0 -push ref_000291dc ; push 0x291dc -call fcn_0001975d ; call 0x1975d +push refcode_ppi_guid ; push 0x291dc +call refcode_locate_ppi ; call 0x1975d add esp, 0x20 mov edi, eax call fcn_00015480 ; call 0x15480 @@ -22759,7 +22768,7 @@ pop edi pop ebp ret -fcn_0000e020: +InstallPchInitPpi: push ebp mov ebp, esp push esi @@ -27346,7 +27355,7 @@ push 0 push 0 push ref_0002917c ; push 0x2917c mov dword [ebp - 0x1c], 0 -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov ebx, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -28652,7 +28661,7 @@ push eax push 0 push 0 push ref_000291bc ; push 0x291bc -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d add esp, 0x10 mov ebx, eax test eax, eax @@ -30759,7 +30768,7 @@ push 0 push ebx push ref_0002912c ; push 0x2912c mov dword [ebp - 0x1c], 0 -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d add esp, 0x10 test eax, eax jne short loc_00012e18 ; jne 0x12e18 @@ -36378,7 +36387,7 @@ loc_00016432: ; not directly referenced pop ebp ret -fcn_00016434: +refcode_init: push ebp mov ebp, esp push ebx @@ -42461,7 +42470,7 @@ call dword [edx + 0x1c] ; ucall leave ret -fcn_0001975d: +refcode_locate_ppi: push ebp mov ebp, esp sub esp, 8 @@ -44247,7 +44256,7 @@ push eax push 0 push 0 push ref_000290bc ; push 0x290bc -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d mov ebx, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -45265,8 +45274,8 @@ lea eax, [ebp - 0xc] push eax push 0 push 0 -push ref_000291dc ; push 0x291dc -call fcn_0001975d ; call 0x1975d +push refcode_ppi_guid ; push 0x291dc +call refcode_locate_ppi ; call 0x1975d mov esi, eax call fcn_00015480 ; call 0x15480 add esp, 0x10 @@ -46377,7 +46386,7 @@ push 0 push 0 push 0 push ref_0002909c ; push 0x2909c -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d add esp, 0x10 test eax, eax jne short loc_0001ba89 ; jne 0x1ba89 @@ -46402,7 +46411,7 @@ push edi push 0 push ebx push ref_0002915c ; push 0x2915c -call fcn_0001975d ; call 0x1975d +call refcode_locate_ppi ; call 0x1975d add esp, 0x10 mov esi, eax test eax, eax @@ -49997,7 +50006,7 @@ loc_0001e035: mov eax, dword [ebp - 0x20] xor edi, edi mov dword [eax], 0x80000010 -mov dword [eax + 4], ref_000291dc ; mov dword [eax + 4], 0x291dc +mov dword [eax + 4], refcode_ppi_guid ; mov dword [eax + 4], 0x291dc mov dword [eax + 8], ebx lea eax, [ebx + 0x284] mov byte [ebx], 0xc @@ -55790,8 +55799,8 @@ dd 0x0118f618 ref_00026f5c: dd 0x00000020 -dd ref_000291dc -dd fcn_0000d87f +dd refcode_ppi_guid +dd PchInitialize dd 0x80000040 dd ref_0002909c dd fcn_0000be41 @@ -58122,7 +58131,7 @@ dd 0x4547693e dd 0x822100a3 dd 0xb220a43c -ref_000291dc: +refcode_ppi_guid: dd 0x50031131 dd 0x43ef4f24 dd 0x3773afb7 -- cgit v1.2.3