diff options
-rw-r--r-- | src/northbridge/intel/haswell/do_raminit_frag.c | 11 | ||||
-rw-r--r-- | src/northbridge/intel/haswell/mrc.asm | 20 |
2 files changed, 17 insertions, 14 deletions
diff --git a/src/northbridge/intel/haswell/do_raminit_frag.c b/src/northbridge/intel/haswell/do_raminit_frag.c index 767936876b..7d9ebc0c33 100644 --- a/src/northbridge/intel/haswell/do_raminit_frag.c +++ b/src/northbridge/intel/haswell/do_raminit_frag.c @@ -689,3 +689,14 @@ loc_fffa4564: } return typ; } + +uint32_t __attribute((regparm(3))) +fcn_fffa0516(uint32_t mchbar, uint32_t a0, uint32_t a1, uint32_t a2); + +void frag_fffa47f0(uint32_t mchbar); +void frag_fffa47f0(uint32_t mchbar) +{ + uint32_t tmp = fcn_fffa0516(mchbar, 0xc008018, 0x22, 0); + tmp = (tmp & 0xffffe1ff) | 0x0c00; + fcn_fffa0516(mchbar, 0xc008018, 0x23, tmp); +} diff --git a/src/northbridge/intel/haswell/mrc.asm b/src/northbridge/intel/haswell/mrc.asm index ac2d79dd2a..7bc2d00dcc 100644 --- a/src/northbridge/intel/haswell/mrc.asm +++ b/src/northbridge/intel/haswell/mrc.asm @@ -164,6 +164,8 @@ global ref_fffcc910 extern frag_fffa3fd4 extern frag_fffa3a17 extern frag_fffa4507 +extern frag_fffa47f0 +global fcn_fffa0516 ;; mrc_wdt @@ -2685,21 +2687,11 @@ or eax, 0x600000 mov dword [ebx + 0x82c], eax loc_fffa47f0: -sub esp, 0xc -mov ecx, 0x22 -push 0 -mov edx, 0xc008018 -mov eax, dword [ebp - 0x648] -call fcn_fffa0516 ; call 0xfffa0516 -and ah, 0xe1 -mov ecx, 0x23 -or ah, 0xc -mov edx, 0xc008018 -mov dword [esp], eax -mov eax, dword [ebp - 0x648] -call fcn_fffa0516 ; call 0xfffa0516 +push dword [ebp - 0x648] +call frag_fffa47f0 +add esp, 4 + mov esi, 0xc008018 -add esp, 0x10 mov byte [ebp - 0x65a], 0x23 mov byte [ebp - 0x659], 0x22 jmp short loc_fffa4853 ; jmp 0xfffa4853 |