ApertureOS
Data Structures | Macros | Enumerations | Functions
priv_ahci.h File Reference
#include "types.h"
#include "drivers.h"
Include dependency graph for priv_ahci.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  FIS_REG_H2D
 
struct  FIS_REG_D2H
 
struct  FIS_DATA
 
struct  FIS_PIO_SETUP
 
struct  FIS_DMA_SETUP
 
struct  HBA_PORT
 
struct  HBA_MEM
 
struct  HBA_FIS
 
struct  HBA_CMD_HEADER
 
struct  HBA_PRDT_ENTRY
 
struct  HBA_CMD_TBL
 

Macros

#define SATA_SIG_ATA   0x00000101
 
#define SATA_SIG_ATAPI   0xEB140101
 
#define SATA_SIG_SEMB   0xC33C0101
 
#define SATA_SIG_PM   0x96690101
 
#define HBA_PORT_IPM_ACTIVE   0x1
 
#define HBA_PORT_DET_PRESENT   0x3
 
#define HBA_NO_DEVICE   0x00
 
#define AHCI_DEV_SATAPI   0x01
 
#define AHCI_DEV_SATA   0x02
 
#define AHCI_DEV_PM   0x04
 
#define AHCI_DEV_SEMB   0x08
 
#define ATA_DEV_BUSY   0x80
 
#define ATA_DEV_DRQ   0x08
 

Enumerations

enum  FIS_TYPE {
  FIS_TYPE_REG_H2D = 0x27, FIS_TYPE_REG_D2H = 0x34, FIS_TYPE_DMA_ACT = 0x39, FIS_TYPE_DMA_SETUP = 0x41,
  FIS_TYPE_DATA = 0x46, FIS_TYPE_BIST = 0x58, FIS_TYPE_PIO_SETUP = 0x5F, FIS_TYPE_DEV_BITS = 0xA1
}
 

Functions

int AHCI_FindCMDSlot (HBA_PORT *port)
 
void AHCI_RebasePort (HBA_PORT *port, uint32_t AHCI_BASE, int portno)
 
bool AHCI_SendIOCommand (HBA_PORT *port, uint64_t start, uint32_t count, uint16_t *buf, bool write)
 
void AHCI_StartCMD (HBA_PORT *port)
 
void AHCI_StopCMD (HBA_PORT *port)
 

Macro Definition Documentation

#define AHCI_DEV_PM   0x04
#define AHCI_DEV_SATA   0x02
#define AHCI_DEV_SATAPI   0x01
#define AHCI_DEV_SEMB   0x08
#define ATA_DEV_BUSY   0x80
#define ATA_DEV_DRQ   0x08
#define HBA_NO_DEVICE   0x00
#define HBA_PORT_DET_PRESENT   0x3
#define HBA_PORT_IPM_ACTIVE   0x1
#define SATA_SIG_ATA   0x00000101
#define SATA_SIG_ATAPI   0xEB140101
#define SATA_SIG_PM   0x96690101
#define SATA_SIG_SEMB   0xC33C0101

Enumeration Type Documentation

enum FIS_TYPE
Enumerator
FIS_TYPE_REG_H2D 
FIS_TYPE_REG_D2H 
FIS_TYPE_DMA_ACT 
FIS_TYPE_DMA_SETUP 
FIS_TYPE_DATA 
FIS_TYPE_BIST 
FIS_TYPE_PIO_SETUP 
FIS_TYPE_DEV_BITS 

Function Documentation

int AHCI_FindCMDSlot ( HBA_PORT port)
void AHCI_RebasePort ( HBA_PORT port,
uint32_t  AHCI_BASE,
int  portno 
)
bool AHCI_SendIOCommand ( HBA_PORT port,
uint64_t  start,
uint32_t  count,
uint16_t *  buf,
bool  write 
)
void AHCI_StartCMD ( HBA_PORT port)
void AHCI_StopCMD ( HBA_PORT port)