diff options
Diffstat (limited to 'Board/EM/Pfat/PfatPubKeysAndBuildPSL')
-rw-r--r-- | Board/EM/Pfat/PfatPubKeysAndBuildPSL/.VkeyExp | bin | 0 -> 4 bytes | |||
-rw-r--r-- | Board/EM/Pfat/PfatPubKeysAndBuildPSL/BuildAmiPfatHeader.exe | bin | 0 -> 65024 bytes | |||
-rw-r--r-- | Board/EM/Pfat/PfatPubKeysAndBuildPSL/BuildPSL.bat | 315 | ||||
-rw-r--r-- | Board/EM/Pfat/PfatPubKeysAndBuildPSL/CutRom.exe | bin | 0 -> 59392 bytes | |||
-rw-r--r-- | Board/EM/Pfat/PfatPubKeysAndBuildPSL/PPB.exe | bin | 0 -> 171928 bytes | |||
-rw-r--r-- | Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatCertHeader.bin | bin | 0 -> 8 bytes | |||
-rw-r--r-- | Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatCryptoCon.exe | bin | 0 -> 126976 bytes | |||
-rw-r--r-- | Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatPubKeysAndBuildPSL.cif | 19 | ||||
-rw-r--r-- | Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatPubKeysAndBuildPSL.mak | 105 | ||||
-rw-r--r-- | Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatPubKeysAndBuildPSL.sdl | 265 | ||||
-rw-r--r-- | Board/EM/Pfat/PfatPubKeysAndBuildPSL/dummy.bin | 1 | ||||
-rw-r--r-- | Board/EM/Pfat/PfatPubKeysAndBuildPSL/keygen.exe | bin | 0 -> 122880 bytes | |||
-rw-r--r-- | Board/EM/Pfat/PfatPubKeysAndBuildPSL/psl2bin.exe | bin | 0 -> 214424 bytes |
13 files changed, 705 insertions, 0 deletions
diff --git a/Board/EM/Pfat/PfatPubKeysAndBuildPSL/.VkeyExp b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/.VkeyExp Binary files differnew file mode 100644 index 0000000..a356872 --- /dev/null +++ b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/.VkeyExp diff --git a/Board/EM/Pfat/PfatPubKeysAndBuildPSL/BuildAmiPfatHeader.exe b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/BuildAmiPfatHeader.exe Binary files differnew file mode 100644 index 0000000..0bb57ac --- /dev/null +++ b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/BuildAmiPfatHeader.exe diff --git a/Board/EM/Pfat/PfatPubKeysAndBuildPSL/BuildPSL.bat b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/BuildPSL.bat new file mode 100644 index 0000000..8337d0c --- /dev/null +++ b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/BuildPSL.bat @@ -0,0 +1,315 @@ +echo off +Set AMI_PFAT_FLASH_CONFIGURATIONS=Flash.ini +echo AMI_PFAT_Flash_Configurations>%AMI_PFAT_FLASH_CONFIGURATIONS% +Set FITC_OUTIMAGE_MAP=%1 +Set BuildBIOSMap=%2 +Set WORKING_PATH=%3 +Set BIOS_SVN=%4 +Set /a FlashSectionSize=%5 +if not exist %FITC_OUTIMAGE_MAP% ( + echo Error:OutImage.map isn't found, please check the eModule of RomImgae + goto END +) +if not exist %BuildBIOSMap% ( + echo Error:BuildBIOS.map isn't found, please check the PfatPubKeysAndBuildPSL.sdl + goto END +) +if not exist ForPfatName.txt ( + echo Error:ForPfatName.txt isn't found, please check the eModule of RomImgae + goto END +) +FOR /F "usebackq tokens=1" %%G IN ("ForPfatName.txt") DO ( + Set INPUT_BIOS_IMAGE=%%G +) +del ForPfatName.txt +FOR /F "skip=2 usebackq tokens=1,2,3,4-6" %%G IN ("%FITC_OUTIMAGE_MAP%") DO ( + if "%%J %%K %%L" EQU "Flash Image " ( + Set /a TOTAL_ROM_SIZE=0x%%I + )else if "%%J %%K %%L" EQU "Descriptor Region " ( + Set /a DescriptorRegionStartingAddress=0x%%G + Set /a DescriptorRegionLength=0x%%I + )else if "%%J %%K %%L" EQU "GbE Region " ( + Set /a GbERegionStartingAddress=0x%%G + Set /a GbERegionLength=0x%%I + )else if "%%J %%K %%L" EQU "ME Region " ( + Set /a MERegionStartingAddress=0x%%G + Set /a MERegionLength=0x%%I + )else if "%%J %%K %%L" EQU "BIOS Region " ( + Set /a BIOSRegionStartingAddress=0x%%G + Set /a BIOSRegionLength=0x%%I + ) +) +goto Define_Flash_Type + +:Define_Flash_Type +Set MeType=0 +Set BiosType=1 +Set EcType=2 +Set OthersType=3 +goto Prepare_Definitions + +:Prepare_Definitions +Set DESCRIPTOR_REGION_ROM=DescriptorRegion.bin +Set GBE_REGION_ROM=GbERegion.bin +Set ME_REGION_ROM=MERegion.bin +Set PUBLIC_KEY_FILENAME=%WORKING_PATH%\PfatPublic.key +Set PRIVATE_KEY_FILENAME=%WORKING_PATH%\PfatPrivate.key +Set PFAT_VKEY_EXP=%WORKING_PATH%\.VkeyExp +Set PUBLIC_KEY_FILENAME_HASH=%WORKING_PATH%\PubKeyhash.bin +Set PFATCRYPTCON=%WORKING_PATH%\PfatCryptoCon.exe +Set KEYGEN=%WORKING_PATH%\Keygen.exe +Set CUTROM=%WORKING_PATH%\CutRom.exe +Set PSL2BIN=%WORKING_PATH%\psl2bin.exe +Set PPB=%WORKING_PATH%\PPB.exe +Set PSL_FILE=AmiPfatBiosPSL +Set PFAT_SCRIPT_HDR=%WORKING_PATH%\PfatCertHeader.bin +Set PFAT_UPDATEPKG_FILENAME=UpdatePkg.pfat +Set PFAT_SIGNATURE_FILENAME=.out_PfatCer +Set PFAT_INTREGRATION_ROM=AMIPFAT.bin +Set AMI_PFAT_HEADER=%WORKING_PATH%\AMIPFATHeader.bin +%WORKING_PATH%\BuildAmiPfatHeader.exe /Empty %AMI_PFAT_HEADER% +copy %AMI_PFAT_HEADER% %PFAT_INTREGRATION_ROM% +goto BUILD_DESCRIPTOR_REGION_ROM + +:BUILD_DESCRIPTOR_REGION_ROM + Set ROM_PRIORITY=%DESCRIPTOR_REGION_ROM% + Set /a FV_StartingAddress=%DescriptorRegionStartingAddress% + Set /a FV_Length=%DescriptorRegionLength% + goto SETUP_PARAMETERS + +:BUILD_GBE_REGION_ROM + Set ROM_PRIORITY=%GBE_REGION_ROM% + Set /a FV_StartingAddress=%GbERegionStartingAddress% + Set /a FV_Length=%GbERegionLength% + goto SETUP_PARAMETERS + +:BUILD_ME_REGION_ROM + Set ROM_PRIORITY=%ME_REGION_ROM% + Set /a FV_StartingAddress=%MERegionStartingAddress% + Set /a FV_Length=%MERegionLength% + goto SETUP_PARAMETERS + +:BUILD_BIOS_REGION_ROM_FIRST_FV + Set /a BIOS_FV_Number=0 + FOR /F "usebackq tokens=1-4" %%G IN ("%BuildBIOSMap%") DO ( + Set ROM_PRIORITY=%%G + Set FlashCMD=%%H + Set /a FV_StartingAddress=%BIOSRegionStartingAddress%+%%I + Set /a FV_Length=%%J + goto SETUP_PARAMETERS + ) + goto BuildAmiPfatHeader + +:BUILD_BIOS_REGION_ROM_REMAINDER + Set /a BIOS_FV_Number+=1 + FOR /F "skip=%BIOS_FV_Number% usebackq tokens=1-4" %%G IN ("%BuildBIOSMap%") DO ( + Set ROM_PRIORITY=%%G + Set FlashCMD=%%H + Set /a FV_StartingAddress=%BIOSRegionStartingAddress%+%%I + Set /a FV_Length=%%J + goto SETUP_PARAMETERS + ) + goto BuildAmiPfatHeader + +:SETUP_PARAMETERS + %CUTROM% %INPUT_BIOS_IMAGE% %ROM_PRIORITY% %FV_StartingAddress% %FV_Length% + Set /a FlashRemainderSize=%FV_Length%%%FlashSectionSize% + Set /a SUBTRACT_BLOCK_SIZE_FROM_DATA_SIZE=%FlashSectionSize%-0x1000 + Set /a START_COUNT=0 + Set /a NoRemainderCount=%FV_Length%/%FlashSectionSize% + if %NoRemainderCount% GTR 0 ( + Set /a NoRemainderCount-=1 + Set /a SKIP_CUT_ROM=1 + ) else ( + Set /a SKIP_CUT_ROM=0 + ) + if %FlashRemainderSize% EQU 0 ( + Set /a END_COUNT=%FV_Length%/%FlashSectionSize%-1 + ) else ( + Set /a END_COUNT=%FV_Length%/%FlashSectionSize% + ) + Set /a END_OF_SIZE=%FV_StartingAddress%+%FV_Length% + goto AutoBuildPSL + +:AutoBuildPSL + Set /a START_FLASH_SECTION=%START_COUNT%*%FlashSectionSize% + Set /a START_FLASH_SECTION_IN_MB=%START_FLASH_SECTION%/%FlashSectionSize% + Set FLASH_ROM=AMI_%START_FLASH_SECTION_IN_MB%M.rom + Set PSL_OUT_FILENAME=AmiPfatBiosPSLOutput_%START_FLASH_SECTION_IN_MB%M.bin + Set FLASH_ROM_OUTPUT_FILENAME=APFAT%START_FLASH_SECTION_IN_MB%M.bin + Set /a SUBTRACT_BLOCK_SIZE_FROM_TOTAL_ROM_SIZE=%FV_StartingAddress% + Set /a CURRENT_SIZE=%START_COUNT%+1 + Set /a CURRENT_SIZE*=%FlashSectionSize% + Set /a CURRENT_SIZE-=0x1000 + if %SKIP_CUT_ROM% EQU 1 ( + if %NoRemainderCount% GEQ %START_COUNT% ( + %CUTROM% %ROM_PRIORITY% %FLASH_ROM% %START_FLASH_SECTION% %FlashSectionSize% + Set /a SUBTRACT_BLOCK_SIZE_FROM_TOTAL_ROM_SIZE+=%CURRENT_SIZE% + ) else ( + %CUTROM% %ROM_PRIORITY% %FLASH_ROM% %START_FLASH_SECTION% %FlashRemainderSize% + Set /a SUBTRACT_BLOCK_SIZE_FROM_TOTAL_ROM_SIZE=%END_OF_SIZE%-0x1000 + Set /a SUBTRACT_BLOCK_SIZE_FROM_DATA_SIZE=%FlashRemainderSize%-0x1000 + ) + ) else ( + Set FLASH_ROM=%ROM_PRIORITY% + Set /a SUBTRACT_BLOCK_SIZE_FROM_TOTAL_ROM_SIZE=%END_OF_SIZE%-0x1000 + Set /a SUBTRACT_BLOCK_SIZE_FROM_DATA_SIZE=%FlashRemainderSize%-0x1000 + ) + echo begin > %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo // Set up initial values for update process >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo set F0 %SUBTRACT_BLOCK_SIZE_FROM_TOTAL_ROM_SIZE%; Total ROM size >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo set B0 %SUBTRACT_BLOCK_SIZE_FROM_DATA_SIZE%; Data size >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo set I0 0; the offset count >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo set I1 0x1000; the FLASH BLOCK SIZE >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo set I2 0; Erase error count >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo set I3 0; Write error count >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo set I4 3; Max errors >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo set I5 0; Error Code Buffer >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo set I6 0; Read error count >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jmp _read; >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo _read_retry_label: >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo add I6 1; increment the read retries count >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo compare I6 I4; compare read retries count to max retries >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jge _read_error_label >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jmp _read; if error START_COUNT is smaller than Max errors jump to read>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo _erase_retry_label: >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo add I2 1; increment the erase retries count >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo compare I2 I4; compare erase retries count to max retries >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jge _erase_error_label >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jmp _erase; if error START_COUNT is smaller than Max errors jump to erase >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo _write_retry_label: >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo add I3 1; increment the write retries count >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo compare I3 I4; compare write retries count to max retries >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jge _write_error_label >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jmp _write; if error START_COUNT is smaller than Max errors jump to weite>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo _loop: >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo _read: >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo read B1 F0 I1; read block 4KB >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo rdsts I5; read the HW status into I5 >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo compare I5 0; >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jne _read_retry_label; if HW status != 0 jump to retry >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo compare B0 B1 I1; compare B0 vs B1 >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo je _skip_erase_and_write; if B0 == B1 skip erase and write >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo _erase: >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo eraseblk F0; erase block 4KB >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo rdsts I5; read the HW status into I5 >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo compare I5 0; >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jne _erase_retry_label; if HW status != 0 jump to retry >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo _write: >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo write F0 B0 I1; write block >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo rdsts I5; read the HW status into I5 >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo compare I5 0; >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jne _write_retry_label; if HW status != 0 jump to retry >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo _skip_erase_and_write: >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo add I0 I1; increment offset >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo // check if we reached the end of the buffer. We can't increment F0.offset and B0.offset to be more than BIOS size. >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + if %SKIP_CUT_ROM% EQU 1 ( + if %NoRemainderCount% GEQ %START_COUNT% ( + echo compare I0 %FlashSectionSize%; compare count with BIOS image size >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jge _end; if the count is greater or equal to %FlashSectionSize% then complete >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + ) else ( + echo compare I0 %FlashRemainderSize%; compare count with BIOS image size >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jge _end; if the count is greater or equal to %FlashRemainderSize% then complete >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + ) + ) else ( + echo compare I0 %FlashRemainderSize%; compare count with BIOS image size >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jge _end; if the count is greater or equal to %FlashRemainderSize% then complete >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + ) + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo //Sub 4KB to offsets >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo sub F0 I1; Decrement flash offset >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo sub B0 I1; Decrement buffer offset >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jmp _loop; work on the next block >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo _read_error_label: >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo set If 1; set error in If >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jmp _end; >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo _erase_error_label: >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo set If 2; set error in If >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo jmp _end; >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo _write_error_label: >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo set If 3; set error in If >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo _end: >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo set If 0; set error = 0 if success >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + echo.>> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + echo end >> %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl + + %PSL2BIN% %PSL_FILE%_%START_FLASH_SECTION_IN_MB%M.psl %PSL_OUT_FILENAME% + %PPB% -script %PSL_OUT_FILENAME% -data %FLASH_ROM% -package %PFAT_UPDATEPKG_FILENAME% -use_sfam true -bios_svn %BIOS_SVN% + %PFATCRYPTCON% -z -k %PRIVATE_KEY_FILENAME% -f %PFAT_UPDATEPKG_FILENAME% -s + copy /b %PFAT_UPDATEPKG_FILENAME% + %PFAT_SCRIPT_HDR% + %PFAT_SIGNATURE_FILENAME% %FLASH_ROM_OUTPUT_FILENAME% + if exist .out_key ( + del .out_key + ) + del .out_PfatCer + del %PFAT_UPDATEPKG_FILENAME% + if %START_COUNT% EQU %END_COUNT% goto FinishedAutoBuildPSL + Set /a START_COUNT+=1 + goto AutoBuildPSL + +:FinishedAutoBuildPSL + Set /a START_COUNT=0 +:IntegrateAllROMs + Set /a START_FLASH_SECTION=%START_COUNT%*%FlashSectionSize% + Set /a START_FLASH_SECTION_IN_MB=%START_FLASH_SECTION%/%FlashSectionSize% + copy /b %PFAT_INTREGRATION_ROM%+APFAT%START_FLASH_SECTION_IN_MB%M.bin %PFAT_INTREGRATION_ROM% + del APFAT%START_FLASH_SECTION_IN_MB%M.bin + del AmiPfatBiosPSLOutput_%START_FLASH_SECTION_IN_MB%M.bin + if exist AMI_%START_FLASH_SECTION_IN_MB%M.rom ( + del AMI_%START_FLASH_SECTION_IN_MB%M.rom + ) + if %START_COUNT% EQU %END_COUNT% goto FinishedIntegrateAllROMs + Set /a START_COUNT+=1 + goto IntegrateAllROMs + +:FinishedIntegrateAllROMs + del *.psl + Set /a END_COUNT+=1 + del %ROM_PRIORITY% + if "%ROM_PRIORITY%" EQU "%DESCRIPTOR_REGION_ROM%" ( + echo %MeType% /DESC %END_COUNT% ;%ROM_PRIORITY%>>%AMI_PFAT_FLASH_CONFIGURATIONS% + goto BUILD_GBE_REGION_ROM + ) + if "%ROM_PRIORITY%" EQU "%GBE_REGION_ROM%" ( + echo %MeType% /GBE %END_COUNT% ;%ROM_PRIORITY%>>%AMI_PFAT_FLASH_CONFIGURATIONS% + goto BUILD_ME_REGION_ROM + ) + if "%ROM_PRIORITY%" EQU "%ME_REGION_ROM%" ( + echo %MeType% /ME %END_COUNT% ;%ROM_PRIORITY%>>%AMI_PFAT_FLASH_CONFIGURATIONS% + goto BUILD_BIOS_REGION_ROM_FIRST_FV + ) + echo %BiosType% %FlashCMD% %END_COUNT% ;%ROM_PRIORITY%>>%AMI_PFAT_FLASH_CONFIGURATIONS% + goto BUILD_BIOS_REGION_ROM_REMAINDER + +:BuildAmiPfatHeader + %WORKING_PATH%\BuildAmiPfatHeader.exe %AMI_PFAT_FLASH_CONFIGURATIONS% %AMI_PFAT_HEADER% + copy /b %AMI_PFAT_HEADER%+%PFAT_INTREGRATION_ROM% AMIPFAT_%INPUT_BIOS_IMAGE% + del %AMI_PFAT_HEADER% + del %PFAT_INTREGRATION_ROM% +:END
\ No newline at end of file diff --git a/Board/EM/Pfat/PfatPubKeysAndBuildPSL/CutRom.exe b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/CutRom.exe Binary files differnew file mode 100644 index 0000000..910e46c --- /dev/null +++ b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/CutRom.exe diff --git a/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PPB.exe b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PPB.exe Binary files differnew file mode 100644 index 0000000..a7f27a9 --- /dev/null +++ b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PPB.exe diff --git a/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatCertHeader.bin b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatCertHeader.bin Binary files differnew file mode 100644 index 0000000..1d9374d --- /dev/null +++ b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatCertHeader.bin diff --git a/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatCryptoCon.exe b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatCryptoCon.exe Binary files differnew file mode 100644 index 0000000..8914a6f --- /dev/null +++ b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatCryptoCon.exe diff --git a/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatPubKeysAndBuildPSL.cif b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatPubKeysAndBuildPSL.cif new file mode 100644 index 0000000..1dfa1b8 --- /dev/null +++ b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatPubKeysAndBuildPSL.cif @@ -0,0 +1,19 @@ +<component> + name = "PfatPubKeysAndBuildPSL" + category = ModulePart + LocalRoot = "Board\EM\Pfat\PfatPubKeysAndBuildPSL" + RefName = "PfatPubKeysAndBuildPSL" +[files] +"PfatPubKeysAndBuildPSL.sdl" +"PfatPubKeysAndBuildPSL.mak" +"dummy.bin" +"PfatCertHeader.bin" +"BuildPSL.bat" +"BuildAmiPfatHeader.exe" +"CutRom.exe" +"keygen.exe" +"PfatCryptoCon.exe" +"PPB.exe" +"psl2bin.exe" +".VkeyExp" +<endComponent> diff --git a/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatPubKeysAndBuildPSL.mak b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatPubKeysAndBuildPSL.mak new file mode 100644 index 0000000..16fad9e --- /dev/null +++ b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatPubKeysAndBuildPSL.mak @@ -0,0 +1,105 @@ +#************************************************************************* +#************************************************************************* +#** ** +#** (C)Copyright 1985-2012, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#************************************************************************* +#************************************************************************* + +#************************************************************************* +# $Header: /Alaska/SOURCE/Modules/SharkBayRefCodes/IntelPfat/PfatUtilsandScripts/PfatPubKeysAndBuildPSL.mak 1 10/29/12 4:04p Fredericko $ +# +# $Revision: 1 $ +# +# $Date: 10/29/12 4:04p $ +#************************************************************************* +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Modules/SharkBayRefCodes/IntelPfat/PfatUtilsandScripts/PfatPubKeysAndBuildPSL.mak $ +# +# 1 10/29/12 4:04p Fredericko +# [TAG] EIP844115 +# [Category] Improvement +# [Description] Added PfatPubKeysAndBuildPSL. Added Tools CutRom for +# stiching PfatImage, BuildAmiPfatHeader for creating Apfatdos header for +# PFAT. +# [Files] PfatPubKeysAndBuildPSL.cif +# PfatPubKeysAndBuildPSL.sdl +# PfatPubKeysAndBuildPSL.mak +# dummy.bin +# BuildPSL.bat +# BuildAmiPfatHeader.exe +# CutRom.exe +# +# 7 9/21/12 5:08p Fredericko +# Modified to use cryptocon and keygen +# +# 4 9/17/12 4:34p Fredericko +# Changes to create PSL at build time. Changes for SignPfat utility error +# during build. +# +# 3 9/10/12 10:52p Fredericko +# +# 2 9/10/12 9:55p Fredericko +# +# 1 9/01/12 2:22a Fredericko +# +#************************************************************************* +#************************************************************************* +#<AMI_FHDR_START> +# +# Name: PfatPubKey.mak +# +# Description: Make for for PfatPubKey +# +# +#<AMI_FHDR_END> +#************************************************************************* +all: PfatPubKeyModule + +PfatPubKeyModule : SETPFATPUBKEY + +PFAT_PUB_KEY_FFS_FILE_GUID = 8E295870-D377-4b75-BFDC-9AE2F6DBDE22 + +SETPFATPUBKEY: $(BUILD_DIR)\PfatPubKey.ffs + +PUBLIC_KEY_FILENAME = $(PFATPUB_DIR)\PfatPublic.key +PRIVATE_KEY_FILENAME = $(PFATPUB_DIR)\PfatPrivate.key +PFAT_VKEY_EXP = $(PFATPUB_DIR)\.VkeyExp +PUBLIC_KEY_FILENAME_HASH = $(PFATPUB_DIR)\PubKeyhash.bin + +PFAT_GENERATE_KEYS: + del $(PUBLIC_KEY_FILENAME_HASH) + if not exist $(PUBLIC_KEY_FILENAME) $(KEYGEN) $(PRIVATE_KEY_FILENAME) $(PUBLIC_KEY_FILENAME) + $(PFATCRYPTCON) -z -w -k $(PRIVATE_KEY_FILENAME) -f $(PFATPUB_DIR)\dummy.bin -s + copy /b .out_key + $(PFAT_VKEY_EXP) $(PUBLIC_KEY_FILENAME_HASH) + $(PFATCRYPTCON) -h2 -f $(PUBLIC_KEY_FILENAME_HASH) -o $(PUBLIC_KEY_FILENAME_HASH) + +PREPARE : PFAT_GENERATE_KEYS + +$(BUILD_DIR)\PfatPubKey.ffs : $(PUBLIC_KEY_FILENAME_HASH) + $(MAKE) /f Core\FFS.mak \ + BUILD_DIR=$(BUILD_DIR) \ + GUID=$(PFAT_PUB_KEY_FFS_FILE_GUID) \ + TYPE=EFI_FV_FILETYPE_FREEFORM \ + BINFILE=$** FFSFILE=$@ COMPRESS=0 NAME=PfatPubKey + +#************************************************************************* +#************************************************************************* +#** ** +#** (C)Copyright 1985-2012, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#************************************************************************* +#************************************************************************* diff --git a/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatPubKeysAndBuildPSL.sdl b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatPubKeysAndBuildPSL.sdl new file mode 100644 index 0000000..21bdb8f --- /dev/null +++ b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/PfatPubKeysAndBuildPSL.sdl @@ -0,0 +1,265 @@ +#********************************************************************** +#********************************************************************** +#** ** +#** (C)Copyright 1985-2012, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#********************************************************************** + +TOKEN + Name = "PfatPubKey_SUPPORT" + Value = "1" + Help = "" + TokenType = Boolean + TargetEQU = Yes + TargetMAK = Yes + Master = Yes +End + +MODULE + File = "PfatPubKeysAndBuildPSL.mak" +End + +TOKEN + Name = "PFATCRYPTCON" + Value = "$(PFATPUB_DIR)\PfatCryptoCon.exe" + TokenType = Expression + TargetMAK = Yes +End + +TOKEN + Name = "KEYGEN" + Value = "$(PFATPUB_DIR)\Keygen.exe" + TokenType = Expression + TargetMAK = Yes +End + +ELINK + Name = "$(BUILD_DIR)\PfatPubKey.ffs" + Parent = "FV_BB" + InvokeOrder = AfterParent +End + +TOKEN + Name = "PfatMaxSectionSize" + Help = "Mega Byte is a unit of section size" + Value = "0x100000" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes +End + +TOKEN + Name = "BIOSStartingAddress" + Help = "" + Value = "0xFFFFFFFF - $(FLASH_SIZE) + 1" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes +End + +TOKEN + Name = "FV_NvRamStartingAddress" + Help = "ROM address" + Value = "$(NVRAM_ADDRESS) - $(BIOSStartingAddress)" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes +End + +TOKEN + Name = "FV_NvRamLength" + Help = "ROM address" + Value = "($(NVRAM_BLOCKS)*$(FLASH_BLOCK_SIZE))*2" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes +End + +TOKEN + Name = "FV_OAStartingAddress" + Help = "ROM address" + Value = "$(OEM_ACTIVATION_TABLE_ADDRESS) - $(BIOSStartingAddress)" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes + Token = "OEM_ACTIVATION_TABLE_LOCATION" "=" "1" +End + +TOKEN + Name = "FV_OA_Length" + Help = "ROM address" + Value = "$(OEM_ACTIVATION_TABLE_SIZE)" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes + Token = "OEM_ACTIVATION_TABLE_LOCATION" "=" "1" +End + +TOKEN + Name = "FV_DataStartingAddress" + Help = "ROM address" + Value = "$(FV_DATA_BASE) - $(BIOSStartingAddress)" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes +End + +TOKEN + Name = "FV_DataLength" + Help = "ROM address" + Value = "$(FV_DATA_SIZE)" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes +End + +TOKEN + Name = "FV_MainStartingAddress" + Help = "ROM address" + Value = "$(FV_MAIN_BASE) - $(BIOSStartingAddress)" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes +End + +TOKEN + Name = "FV_MainLength" + Help = "ROM address" + Value = "$(FV_MAIN_BLOCKS)*$(FLASH_BLOCK_SIZE)" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes +End + +TOKEN + Name = "FV_BBStartingAddress" + Help = "ROM address" + Value = "$(FV_BB_BASE) - $(BIOSStartingAddress)" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes +End + +TOKEN + Name = "FV_BBLength" + Help = "ROM address" + Value = "$(FV_BB_BLOCKS)*$(FLASH_BLOCK_SIZE)" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes +End + +TOKEN + Name = "BUILD_PSL_BATCH" + Value = "$(PFATPUB_DIR)\\BuildPSL.bat" + TokenType = Expression + TargetMAK = Yes +End + +TOKEN + Name = "FITC_OUTIMAGE_MAP" + Value = "$(ROM_IMAGE_DIR)\Build\OutImage.map" + TokenType = Expression + TargetMAK = Yes +End + +TOKEN + Name = "BUILD_BIOS_MAP" + Value = "$(PFATPUB_DIR)\BuildBIOS.map" + TokenType = Expression + TargetMAK = Yes +End + +TOKEN + Name = "BUILD_BIOS_FV_NVRAM" + Value = "echo BIOS_FV_NVRAM.bin /N $(FV_NvRamStartingAddress) $(FV_NvRamLength)>$(BUILD_BIOS_MAP)" + TokenType = Expression + TargetMAK = Yes +End + +TOKEN + Name = "BUILD_BIOS_FV_OA" + Value = "echo BIOS_FV_OA.bin /OA $(FV_OAStartingAddress) $(FV_OA_Length)>>$(BUILD_BIOS_MAP)" + TokenType = Expression + TargetMAK = Yes + Token = "OEM_ACTIVATION_TABLE_LOCATION" "=" "1" +End + +TOKEN + Name = "BUILD_BIOS_FV_DATA" + Value = "echo BIOS_FV_DATA.bin /DATA $(FV_DataStartingAddress) $(FV_DataLength)>>$(BUILD_BIOS_MAP)" + TokenType = Expression + TargetMAK = Yes +End + +TOKEN + Name = "BUILD_BIOS_FV_MAIN" + Value = "echo BIOS_FV_MAIN.bin /P $(FV_MainStartingAddress) $(FV_MainLength)>>$(BUILD_BIOS_MAP)" + TokenType = Expression + TargetMAK = Yes +End + +TOKEN + Name = "BUILD_BIOS_FV_BB" + Value = "echo BIOS_FV_BB.bin /B $(FV_BBStartingAddress) $(FV_BBLength)>>$(BUILD_BIOS_MAP)" + TokenType = Expression + TargetMAK = Yes +End + +TOKEN + Name = "BUILD_BIOS_MAP_SET" + Value = "$(BUILD_BIOS_FV_NVRAM) && $(BUILD_BIOS_FV_MAIN) && $(BUILD_BIOS_FV_DATA) && $(BUILD_BIOS_FV_BB)" + TokenType = Expression + TargetMAK = Yes +End + +TOKEN + Name = "BUILD_BIOS_MAP_SET" + Value = "$(BUILD_BIOS_FV_NVRAM) && $(BUILD_BIOS_FV_OA) && $(BUILD_BIOS_FV_MAIN) && $(BUILD_BIOS_FV_DATA) && $(BUILD_BIOS_FV_BB)" + TokenType = Expression + TargetMAK = Yes + Token = "OEM_ACTIVATION_TABLE_LOCATION" "=" "1" +End + +TOKEN + Name = "BUILD_PSL_SET" + Value = "$(BUILD_PSL_BATCH) $(FITC_OUTIMAGE_MAP) $(BUILD_BIOS_MAP) $(PFATPUB_DIR) $(BIOS_SVN) $(PfatMaxSectionSize)" + TokenType = Expression + TargetMAK = Yes +End + +PATH + Name = "PFATPUB_DIR" +End + +#********************************************************************** +#********************************************************************** +#** ** +#** (C)Copyright 1985-2012, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#********************************************************************** + diff --git a/Board/EM/Pfat/PfatPubKeysAndBuildPSL/dummy.bin b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/dummy.bin new file mode 100644 index 0000000..9613d45 --- /dev/null +++ b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/dummy.bin @@ -0,0 +1 @@ +极始极始极始极始极始极始极始极
\ No newline at end of file diff --git a/Board/EM/Pfat/PfatPubKeysAndBuildPSL/keygen.exe b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/keygen.exe Binary files differnew file mode 100644 index 0000000..e81033b --- /dev/null +++ b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/keygen.exe diff --git a/Board/EM/Pfat/PfatPubKeysAndBuildPSL/psl2bin.exe b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/psl2bin.exe Binary files differnew file mode 100644 index 0000000..b095917 --- /dev/null +++ b/Board/EM/Pfat/PfatPubKeysAndBuildPSL/psl2bin.exe |