Added debugging code to ata_WaitTO().


git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@48814 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
 - Also clear signals when polling. Without this, signals were getting
   out of sync with interrupts.
 - Detect and discard phantom drives by looking for all-zero identify
   data.
 - Byte swap id_DMADir on BE archs.


git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@48815 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
m68k build fix, ExpansionBase was global and small cleanup.

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@48816 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
Bumped ROM header year.

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@48817 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
Added two more files to be bumped annually.


git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@48818 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
Disable DOS Requesters while reading prefs with GetVar() to
avoid hang during boot. (AROSMonDrvs -> AddDisplayDriverA ->
CompositorParseConfig -> GetVar -> "Please insert ENV:" -> WB
not open and locked out during open because display database sem
locked while in AddDisplayDriverA()).


git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@48819 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
Retab


git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@48820 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
If pr_CES is NULL, pr_COS has to be used.

Fixes a random crash during SMP boot.



git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@48821 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
Put bootnodes representing whole disks into a temporary list before 
scanning them for partitions. This avoids the possibility of disks being 
scanned twice.


git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@48822 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
 - Fixed timeouts while waiting for an IRQ. The daemon stopped ticking
   as soon as any bus task was waiting during a tick. This was because
   the daemon sent the internal medium-change-check command
   (HD_SCSICMD+1) to every bus task on every tick, and waited for each
   to finish. When this command was sent to the bus task that was
   already waiting, a deadlock resulted. The deadlock could only be
   resolved by the arrival of the IRQ that the bus task was waiting for.
   But if the IRQ did not arrive, the driver locked up permanently; i.e.
   there was no effective timeout mechanism. There were also no checks
   for media changes while the daemon was deadlocked. To solve these
   problems, timeouts are now implemented by the bus tasks themselves
   rather than the daemon.

 - Instead of using polling for Identify commands, use an IRQ as
   normal but with a short timeout (1 second). This appears to be more
   reliable (bearing in mind that Identify commands may be sent to
   either real or phantom drives).

 - Call interrupt handler "manually" if we timeout while waiting for it
   (for real drives that don't produce an IRQ when their Identify
   command is complete).

 - Set an error if we were expecting to transfer data using PIO as a
   result of an interrupt but none is available (ATAF_DATAREQ is unset).

 - Removed check for empty Identify data (obsoleted by previous
   change in this list: Identify command will now fail instead).

 - Replaced a 100ns delay with the standard 400ns delay in the first
   device selection.

 - Set two obsolete bits in the DevHead register that may be needed for
   very old drives.

 - Added unit number to more interrupt handler debug messages.

 - Changed confusing/misleading comments.



git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@48823 fb15a70f-31f2-0310-bbcc-cdcc74a49acc