summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2018-12-21 00:27:19 +0800
committerIru Cai <mytbk920423@gmail.com>2019-11-17 15:10:43 +0800
commit606a1877dfbb8e945232d63d4e9f68145a2e0296 (patch)
tree7a52640a1910515258a3fd4d6d9841f93c93c71e
parentf3e6ca0cb092ffeecdf0b2b9ecb8e9fa7bba4279 (diff)
downloadcoreboot-606a1877dfbb8e945232d63d4e9f68145a2e0296.tar.xz
PeiServiceNotifyPpi
-rw-r--r--src/northbridge/intel/haswell/mrc.asm17
-rw-r--r--src/northbridge/intel/haswell/mrc_pei.h2
-rw-r--r--src/northbridge/intel/haswell/pei_svc.c7
3 files changed, 12 insertions, 14 deletions
diff --git a/src/northbridge/intel/haswell/mrc.asm b/src/northbridge/intel/haswell/mrc.asm
index 2f26ccf811..6dcd1bf44d 100644
--- a/src/northbridge/intel/haswell/mrc.asm
+++ b/src/northbridge/intel/haswell/mrc.asm
@@ -36,6 +36,7 @@ extern PeiGetBootMode
extern PeiGetHobList
extern PeiCreateHob
extern PeiServiceGetBootMode
+extern PeiServiceNotifyPpi
extern PchMeUmaDesc
@@ -4836,7 +4837,7 @@ mov eax, dword [edx + 0x5f00]
or eax, 1
mov dword [edx + 0x5f00], eax
mov eax, ref_fffcc904 ; mov eax, 0xfffcc904
-call fcn_fffbf91e ; call 0xfffbf91e
+call PeiServiceNotifyPpi
lea eax, [ebp - 0x5e8]
call PeiServiceGetBootMode ; call 0xfffbf908
test eax, eax
@@ -4844,7 +4845,7 @@ jne short loc_fffa54e7 ; jne 0xfffa54e7
cmp dword [ebp - 0x5e8], 0x11
jne short loc_fffa54e7 ; jne 0xfffa54e7
mov eax, ref_fffcd554 ; mov eax, 0xfffcd554
-call fcn_fffbf91e ; call 0xfffbf91e
+call PeiServiceNotifyPpi
loc_fffa54e7:
mov ecx, dword [ebp - 0x640]
@@ -37160,18 +37161,6 @@ pop edi
pop ebp
ret
-fcn_fffbf91e:
-push ebp
-mov ebp, esp
-lea esp, [esp - 0x10]
-mov edx, dword [0xff7d7538]
-mov ecx, dword [edx]
-push eax
-push edx
-call dword [ecx + 0x24] ; ucall
-leave
-ret
-
fcn_fffbf934: ; not directly referenced
push ebp
mov ebp, esp
diff --git a/src/northbridge/intel/haswell/mrc_pei.h b/src/northbridge/intel/haswell/mrc_pei.h
index 536daa0054..2574028787 100644
--- a/src/northbridge/intel/haswell/mrc_pei.h
+++ b/src/northbridge/intel/haswell/mrc_pei.h
@@ -179,5 +179,7 @@ int EFIAPI PeiCreateHob(const EFI_PEI_SERVICES **PeiServices,
int EFIAPI PeiGetHobList(const EFI_PEI_SERVICES **PeiServices, void **HobList);
int __attribute((regparm(1))) PeiServiceGetBootMode(int *BootMode);
+int __attribute((regparm(1)))
+PeiServiceNotifyPpi(const EFI_PEI_NOTIFY_DESCRIPTOR *NotifyList);
#endif
diff --git a/src/northbridge/intel/haswell/pei_svc.c b/src/northbridge/intel/haswell/pei_svc.c
index af52ac1d95..c479bb1bcf 100644
--- a/src/northbridge/intel/haswell/pei_svc.c
+++ b/src/northbridge/intel/haswell/pei_svc.c
@@ -130,3 +130,10 @@ int __attribute((regparm(1))) PeiServiceGetBootMode(int *BootMode)
const EFI_PEI_SERVICES **pps = *gpPei;
return (*pps)->GetBootMode(pps, BootMode);
}
+
+int __attribute((regparm(1)))
+PeiServiceNotifyPpi(const EFI_PEI_NOTIFY_DESCRIPTOR *NotifyList)
+{
+ const EFI_PEI_SERVICES **pps = *gpPei;
+ return (*pps)->NotifyPpi(pps, NotifyList);
+}