X-1.32 Brian Wheeler 04-APR-2008 Fixed missing variable declaration.
X-1.31 Camiel Vanderhoeven 02-APR-2008 Fixed compiler warnings.
X-1.30 Brian Wheeler 20-MAR-2008 1. Improved locking by a) Removing all of the general register locking; b) Busmaster locking is still in place, but it might not be needed, this locking is pretty fine grained so nothing should time out waiting for it; c) Creating an alt_status variable which gets updated when the real status becomes stable (i.e. at the end of the execute() run, after the drq status is changed, etc), access to this variable is locked; d) Everything else is a free for all. 3. Implement an optional delayed interrupt. The OSes still lose interrupts sometimes.
X-1.29 Brian Wheeler 17-MAR-2008 Fix some CD-ROM issues.
X-1.28 Camiel Vanderhoeven 14-MAR-2008 Formatting.
X-1.27 Camiel Vanderhoeven 14-MAR-2008 1. More meaningful exceptions replace throwing (int) 1. 2. U64 macro replaces X64 macro.
X-1.26 Camiel Vanderhoeven 13-MAR-2008 Create init(), start_threads() and stop_threads() functions.
X-1.25 Brian Wheeler 12-MAR-2008 Better DMA support.
X-1.24 Camiel Vanderhoeven 11-MAR-2008 Named, debuggable mutexes.
X-1.23 Brian Wheeler 11-MAR-2008 Even nicer, more efficient multi-threading version.
X-1.22 Brian Wheeler 05-MAR-2008 Nicer, more efficient multi-threading version.
X-1.21 Camiel Vanderhoeven 05-MAR-2008 Multi-threading version.
X-1.20 Camiel Vanderhoeven 04-MAR-2008 Merged Brian wheeler's New IDE code into the standard controller.
X-1.19.17 Brian Wheeler 27-FEB-2008 Re-fire interrupts less often.
X-1.19.16 Brian Wheeler 27-FEB-2008 Improvement to last fix.
X-1.19.15 Brian Wheeler 27-FEB-2008 This patch fixes the vms boot problems from ide cdrom and it also allowed me to install tru64 -- albeit with timeouts: a) Clears the busmaster active bit when the bit 1 is written to the busmaster status register. b) Attempts to refire the interrupt if the controller seems to have missed it -- before the OS declares a timeout.
X-1.19.14 Brian Wheeler 27-FEB-2008 Avoid compiler warnings.
X-1.19.13 Brian Wheeler 29-JAN-2008 Avoid firing interrupts that occurred while interrupts were disabled.
X-1.19.12 Camiel Vanderhoeven 28-JAN-2008 Avoid compiler warnings.
X-1.19.11 Brian Wheeler 26-JAN-2008 Don't repeat interrupt too soon.
X-1.19.10 Camiel Vanderhoeven 24-JAN-2008 Use new CPCIDevice::do_pci_read and CPCIDevice::do_pci_write.
X-1.19.9 Brian Wheeler 16-JAN-2008 Less timeouts.
X-1.19.8 Brian Wheeler 14-JAN-2008 Less messages without debugging enabled.
X-1.19.7 Fang Zhe 13-JAN-2008 Big-endian support.
X-1.19.6 Camiel Vanderhoeven 12-JAN-2008 Use disk's SCSI engine for ATAPI devices.
X-1.19.5 Brian Wheeler 10-JAN-2008
X-1.19.4 Brian Wheeler 09-JAN-2008
X-1.19.2 Brian wheeler 08-JAN-2008 Handle blocksize correctly for ATAPI.
X-1.19.1 Brian wheeler 08-JAN-2008 Complete rewrite of IDE controller.
X-1.19 Fang Zhe 08-JAN-2008 Endianess.
X-1.18 Camiel Vanderhoeven 06-JAN-2008 Leave changing the blocksize to the disk itself.
X-1.17 Camiel Vanderhoeven 04-JAN-2008 Less messages fprint'ed.
X-1.16 Camiel Vanderhoeven 02-JAN-2008 Avoid compiler warnings.
X-1.15 Camiel Vanderhoeven 30-DEC-2007 Print file id on initialization.
X-1.14 Camiel Vanderhoeven 29-DEC-2007 Compileable with older compilers (VC 6.0). Avoid referencing uninitialized data.
X-1.13 Camiel Vanderhoeven 28-DEC-2007 Throw exceptions rather than just exiting when errors occur.
X-1.12 Camiel Vanderhoeven 28-DEC-2007 Keep the compiler happy.
X-1.11 Camiel Vanderhoeven 28-DEC-2007 Only delay IDE interrupts when NO_VMS is defined. (Need to fix this properly).
X-1.10 Camiel Vanderhoeven 20-DEC-2007 More checks if disk exists.
X-1.9 Brian wheeler 19-DEC-2007 Added basic ATAPI support.
X-1.8 Brian wheeler 17-DEC-2007 Delayed IDE interrupts. (NetBSD requirement)
X-1.7 Camiel Vanderhoeven 17-DEC-2007 SaveState file format 2.1
X-1.6 Camiel Vanderhoeven 14-DEC-2007 Commented out printing each IDE command.
X-1.5 Camiel Vanderhoeven 12-DEC-2007 Use disk controller base class.
X-1.4 Camiel Vanderhoeven 11-DEC-2007 Removed last references to ide_command[][].
X-1.3 Camiel Vanderhoeven 11-DEC-2007 Cleanup.
X-1.2 Camiel Vanderhoeven 11-DEC-2007 More complete IDE implementation allows NetBSD to recognize disks.
X-1.1 Camiel Vanderhoeven 10-DEC-2007 Initial version in CVS; this part was split off from the CAliM1543C class.
Definition in file AliM1543C_ide.cpp.
#include "StdAfx.h"
#include "AliM1543C_ide.h"
#include "System.h"
#include <math.h>
#include "gui/scancodes.h"
#include "gui/keymap.h"
#include "AliM1543C.h"
#include "Disk.h"
Go to the source code of this file.
Defines | |
| #define | PAUSE(msg) |
Variables | |
| u32 | AliM1543C_ide_cfg_data [64] |
| u32 | AliM1543C_ide_cfg_mask [64] |
| static u32 | ide_magic1 = 0xB222654D |
| static u32 | ide_magic2 = 0xD456222C |
| CAliM1543C_ide * | theIDE = 0 |
| #define PAUSE | ( | msg | ) |
Value:
do \ { \ printf("Debug Pause: "); \ printf(msg); \ getc(stdin); \ } while(0);
Definition at line 236 of file AliM1543C_ide.cpp.
Referenced by CAliM1543C_ide::execute(), CAliM1543C_ide::ide_command_read(), and CAliM1543C_ide::ide_command_write().
Initial value:
{
0x522910b9,
0x02800000,
0x0101fac1,
0x00000000,
0x000001f1,
0x000003f5,
0x00000171,
0x00000375,
0x0000f001,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x040201ff,
0, 0,
0x4a000000,
0x1aba0000,
0,
0x44445555,
0, 0, 0, 0, 0, 0, 0, 0,
0x00000021,
0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
Definition at line 244 of file AliM1543C_ide.cpp.
Referenced by CAliM1543C_ide::init().
Initial value:
{
0x00000000,
0x00000105,
0x00000000,
0x0000ffff,
0xfffffff8,
0xfffffffc,
0xfffffff8,
0xfffffffc,
0xfffffff0,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x000000ff,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
Definition at line 273 of file AliM1543C_ide.cpp.
Referenced by CAliM1543C_ide::init().
u32 ide_magic1 = 0xB222654D [static] |
Definition at line 427 of file AliM1543C_ide.cpp.
Referenced by CAliM1543C_ide::RestoreState(), and CAliM1543C_ide::SaveState().
u32 ide_magic2 = 0xD456222C [static] |
Definition at line 428 of file AliM1543C_ide.cpp.
Referenced by CAliM1543C_ide::RestoreState(), and CAliM1543C_ide::SaveState().
| CAliM1543C_ide* theIDE = 0 |