Unify ATAPI and SCSI CD-ROM code.
This commit is contained in:
parent
bc690b3d2f
commit
6ecdd2efd0
19 changed files with 761 additions and 1509 deletions
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef __IDE_ATAPI__
|
||||
#define __IDE_ATAPI__
|
||||
|
||||
#include "scsi.h"
|
||||
|
||||
/*ATAPI stuff*/
|
||||
typedef struct ATAPI
|
||||
{
|
||||
|
|
@ -28,6 +30,36 @@ typedef struct ATAPI
|
|||
extern ATAPI *atapi;
|
||||
|
||||
void atapi_discchanged();
|
||||
void atapi_insert_cdrom();
|
||||
|
||||
typedef struct atapi_device_t
|
||||
{
|
||||
scsi_bus_t bus;
|
||||
|
||||
uint8_t command[12];
|
||||
int command_pos;
|
||||
|
||||
int state;
|
||||
|
||||
int max_transfer_len;
|
||||
|
||||
uint8_t data[65536];
|
||||
int data_read_pos, data_write_pos;
|
||||
|
||||
int bus_state;
|
||||
|
||||
struct IDE *ide;
|
||||
|
||||
int board;
|
||||
uint8_t *atastat;
|
||||
uint8_t *error;
|
||||
int *cylinder;
|
||||
} atapi_device_t;
|
||||
|
||||
void atapi_data_write(atapi_device_t *atapi_dev, uint16_t val);
|
||||
uint16_t atapi_data_read(atapi_device_t *atapi_dev);
|
||||
void atapi_command_start(atapi_device_t *atapi);
|
||||
uint8_t atapi_read_iir(atapi_device_t *atapi_dev);
|
||||
uint8_t atapi_read_drq(atapi_device_t *atapi_dev);
|
||||
void atapi_process_packet(atapi_device_t *atapi_dev);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue