diff options
-rw-r--r-- | src/northbridge/intel/haswell/mrc.asm | 26 | ||||
-rw-r--r-- | src/northbridge/intel/haswell/mrc_misc.c | 16 | ||||
-rw-r--r-- | src/northbridge/intel/haswell/mrc_misc.h | 1 |
3 files changed, 18 insertions, 25 deletions
diff --git a/src/northbridge/intel/haswell/mrc.asm b/src/northbridge/intel/haswell/mrc.asm index 4ffd451bc5..9407cc9e6e 100644 --- a/src/northbridge/intel/haswell/mrc.asm +++ b/src/northbridge/intel/haswell/mrc.asm @@ -70,7 +70,6 @@ extern locate_hob extern fcn_fffa1d20 global fcn_fffa56ac global fcn_fffa7e71 -global fcn_fffa7e78 global fcn_fffa7ecd global fcn_fffa8fb6 global fcn_fffa9196 @@ -224,6 +223,7 @@ extern frag_fffa5810 extern frag_fffa58f7 extern wait_5030 extern wait_5084 +global fcn_fffab1b6 ;; mrc_entry: @@ -4613,30 +4613,6 @@ mov ebp, esp pop ebp ret -fcn_fffa7e78: ; not directly referenced -push ebp -mov ebp, esp -lea esp, [esp - 8] -mov eax, dword [ebp + 8] -mov edx, dword [eax + 0x103f] -mov dword [edx + 0x5f08], 0x14 -cmp dword [eax + 0x297c], 2 -jne short loc_fffa7eab ; jne 0xfffa7eab -mov edx, dword [eax + 0x103f] -mov dword [edx + 0x48a8], 0x3000 - -loc_fffa7eab: ; not directly referenced -cmp dword [eax + 0x3cc3], 2 -jne short loc_fffa7ec4 ; jne 0xfffa7ec4 -mov edx, dword [eax + 0x103f] -mov dword [edx + 0x48b0], 0x3000 - -loc_fffa7ec4: ; not directly referenced -call fcn_fffab1b6 ; call 0xfffab1b6 -xor eax, eax -leave -ret - fcn_fffa7ecd: ; not directly referenced push ebp xor ecx, ecx diff --git a/src/northbridge/intel/haswell/mrc_misc.c b/src/northbridge/intel/haswell/mrc_misc.c index ac0d8bf574..f2ae37ec4a 100644 --- a/src/northbridge/intel/haswell/mrc_misc.c +++ b/src/northbridge/intel/haswell/mrc_misc.c @@ -1645,3 +1645,19 @@ int MRCABI wait_5084(void *ramdata) } while (ts < end_ts); return 0x11; } + +void MRCABI fcn_fffab1b6(void*); +int fcn_fffa7e78(void *ramdata) +{ + PRINT_FUNC; + + MCHBAR32(0x5f08) = 0x14; + if (*(int *)(ramdata + 0x297c) == 2) { + MCHBAR32(0x48a8) = 0x3000; + } + if (*(int *)(ramdata + 0x3cc3) == 2) { + MCHBAR32(0x48b0) = 0x3000; + } + fcn_fffab1b6(ramdata); + return 0; +} diff --git a/src/northbridge/intel/haswell/mrc_misc.h b/src/northbridge/intel/haswell/mrc_misc.h index 6dc54df413..20a7c1a482 100644 --- a/src/northbridge/intel/haswell/mrc_misc.h +++ b/src/northbridge/intel/haswell/mrc_misc.h @@ -58,3 +58,4 @@ int fcn_fffa7a1c(void *ramdata); int fcn_fffc7720(void *ramdata); int MRCABI wait_5030(void *ramdata); int MRCABI wait_5084(void *ramdata); +int fcn_fffa7e78(void *ramdata); |