AMI ROM Tool - AFUWINx64

Description :
	AMI Firmware Update utility for Windows PE 2.0 x64bit command mode & GUI
	Mode.

Current Label :
	8.00.15_AFUWINx64_4.40

Release Date :
	2009/Jun/2

Source Control Location :
	SS: CORE8_ATL;$/BIOS/Corebin/800/ROMTools/AFU\afuwin/64;

Reference Document :
	AFUWINx64.PDF

Known Issues :


Release Notes:
==============================================================================
4.40
	1. Increased the "/MEUF" command for ME Ignition Firmware update.
	2. Increased the "/ME" command for ME Entire Firmware update. (Windows PE
	   support only)
	3. Auto change the /reboot and /shutdown command behavior to match the
	   /frestart and /fshutdown command, when use them in the WinPE environment
	   .
	4. Fix the coding mistake. When user has used the AMIUCP to set the default
	   command into the AFU, which would be caused the AFU can't display the
	   help message.
==============================================================================
4.39
	1. Fixed the error message of EC could not display normally, when AFUWIN is
	   GUI mode. [EIP 20080]
	2. Fixed the AFU couldn't to flash the BIOS directly, when User have
	   inserted the default command and ROM File image name at @CMD by AMIUCP.
	   [EIP 20419]
	3. Fixed the RomHole couldn't to protect issue, when one of RomHole of ROM
	   File has the same location as in System BIOS's. And the RomHole count of
	   ROM File doesn't match the System BIOS's. [EIP 20744]
	4. Changed the prevent way of system entered to the Sleep mode, when AFUWIN
	   is without starting flashing BIOS. [EIP 20799]
	5. Fixed the ECBB couldn't protect issue, when ECBB size doesn't match 64KB
	   . [EIP 20843]
==============================================================================
4.38
	1. Fixed the AFUWIN has stopped work issue under Vista64 with SP1
	   environment. [EIP 17823]
	2. Fixed the GPNV offset miscalculation problem, which caused the "/R"
	   command preserve SMBIOS data failure, when the BIOS Size is bigger and
	   than 1MByte. [EIP 18505]
	3. Solved the UAC (User Account Control) problem, let AFUWIN could be
	   executed normally and not need to use "Run as Administrator" under
	   Windows Vista environment.
	4. Support the Windows 7 version number detected.
	5. Changed the original "/Reboot" and "/Shutdown" two commands operation
	   way to avoid the windows generated the system event log of shutdown
	   error after reboot. [EIP 19047]
		* Add the new "/FReboot" command to force the restart action after
		  programming. (For WinPE)
		* Add the new "/FShutdown" command to force system shutdown after
		  programming. (For WinPE)
==============================================================================
4.37
	1. Added the CMOS Layout check to avoid generated the CMOS error after
	   bootblock recovery. [EIP 15681]
	2. Fixed the check rule issue of "IFD" block, when the "IFD" block size is
	   not equal to 64Kbyte. [EIP 15502]
	3. Fixed the NCB update checked rule, when NCB bin file not include the
	   header info. [EIP 16464]
	4. Modified the AFUWIN to prevent the OS enter the shutdown/sleep mode,
	   when end-user press the power button or setting system idle time expired
	   .
	5. Changed the compiler way of VC 6.0 from "Shared DLL" to "Static Library"
	   , which would be fixed the AFUWIN couldn't execute problem under the
	   WinPE environment.
	6. Fixed the progress bar didn't synchronize issue of AFUWIN GUI Mode, when
	   the BIOS Size is bigger than 1MByte. [EIP 16636]
==============================================================================
4.36
	1. To raise the OEM SMI's checking priority for OEM to be able to adjust
	   ROMHole flash behavior in BIOS.
	2. Referenced UCORE Function updated, according to UCORE v1.15.00.
	   (Compress & Uncompress Rule)
	3. Fixed the AFUWIN halt issue when flashing the BIOS and the "Load CMOS
	   Default" checkbox has been checked.
	4. New AFUWIN Utility to support Windows PE 2.0 x64 version.
==============================================================================
4.35
	1. Fixed the RomHole issue of flashing BIOS, when the RomHole count of BIOS
	   ROM File doesn't match the System BIOS's RomHole count.
	2. Fixed the issue of $IIM offset wrong value, when using the RomHole count
	   of changes to flash the BIOS, and executed the command "/p" twice.
	3. Added to support the "/S" command to be stand along command.
	4. Fixed the flash issue of [NCB] doesn't work in GUI mode, when [NCB 1~8]
	   checkbox has one been checked.
	5. Fixed the "ROM file" issue of AFUWIN doesn't work in GUI mode, when
	   AMIUCP inserted the ROM file into the AFUWIN inside, and without other
	   Command String.
==============================================================================
4.34
	Added AMIUCP, default configuration, support.
==============================================================================
4.33
	Fixed the issue of ROMHole protect behave abnormally when the AFUWIN GUI
	Mode doesn't trigger the "Default Configuration" SMI signal to BIOS.
==============================================================================
4.32
	Change $IIM parsing rule for avoiding abnormal result when ROM File does
	not include the signature.
==============================================================================
4.31
	1. Fixed the issue of External BootBlock CheckSum error when EBB size
	   doesn't match 64K.
	2. Fixed the issue of Error occurred when ROMHOLE address set to "0".
==============================================================================
4.30
	1. Support reporting flash ROM Hole Command on OFBD when user is issued.
	2. Support reporting flash NCB Command on OFBD when user is issued.
	3. Support Cancel commands reporting on OFBD default configuration data.
==============================================================================
4.29
	Fixed the halted issue about that when ~CMD parsed command failed under the
	AFUWIN GUI mode.
==============================================================================
4.28
	Changed the ~CMD command style from "~" to be "/-" for prevented the
	not-compatible issue on Linux and FreeBSD.
==============================================================================
4.27
	Fixed the token of OFBD eModule doesn't open would cause the AFUDOS crashed
	by EC command.
==============================================================================
4.26
	1. Add /DEDFTCFG - to cancel all default configuration setting by BIOS.
	2. Add ~cmd_name - to cancel default configuration setting by BIOS.
	3. Fixed the SMI 20-24 balance problem. (For NB project)
	4. Modified the ROMHOLE checking rule when ROMHOLE is protect with block
	   address & Size matches with BIOS reported flash part info then AFU will
	   NOT erase block and re-update the flash block. Adding this to prevent
	   important data in BIOS when accident Reset is issued by end user.
==============================================================================
4.25
	1. Fixed the RomHole updated error when uses OFBD eModule ver 1.0.
	2. Modify EC [OEM Sub Version] message display type.
==============================================================================
4.24
	1. Add "Password Checking" and "Default Issued Command Configuration"
	   function according to OFBD spec.
	2. Add the new command line /ec to support flashing standard EC BIOS.
	3. Add the new command line /ncb and /ncbout for NCB flash.
	4. Support OFBD 2.0 specification - new Data structures updated.
	5. Add to get ROM Hole information from "F000" segment.
		* a patch to prevent getting ROM Hole info error when customer does not
		  want to flash BootBlock but main bios then the ROM Hole info address
		  will ptr to wrong location.
==============================================================================
4.23
	Add /clnevnlog for Clear Event Log.
==============================================================================
4.22
	1. Add Rom Hole Function support.
	2. Add /D command which backward compatible to AFU 1.xx version.
	3. Add ROM ID checking under case non-sensitive rule.
==============================================================================
4.21
	1. Fix the problem that some ROM Hole image may not be identified.
	2. Add Utility Identification Information (UII) structure.
	3. Change border line of help screen.
	4. Add ShutDown function support.
	5. Add Santa function support, flash BIOS without detail checking.
	6. EC Patch: Some EC will fail when Open/Close SMI is not balanced.
	7. Add fuma function which forces backup MA Information when flashing newer
	   version of BIOS.
==============================================================================
4.20
	1. Show warning message when /ECUF issued but no EC BIOS detected in BIOS.
	2. Add Intel Flash Descriptor Mode support.
==============================================================================
4.19
	1. Show warning function (/sw) will cause assertion error.
	2. Change /E function's behavior.
	3. Added /ECUF function to flash EC bios when newer version is detected.
==============================================================================
4.18
	Add /MAI command to display System Rom or Inserted Rom file's MA
	information. This feature is for command prompt only.
==============================================================================
4.17
	1. Added CMD mode support only function. No GUI interface will pop up -
	   shrink down exe file size.
	2. Sync with AFULNX.
==============================================================================
4.16
	1. Fix the problem that block options cannot work properly.
	2. AFUWIN GUI interface behave abnormally.
	3. Fixed AFULNX compile fail because of std C++ lib don't support lowercase
	   method.
==============================================================================
4.15
	1. NVRAM set to 32K then afuwin GUI mode progress bar will display
	   abnormally.
	2. Add change afuwin function both command and GUI mode.
	3. Add change default configure behavior function.
		* 0 - set check box and user unable to make change.
		* 1 - set check box and user be able to make changes.
	4. Add precaution behaviors to prevent user misbehavior afuwin. warning box
	   will pop out when abnormal status happened.
	5. AFUWIN can now issue /l0, /l1, /M function w/o inserting the ROM file.
	6. Fixed bug /l2, /L3 function has same behavior as L0/L1.
==============================================================================
4.14
	1.  CMD Mode -
		* Added in new cmd /X:n for ROM ID checking with user defined ID length
		  . [funciton hidden from help]
		* Added in new cmd /sw for showing warning message. [funciton hidden
		  from help]
		* Bug fixed:cmd mode with cmd /M without input string cause fail.
	2. GUI Mode -
		* Reboot sys only BIOS flashed under proper condition.
		* Check/Radio Box will be checked and shaded when corresponding cmd is
		  issued by AFUSETUP.
==============================================================================
4.13
	1. Add maximum retry parameter.
	2. Fix the problem that system cannot restart after flash done.
==============================================================================
4.12
	1. Now AFUWIN can be configured and then executed properly through
	   AFUSETUP utility. Following items are configurable:
		* Command state: enable/disable, shown/hidden, and always issued.
		* Error return code and error message.
	2. Better algorithm in finding system's ROM ID.
	3. Fix potential failure on physical memory un-mapping.
	4. Fix possible memory leaks problems.
	5. Fix bad grammar of some error messages.
	6. AFUWIN return code is updated into registry
	7. AFUWIN GUI mode: When dumping system BIOS to ROM file, ".ROM" is
	   automatically appended onto filename.
	8. AFUWIN GUI mode: Popup warning message changed into resource and moved
	   to the start of execution.
	9. UCOREW64.SYS can now be merged into AFUWIN.EXE.
==============================================================================
4.11
	1. Fix afuwin GUI mode: If "restart" is checked, afuwin always restart even
	   if user hit 'EXIT' directly.
	2. Fix afuwin GUI: Can not preserve specific SMBIOS types.
	3. Fix afuwin text mode: Silent mode doesn't end until user presses a key.
==============================================================================
4.10
	1. Add capability to preserve SMBIOS structures in NVRAM.
	2. Fix error parsing command line if 2nd character of ROM filename is 'm'.
	3. Windows GUI support.
	4. Windows XP64 support.
==============================================================================
4.03
	1. ROM ID characters are case-insensitive.
	2. Compressed ROM Image support.
==============================================================================
4.02
	1. Fix bugs for /C, /K, /O and /U command.
	2. Add /M option to update Boot Block MAC address if it exists.
	3. Check BIOS write-protection.
==============================================================================
4.01
	1. Add /L2 and /L3 commands to load CMOS optimal/default settings from
	   given ROM File.
	2. Lock keyboard and mouse during flashing BIOS.
	3. Fix the problem that EC block cannot be updated.
	4. Fix the problem that NCB checksum error if the ROM file built by
	   ROMBUILD v4.04 or lower.
	5. Fix the problem that cannot get correct ROM ID from CORE 8.00.10 (or
	   lower) BIOS ROM file.
	6. Fix the problem that update BIOS failure while O/S running under
	   multi-processor mode.
==============================================================================
4.00
	Formal release.