Line 26... |
Line 26... |
#ifndef __OR1KSIM_ATAD_H
|
#ifndef __OR1KSIM_ATAD_H
|
#define __OR1KSIM_ATAD_H
|
#define __OR1KSIM_ATAD_H
|
|
|
#include <stdio.h>
|
#include <stdio.h>
|
|
|
/*
|
|
ata device debug level
|
|
0: don't display debug information
|
|
1: display general (debug) information
|
|
2: display program flow control information
|
|
3: display internal statemachine flow information
|
|
4: display all debug information
|
|
*/
|
|
#define ATA_DEVICE_DEBUG_LVL 4
|
|
|
|
|
|
/* --- Register definitions --- */
|
/* --- Register definitions --- */
|
/* ----- ATA Registers */
|
/* ----- ATA Registers */
|
/* These are actually the memory locations where the ATA registers */
|
/* These are actually the memory locations where the ATA registers */
|
/* can be found in the host system; i.e. as seen from the CPU. */
|
/* can be found in the host system; i.e. as seen from the CPU. */
|
/* However, this doesn't matter for the simulator. */
|
/* However, this doesn't matter for the simulator. */
|
Line 187... |
Line 176... |
typedef struct{
|
typedef struct{
|
ata_device device0, device1;
|
ata_device device0, device1;
|
} ata_devices;
|
} ata_devices;
|
|
|
|
|
/* ------------------------------ */
|
|
/* ----- Device Prototypes ----- */
|
|
/* ------------------------------ */
|
|
int ata_device_debug(int lvl, char *format, ...);
|
|
|
|
/* all devices */
|
/* all devices */
|
void ata_devices_init(ata_devices *devices);
|
void ata_devices_init(ata_devices *devices);
|
void ata_devices_hw_reset(ata_devices *devices, int reset_signal);
|
void ata_devices_hw_reset(ata_devices *devices, int reset_signal);
|
short ata_devices_read(ata_devices *devices, char adr);
|
short ata_devices_read(ata_devices *devices, char adr);
|
void ata_devices_write(ata_devices *devices, char adr, short value);
|
void ata_devices_write(ata_devices *devices, char adr, short value);
|