X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/3b6a05fc894d0c1a3d431045ee5a53955ba093a0..df1e857ac4d1410ae2bd354e361210b842ab7bc8:/lunaix-os/includes/hal/ahci/hba.h diff --git a/lunaix-os/includes/hal/ahci/hba.h b/lunaix-os/includes/hal/ahci/hba.h index c60536d..9bebe8e 100644 --- a/lunaix-os/includes/hal/ahci/hba.h +++ b/lunaix-os/includes/hal/ahci/hba.h @@ -35,12 +35,21 @@ #define HBA_PxINTR_DMA (1 << 2) #define HBA_PxINTR_DHR (1) #define HBA_PxINTR_DPS (1 << 5) -#define HBA_PxINTR_TFEE (1 << 30) -#define HBA_PxINTR_IFE (1 << 27) +#define HBA_PxINTR_TFE (1 << 30) +#define HBA_PxINTR_HBF (1 << 29) +#define HBA_PxINTR_HBD (1 << 28) +#define HBA_PxINTR_IF (1 << 27) +#define HBA_PxINTR_NIF (1 << 26) +#define HBA_PxINTR_OF (1 << 24) #define HBA_PxTFD_ERR (1) #define HBA_PxTFD_BSY (1 << 7) #define HBA_PxTFD_DRQ (1 << 3) +#define HBA_FATAL \ + (HBA_PxINTR_TFE | HBA_PxINTR_HBF | HBA_PxINTR_HBD | HBA_PxINTR_IF) + +#define HBA_NONFATAL (HBA_PxINTR_NIF | HBA_PxINTR_OF) + #define HBA_RGHC_ACHI_ENABLE (1 << 31) #define HBA_RGHC_INTR_ENABLE (1 << 1) #define HBA_RGHC_RESET 1 @@ -98,6 +107,7 @@ struct hba_cmdt #define HBA_DEV_FATAPI (1 << 1) struct hba_port; +struct ahci_hba; struct hba_device { @@ -119,6 +129,7 @@ struct hba_device uint32_t block_per_sec; uint32_t capabilities; struct hba_port* port; + struct ahci_hba* hba; struct { @@ -147,6 +158,7 @@ struct hba_port struct hba_cmd_context cmdctx; void* fis; struct hba_device* device; + struct ahci_hba* hba; }; struct ahci_hba