From 12f5ef5f876e27b12887e14581de0dc106928170 Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Sat, 13 Mar 2004 03:54:08 +0000 Subject: added atapi support git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1415 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/include/pc80/ide.h | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'src/include') diff --git a/src/include/pc80/ide.h b/src/include/pc80/ide.h index dacaa292f5..96521ece70 100644 --- a/src/include/pc80/ide.h +++ b/src/include/pc80/ide.h @@ -36,16 +36,19 @@ struct harddisk_info { uint8_t slave; sector_t sectors; int address_mode; /* am i lba (0x40) or chs (0x00) */ -#define ADDRESS_MODE_CHS 0 -#define ADDRESS_MODE_LBA 1 -#define ADDRESS_MODE_LBA48 2 - int drive_exists; - int slave_absent; - int basedrive; +#define ADDRESS_MODE_CHS 0 +#define ADDRESS_MODE_LBA 1 +#define ADDRESS_MODE_LBA48 2 +#define ADDRESS_MODE_PACKET 3 + uint32_t hw_sector_size; + unsigned drive_exists : 1; + unsigned slave_absent : 1; + unsigned removable : 1; }; #define IDE_SECTOR_SIZE 0x200 +#define CDROM_SECTOR_SIZE 0x400 #define IDE_BASE0 (0x1F0u) /* primary controller */ #define IDE_BASE1 (0x170u) /* secondary */ @@ -196,15 +199,15 @@ struct ide_pio_command #define IDE_FEATURE_ENABLE_REVERTING_TO_POWERON_DEFAULTS 0xCC #define IDE_FEATURE_DISABLE_SERVICE_INTERRUPT 0xDE -#define NUM_HD (4) +#define IDE_MAX_CONTROLLERS 2 +#define IDE_MAX_DRIVES (IDE_MAX_CONTROLLERS*2) #define SECTOR_SIZE 512 #define SECTOR_SHIFT 9 /* Maximum block_size that may be set. */ #define DISK_BUFFER_SIZE (18 * SECTOR_SIZE) -extern struct harddisk_info harddisk_info[NUM_HD]; +extern struct harddisk_info harddisk_info[]; -extern int ide_init(void); -extern int ide_read_sector(int driveno, void * buf, unsigned int sector, - int byte_offset, int n_bytes); +extern int ide_probe(int drive); +extern int ide_read(int drive, sector_t sector, void *buffer); -- cgit v1.2.3