Release notes for Alpha Diagnostic Environment ROM images
---------------------------------------------------------

24-Aug-1999
-----------
Basic functionality, not working for Rev C dual-1M flash architecture


8-Sep-1999
----------
Rev C qualified release, also available as CVS release tag api-prerelease-2.
Contains basic code to manage the new flash architecture.

Implements the basic manufacturing automated test procedure (the 'go' command)

Doesn't implement the behavioural codes passed in from SROM (eg, pass-through, FSB)

Doesn't contain: I2C, IDE


10-Sep-1999 - Beta release 1.0
------------------------------
Contains numerous fixes and enhancements to the user interface.
Implements the power-on behavioural codes, passed to the PALcode by SROM
Extends the usefulness of the 'go' test.

Tagged in CVS as api-release-1


15-Nov-1999 - 1.1Beta-pre2
--------------------------

Log stream has simple prioritising prefixes, which make it easier for a non-technical
user to identify failure problems and warnings.

FEATURES:

* Full memory tests are implemented (for uniprocessor).  

* Several fixes to the whole build process are implemented.

* Serial port loopback added - null modem cable now required for full test

* Soft-reset of system

* Improvements in coding style.

LIMITATIONS:

* NMIs need to be ignored for nautilus

* Support in this source release for Swordfish is limited.

* Get IRQ15 sometimes, must reset between full tests because of this

* No testing of I2C

* No testing of ACPI

* No integrated testing of IDE

Tagged in CVS as diags-1_1beta-pre2


20-Nov-1999 - Version 1.1
-------------------------
This version is in the master parts database as 61-0039-1A (binary), 60-0003-1A (source)

Tagged in CVS as api-release-1_1


FEATURES:

* cleaned up user interface, particularly the flash firmware utility.

* Added new types to flash firmware for PALcode, Linux kernel, CBOX tables etc.

* Finalised 'cmos set' command to set time and date

* ROM header now contains masterpart binary release number

* Irongate NMIs are now handled silently

* Linux kernels can be embedded in the ROM, with limited success.

LIMITATIONS

* no support for auto-update of firmware

* bizarre situation where spacebar doesn't respond after running the IRQ test with logging
on lpt1.


31-Jan-2000 - Version 1.2
-------------------------

This version is in the master parts data base as 61-0039-1D for Nautilus and 61-0046-0A
for Swordfish.  Tagged in CVS as api-release-1_2


FEATURES:

* Equivalent Swordfish implementation, with additional SMP support for memory tests
and Linux loading.

* Features improved firmware reflash routine with cleaner implementation, including
support for reserved areas such as NVRAM.

* Support in the source code for stand-alone fail-safe firmware reflash without 
interface, that takes a DOS floppy and updates all valid .ROM files on it.

* robustness of go test improved.

LIMITATIONS

* Flash routine still needs to do a full checksum of memory-resident loaded firmware 
image for corruption (eg via FTP download in ASCII mode) before burning the ROM

* pass-through time could be improved by eliminating log stream output on normal
startup mode.

* still no support for testing PCI device interrupts.

* still no support for high-bandwidth stressing of IO buses.

* self-uncompressing code could be more efficient.

* software reset on swordfish is not functioning.



22-Mar-2000 - Version 1.3.2
---------------------------

This version is in the master parts data base as 61-0039-1F for Nautilus
and 61-0047-0C for Swordfish.  Tagged in CVS as api-release-1_3_2

FEATURES

* Implementation of basic NVRAM for environment and as a log stream device.

* Improved embedded linux kernel boot support, including support for diags
reentry on kernel halt.

* Better (ie working) dedicated floppy diagnostic.

* Power-on auto-action behaviour taking into account jumper settings, halt 
code and NVRAM environment variables.

* Fixes a UP1000 Irongate configuration bug, that was causing SRM console 
floppy to hang the PCI bus.

LIMITATIONS

* Startup is sometimes unreliable on UP1000.

* 64-bit PCI devices are sometimes misconfigured.

* System thinks it has one more CPU than it actually does, reducing memory 
test default region size.

* still no support for testing PCI device interrupts.

* still no support for high-bandwidth stressing of IO buses.

* self-uncompressing code could be more efficient.



11-April-2000 - Version 1.3.3
-----------------------------

This version is in the master parts database as 61-0039-1H for Nautilus
and 61-0047-0E for Swordfish.  Tagged in CVS as api-release-1_3_3.

FEATURES

* NVRAM implementation revved slightly with a new format giving more scope.
A slightly more user-friendly environment was implemented (log still needs
some work).

* Checks on UP2000 for halt button assertion and warns the user by beeping SOS.

* Improved IRQ test which is more reliable.

* PCI device support for 64-bit-address-space requests

* Improved self-unpack module reduces ROM usage.

* A degree of fault tolerance added for failing ROMs.

* Video card option ROMs are checksummed as part of the VGA diagnostic.

* on-line help made a little less terse.

LIMITATIONS

* Still no stress-test for PCI buses

* Still no support for PCI device interrupt tests

* Still no I2C diagnostic or driver support

* BIOS emulator does not work on some modern video cards



6 July 2000 - Version 1.4
-------------------------

This version is in the master parts database as 61-0039-2A (Nautilus), 
61-0047-2A (Swordfish), 61-0053-2A (Tinosa).

FEATURES

* Tinosa support

* Bugfixes


17 August 2000 - Version 1.41
-----------------------------

This version is in the master parts database as 61-0039-2B, 61-0047-2B and 61-0053-2B for Nautilus, Swordfish and Tinosa respectively.  

Also it is tagged under CVS as api-release-1_4_1.

FEATURES

* Platform-specific power-on-self-test framework added.

* POST routines added to scan for UP2000 timer problems with plenty of beep
codes.

* HWRPB data structure maintained throughout diags execution

* More testing SMP memory & cache coherency tests


13 October 2000 - Version 1.43
------------------------------

This version is in the master parts database as:

	61-0039-2C	Nautilus
	61-0047-2C	Swordfish
	61-0053-2C	Tinosa
	61-0056-2C	Shark

It is also available on the Engineering Share under sw\pending\firmware\adiagenv
and is tagged in CVS as api-release-1_4_3.

NEW FEATURES

* SROM-Downloadable '.img' versions also included in the release.  All diags
images are downloaded to 0x8000.

* Basic Shark (CS20) support added.

* I2C support added for ALI M1543C SMBus host controller (for Nautilus, Shark).

* POST routines to test for system health monitor readings (on UP1000).

* HWRPB support extended to enable OS-directed halts and reboots.

* I2C and IPI tests added to the 'go' diagnostic.

* NVRAM shared with SRM console (diags converted to use the same format).


1 December 2000 - Version 1.44
------------------------------

This version is in the master parts database as:

	61-0039-2D	Nautilus
	61-0047-2D	Swordfish / Swordfish+
	61-0056-2D	Shark

It is also tagged in CVS as api-release-1_4_4

NEW FEATURES

* Adds initrd support for loading ramdisk images from the ROM

* Speedier scanning for ROM files shaves a couple of seconds from boot/reboot

* Adds significantly to the I2C support, notably a PCF8584 driver for UP2000(+)

* Adds extra I2C devices such as Slot-B asset info EPROMS and reset on UP2K+

* Copes with UP2000+ PCF8574/PCF8574A component swaps (theoretically)

* Adds 'diags_action' environment variable for executing default commands 

* Improved ROM log sector management


31 January 2001 - Version 1.4-5 (ECR320)
----------------------------------------

This version is in the master parts database as:

	61-0039-3A	Nautilus
	61-0047-3A	Swordfish / Swordfish+
	61-0053-3A	Tinosa
	61-0056-3A	Shark

It is also tagged in CVS as api-release-1_4_5

NEW FEATURES

* Improved Shark support.

* Improved DBLX (formerly KROM) support, particularly for SMP.

* ROM-in-RAM support (for firmware).

* New API ROM header revision format support (this part adopts the new format).


KNOWN ISSUES

* No support for C-chip I2C buses, as used on CS20.

* Does not work when CPU0 is disabled or malfunctioning.

* CS20 ALi I2C bus is shaky on some hardware releases, OK on others.
