AMI ROM Tool - AFUWINGUI

Description :
	AMI Firmware Update utility(APTIO) for Windows GUI.

Release Date :


Source Control Location :
	SS: Alaska;$/Alaska/ROMUtils/AFU/afuwin/64;

Reference Document :	
	readme.txt
	readme_afuwin.txt
	AMI_Aptio_AFU_User_Guide_NDA.pdf

Known Issues :
    Use "/Rn" parameter will have no effect or caused an exception error, when 
    the SMBIOS module version is between "4.6.1_ALPHA_01.26.2_DMIRW_TEST" and 
    "(INT)4.6.1_ALPHA_01.29_Type39".

Release Notes:
==============================================================================
3.06.00
	[AFU]
	1.Fix ECX erase szie issue.[EIP105071]
	2.Fix UCP insert ROM file AFU can't open issue.
	3.Fix command /OAD can't flash issue, when secure flash enable.
	4.Fix, AFU can't find FID OA key issue, when ROM data have many _FVH string.
	5.Fix When NVRAM is full, and SMIBIOS data in NVRAM, AFU can't preserve this data.
	6.Fix When flash /p /b /n add /me command, AFU will not preserve need preserve data.
	7.Fix When ROM Hole size exceed two block size, /holeout bin file is not right data.
	8.Fix When new rom Rom Hole offset different old rom rom hole offset, use /p /b /n /ln, 
	  ln rom hole data will be update to old rom offset.[EIP157284]
	9.Modify Copright to 2014.
	10.Modify when use command /ln, AFU check platform have not rom hole, AFU will show,
	   "Error: Rom Hole not exist."

	[Error Message Change]
	1."Error: OA Data invalid." to "Error: OA key data is invalid."
	2."Error: OA key is not NULL at all. And OA Key is the same as Bin File in system." to 
	  "Error: OA key is not empty at all. And OA Key is the same as Bin File in system."
	3."Error: OA key is NULL at all already." to "Error: OA key is empty at all already."
	4."Error: OA key is not NULL at all. And OA Key is no the same as Bin File in system." to 
	  "Error: OA key is not empty at all. And OA Key is no the same as Bin File in system."
	5."Error: Unable to start a Secure Flash session." to "Error: Secure Flash Rom Verify fail."
==============================================================================
3.05.04
	[AFU]
	1.Fix SMBIOS Data can't restore, when SMBIOS Data in NVRAM and NVRAM is full. [EIP145538],[EIP145305]
==============================================================================
3.05.03
	[AFU]
	1.Fix check EC bin file header data return result error.
	2.Fix Rom Hole does not Alignment block error.[EIP143348]

	[AFUGUI-MFC]
	1.Fix WINGUI Show OFBD ROM ID Check dialog issue.[ECR191374]
	2.Fix WINGUI Show OFBD EC dialog issue.
==============================================================================
3.05.02
	[AFU]
	1.Fix AFU3.05.01 command "/a" parsing command error.
	2.Fix Use "/Hole:GUID" Updata SLP key can't boot issue.[EIP134262]
	3.Fix command "/s" show error "Disable" string issue.[EIP135961]
	4.Fix command "/u" show debug message issue.
	5.Add In AFU Default Command Configuration stage does show BIOS side message.
	6.Add flash ME process status.[EIP136248]
	
	[AFUGUI-MFC]
	1.Fix Page Item Over draw on button in Windows 8.1 RTM 9600 Simplified Chinese Edition issue.[EIP135423]
==============================================================================
3.05.01
	[AFU]
	01.Add Support /Ln and /Kn for default command module.[EIP125898]
	02.Add OFBD secure flash print error message.[EIP121823]
	03.Fix something Rom ID can't find issue.
	
	[AFU-Linux]
	01.Fix Linux can't use absolute path file name.[EIP133781]
==============================================================================
3.05
	[Ucore2]
	01.Remove redundant local variable declaration.

	[AFU]
	01.Add capsule and recovey mode supply UCP control.
	02.Fix something Rom ID can't find issue.
	03.OFBD version is 0x210, use /ME and ME not support, AFU can't show error.[EIP119753]
	04.Recovery mode flash fail issue.[EIP121559]
	05.Add supply OFBD VERSION 220 ME update.
	06.Fix EC retry issue.

	[AFU-WIN]
	01.Fix Windows XP can't run issue.
	02.Add when flash SPI every erase, write, vertify action need disable keyborad and mouse.[EIP118477]

	[AFUGUI-MFC]
	01.Revised ¡§GetUserInputPWD¡¨ routine for that if user presses Cancel button to skip checking password, it will exit AFUWINGUI.
	02.Add DIS status of "Recovery" and Capsule" items support.
	03.Add "RCButton_BeMaster" token to decide "Recovery" and "Capsule" buttons whether can control other buttons. The token default value is 0.
	04.Modify the code and add routines are used to adjust the status of buttons on Msgdlg and ChooseDlg.
	05.Add Simplified Chinese dialogs for WIN8 Simplified Chinese version issue.
	06.Add /defans command.
	07.When AUTO mode enable and reboot or shutdown is enable, AFU will not show error warning messages dialog.

	[AFU-Linux]
	01.Linux Xen kernel, AFU can't get smi port number.[EIP115234]
==============================================================================
3.04.03
	01.Fix OFBD version is 0x210, use /ME and ME not support, AFU can't show error.[EIP119753]
	02.Fix AFU3.04.02 Recovery mode flash fail issue.[EIP121559]
	03.Add when flash SPI every erase, write, vertify action need disable keyborad and mouse.[EIP118477]
	04.[Linux]Fix when os system is Xen, AFU can't get smi port number.[EIP115234]	
==============================================================================
3.04.02
	01.Fix OFBD CFG module /CAF can't run tish command.EIP100649
	02.Fix OFBD CFG module issue, when file name string is "A", AFU can run /A command.
	03.Fix APTIO V check ROM ID issue.
	04.Fix command "/hole:", when secure flash disable, user use /hole: command afu will show error message, error id is 0x18.
	05.Remove Check PI veriosn.
	06.Add command "/hole:(SLP2.0 GUID) can update SLP2.0 data.
	07.[Windows]Modify power button disable time point. now afu is run power button will disable.
	08.[Windows GUI]Modify first warning dalog box time point.
	09.[Windows GUI]Fix /CAF can't show process bar.
	10.[Windows GUI]Fixed that if enabled OEMPWDCK module, AFUWINGUIx64 will fail while keying in password.
	11.[Windows GUI]Support insensitive UCP default commands.
	12.[Windows GUI]For cooperating kernel code changes, if auto mode, AFUWINGUI will send UCP default commands to kernel. (Originally, if auto mode, AFUWINGUI doesn't send any commands to kernel).
	13.[Linux]Add SMI dleay 10ms in SMI 21, 22, 23, 26.
	14.[Linux]Add disable NMI Watch dog.
==============================================================================
3.04.01
	01.Fix AFU flash me region also with flash main block issue.[EIP106938]
	02.Fix when bios have not OFBD module ECB check will return error issue.
	03.Fix when flash in windows platfrom, power button need disable power function.
==============================================================================
3.04
	01.fix linux can't flash me.[EIP100091]
	02.Fix SLP2.0 flash issue[EIP 97980 and EIP98895]
	03.Fix Wrong message from AFU when EC update failed.[EIP101619]
	04.Fix ECX bin file size.
	05.Add AFU tool support OFBD AFU Default Command Configuration¡§/CAF¡¨ option.[EIP100649]
	06.Add show on board BIOS and Rom file secure is disable/enable.[EIP97400]
	07.Add ECB Check.
	08.[WINGUI]Add "Recovery" checkbox and support "Recovery" function.  
	09.[WINGUI]Add "Capsule" checkbox and support "Capsule" function.  
	10.[WINGUI]Adjust dialogs.  
	11.[WINGUI]Revise the behavior and influence of checkboxes.
	12.[WINGUI]Fixed if have ucp embedded rom file and check only one checkbox, then press flash button, afuwingui didn't perform the flash function.
	13.[WINGUI]Add processing that AFUWINGUI according the ucp DIS status of "/o" cmd to enable/disable/hidden "SAVE" button.
	14.[WINGUI]Fixed when using AFUWINGUI in notebook, the PS2 keyboard on notebook will not able to use.
	15.[WINGUI]Revise check and enable "Program All Blocks" checkbox rule.
==============================================================================
3.03
	01.Flash non support secure ROM file issue. [EIP95903]
	02./ME command fail - When BIOS support MER commands.[EIP95306]
	03.Fixed SMBIOS data size over a block size issue.
	04.Fixed OFBDCFG cannot get /r issue.[EIP96286]
==============================================================================
3.02
	01.Sync to AFU3.02.
==============================================================================
1.16
	01.AFUWINGUI does not display the warning message, when try to use the Non-OA ROM to update the OA System.[EIP 66281]
	02.Updated OA3 Key encounter checksum error on ChiefRiver CRB which has other "_FVH" signature 
	   exist except FV header in BB block.[EIP 67671]
	03.Afuwingui add CheckDriverVersion to avoid BSOD.[EIP 62390]
==============================================================================
1.15
	01. Support PI 1.1 Specification in AFU.[EIP 60166]
	02. Add the new ROM Hole check rule if hole layout change. [EIP 59260]
	03. Support new TABLE_INFO structure of SmbiosDMIEdit definition. [EIP 60305]
	04. Supports Shadow Mode Flash.
	05. Supports get project length of BIOS from SMI 0x25.
	06. Fixed the issue that USB keyboard can't work after checking password.
	07. Disable the "Exit","Save","Open"and "X" buttons when flashing BIOS.[EIP 62224]
	08. Support to update ME firmware.[EIP 61275]
	09. Add the implementation of saving and restoring rbx when call PortWriteByte in AFU driver for Windows x64.[EIP 60452]
	10. Merge the changes code from AMISCE driver to AFU.[EIP 60452]
==============================================================================
1.14
	01. Support Max of 16 Non-critical block(NCB+RomHole) update.[EIP 52963] 
	02. Increase the SMI check mechanism to prevent the SMI loss problem.[EIP 56367] 
	03. Improvement the ME structure to support new ME update rule. [EIP 52968]
	04. Changed the search priority of DMI data to avoid waste many time to search the wrong place. [EIP 53636]
==============================================================================
1.13
	01.Error message while flashing BIOS using AMIUCP to execute AFUWIN V2.35[EIP 51370]
	02.Use AMIUCP1.06 to set command status to be ShownOnly and flash bios,then donn't restart OS,the 
	   ShownOnly command status can be check again.
	03.Reset retry count.
==============================================================================
1.12
	01.Supports AMIUCP new commands status setting. [EIP 40002]
	02.Remove AFU its EC error message, when BIOS has reported the EC error message for AFU. [EIP 45928]
	03.Fixed the exception error when FV block size is less 64KB. [EIP 48906]
	04.Adjust the ME block info check rule.
==============================================================================
1.11
	01.AFUWINGUI show the wrong OS version info problem. EIP[44055]
==============================================================================
1.10
	01.Modified the /CMD: command to sync with OEMCMD command's behavior. [EIP 43015]
	02.Modified NVRAM data preserve function of OFBD invoke sequence to avoid caused BIOS flash failed, 
	   when issued /R command and BIOS supports this feature. [EIP 41769]
==============================================================================
1.09
	01.Add a new command line "/CAF" supports Main BIOS, Boot Block, Share EC and NCB data comparison.[EIP 35966]
	02.Supports Intel AT 2.0 specification. [EIP 40463]
	03.Add a new command line "/CMD:" to support the OEMCMD module¡¯s new status. [EIP 40787]
	04.Fixed the flash hang up issue of AFU, when BIOS has share EC firmware and its SMIFlash module version is 4.6.3.6_SMIFLASH_13 or later 	   	   version. (Swap the GetFlashInfo and InitFlashIfc invoke sequence.)
	05.Add Driver extract support.
	06.Afuwingui will hang when OFBD rom ID check mismatch.
==============================================================================
1.08
	01. Add a new command line "/OEMCMD:" to support the OEMCMD of OFBD module.[35966]
	02. Change the /ECX command usage from xxx.rom /ECX to /ECX:xxx.rom and remove the auto shutdown action.
	03. Add the Erase/Verify/Retry procedure during the EC firmware updating.[36765]
	04. Changed the memory allocate method to avoid memory allocate failure, when use it under Compal's PXE Network booting DOS environment.
	05. Fixed the "FFS checksums" is bad problem, when booting with HIMEM.SYS installed.
	06. Change /R command reserve DMI data procedure, if DMI is stored in FV_MAIN or FV_BB or NVRAM.[37169]
	07. Add new feature to support set/cancel commands by OFBD.[37411]
	08. Support shutdown action, when use AMIUCP to set /SHUTDOWN command as default command in auto reflash mode.
	09. Add a hidden command "/LR" to disable the first message box of AFUWINGUI for customer Long Run Test.
==============================================================================
1.07
	1.Disable the hot key "Windows + L".
	2.Fix a bug:when the rom file checksum has error,afuwingui continue to flash bios.
==============================================================================
1.06	
	1.Add the feature of validating Rom File Checksum.[EIP24381]
	2.Fix a issue that NCB type must be >= 0x80 instead of 80.
	3.Support to update non EC-share BIOS when it isn't AMI EC Firmware.[EIP31739] 
	4.Add support to flash /ME & /MEUF.[EIP31739]
	5.Add support to use AMIUCP to only include rom image or only include command.
	6.Fix the bug:afuwingui cann't execute after included by AMIUCP under WinPE.
	7.Add Flash chip infomation support.
==============================================================================
1.04
	1. Fix the issue that AFU stops flashing when it cannot find ROM ID in system ROM.
==============================================================================
1.03
	1.ROMID and Password check by AFU before flashing BIOS.[EIP14374][EIP19375] 
	2.AFU keep BIOS last setting after flashing BIOS.[EIP19257] 
	3.Do NVRAM flashing after main BIOS being programmed.[EIP19890]
	4.AFU support "$ECB" table in E000.[EIP19891] 
	5.AFU Support Standalong EC firmware Flash.[EIP12739]
	6.AFU support add rom file name by AMIUCP @CMD. 
==============================================================================
1.02
	1.Bug Fix:Afu cann¡¯t transfer enough buffer to BLOCK DESCRIPTION. [EIP 18348] 
==============================================================================
1.01
	1.EIP 12473:Afuwin-gui is required which interface is similar to afuwin core8,then add support to amiucp.

