diff options
author | raywu <raywu@aaeon.com> | 2018-07-13 10:48:40 +0800 |
---|---|---|
committer | raywu <raywu@aaeon.com> | 2018-07-13 10:48:40 +0800 |
commit | 8bc1f035af82a00ae00a671c552b2a3ad72d293a (patch) | |
tree | e63af6411b4baa172a50d0a0bf4df2843daf3f25 /Board/EM/AAEONSecurity/AAEONSecurity.c | |
parent | 2ad78921787246e588a1747b85a9b5909d1159f0 (diff) | |
download | zprj-8bc1f035af82a00ae00a671c552b2a3ad72d293a.tar.xz |
Add Legacy Security String '$$IEI-SA93$$'
Diffstat (limited to 'Board/EM/AAEONSecurity/AAEONSecurity.c')
-rw-r--r-- | Board/EM/AAEONSecurity/AAEONSecurity.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Board/EM/AAEONSecurity/AAEONSecurity.c b/Board/EM/AAEONSecurity/AAEONSecurity.c new file mode 100644 index 0000000..3946c4b --- /dev/null +++ b/Board/EM/AAEONSecurity/AAEONSecurity.c @@ -0,0 +1,45 @@ +#include <EFI.h> +#include <Token.h> +#include <AmiDxeLib.h> +#include <Protocol\LegacyRegion.h> + +//---------------------------------------------------------------------------- +// Description: InstallSecurityString +//---------------------------------------------------------------------------- +EFI_STATUS InstallSecurityString() +{ + EFI_GUID gEfiLegacyRegionProtocol = EFI_LEGACY_REGION_PROTOCOL_GUID; + EFI_LEGACY_REGION_PROTOCOL *LegacyRegionProtocol; + UINTN NumberOfHandles; + EFI_HANDLE *HandleBuffer; + EFI_STATUS Status; + + CHAR8 SIGNATURE_STR1[] = {0x22, 0x34, 0x03, 0x98, "AAEON Technology Inc."}; + CHAR8 SIGNATURE_STR2[] = CONVERT_TO_STRING(SIGNATURE_MODEL_TAG); + + //F0000-F1000 unlock + Status = pBS->LocateHandleBuffer ( ByProtocol, &gEfiLegacyRegionProtocol, NULL, &NumberOfHandles, &HandleBuffer ); + Status = pBS->HandleProtocol ( HandleBuffer[0], &gEfiLegacyRegionProtocol, &LegacyRegionProtocol); + pBS->FreePool(HandleBuffer); + Status = LegacyRegionProtocol->UnLock(LegacyRegionProtocol, 0xF0000, 0x10000, NULL); + +// pBS->CopyMem((VOID*)(SIGNATURE_ADDRESS1), SIGNATURE_STR1, sizeof (SIGNATURE_STR1) ); + pBS->CopyMem((VOID*)(SIGNATURE_ADDRESS2), SIGNATURE_STR2, sizeof (SIGNATURE_STR2) ); + + Status = LegacyRegionProtocol->Lock(LegacyRegionProtocol, 0xF0000, 0x10000, NULL); + + return Status; +} + +//---------------------------------------------------------------------------- +// Description: AAEONSecurityEntryPoint +//---------------------------------------------------------------------------- +EFI_STATUS AAEONSecurityEntryPoint( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable +) +{ + InitAmiLib(ImageHandle, SystemTable); + + return InstallSecurityString(); +} |