rendered paste body#ifndef _APPLEONBOARDPCATASHARED_H
#define _APPLEONBOARDPCATASHARED_H
#define kMaxDriveCount 2
#define kMaxChannelCount 2
#define kPrimaryCommandPort 0x1f0
#define kPrimaryControlPort 0x3f4
#define kSecondaryCommandPort 0x170
#define kSecondaryControlPort 0x374
#define kPrimaryIRQ 14
#define kSecondaryIRQ 15
#define kPrimaryChannelID 0
#define kSecondaryChannelID 1
/*
* Bus master registers are located in I/O space.
* Register size (bits) indicated in parenthesis.
*/
#define BM_COMMAND 0x00 // (8) Command register
#define BM_STATUS 0x02 // (8) Status register
#define BM_PRD_PTR 0x04 // (32) Descriptor table register
#define BM_SEC_OFFSET 8 // offset to channel 1 registers
#define BM_STATUS_INT 0x04 // IDE device asserted its interrupt
#define BM_ADDR_MASK 0xfff0 // BMIBA I/O base address mask
/*
* PCI Programming Interface register
*/
#define PCI_ATA_PRI_NATIVE_ENABLED 0x01
#define PCI_ATA_PRI_NATIVE_SUPPORTED 0x02
#define PCI_ATA_SEC_NATIVE_ENABLED 0x04
#define PCI_ATA_SEC_NATIVE_SUPPORTED 0x08
#define PCI_ATA_BUS_MASTER_SUPPORTED 0x80