|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
#include <type.h>Go to the source code of this file.
Data Structures | |
| struct | ahci_port_t |
| struct | ahci_ghc_t |
| struct | __attribute__ |
| struct | ahci_cmd_t |
| struct | ahci_fis_h2d_t |
Macros | |
| #define | AHCI_SIG_ATA 0x00000101 |
| #define | AHCI_SIG_ATAPI 0xEB140101 |
| #define | AHCI_SIG_SEMB 0xC33C0101 |
| #define | AHCI_SIG_PM 0x96690101 |
| #define | HBA_PxSSTS_DET_MASK 0xF |
| #define | HBA_PxSSTS_DET_NONE 0x0 |
| #define | HBA_PxSSTS_DET_PRESENT 0x1 |
| #define | HBA_PxSSTS_DET_ESTABLISHED 0x3 |
| #define | HBA_PxSSTS_DET_OFFLINE 0x4 |
| #define | HBA_PxSSTS_SPD_MASK (0xF << 4) |
| #define | HBA_PxSSTS_SPD_NONE (0x0 << 4) |
| #define | HBA_PxSSTS_SPD_GEN1 (0x1 << 4) |
| #define | HBA_PxSSTS_SPD_GEN2 (0x2 << 4) |
| #define | HBA_PxSSTS_SPD_GEN3 (0x3 << 4) |
| #define | HBA_PxSSTS_IPM_MASK (0xF << 8) |
| #define | HBA_PxSSTS_IPM_NONE (0x0 << 8) |
| #define | HBA_PxSSTS_IPM_ACTIVE (0x1 << 8) |
| #define | HBA_PxSSTS_IPM_PARTIAL (0x2 << 8) |
| #define | HBA_PxSSTS_IPM_SLUMBER (0x6 << 8) |
| #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 } |
| enum | ahci_device_type_t : int { AHCI_DEV_NULL = 0 , AHCI_DEV_SATA , AHCI_DEV_SATAPI , AHCI_DEV_SEMB , AHCI_DEV_PM } |
| #define AHCI_SIG_ATA 0x00000101 |
Definition at line 60 of file ahci_reg.hpp.
Referenced by get_device_type().
| #define AHCI_SIG_ATAPI 0xEB140101 |
Definition at line 61 of file ahci_reg.hpp.
Referenced by get_device_type().
| #define AHCI_SIG_PM 0x96690101 |
Definition at line 63 of file ahci_reg.hpp.
Referenced by get_device_type().
| #define AHCI_SIG_SEMB 0xC33C0101 |
Definition at line 62 of file ahci_reg.hpp.
Referenced by get_device_type().
| #define ATA_DEV_BUSY 0x80 |
Definition at line 84 of file ahci_reg.hpp.
Referenced by AHCIModule::issue_and_wait().
| #define ATA_DEV_DRQ 0x08 |
Definition at line 85 of file ahci_reg.hpp.
Referenced by AHCIModule::issue_and_wait().
| #define HBA_PxSSTS_DET_ESTABLISHED 0x3 |
Definition at line 69 of file ahci_reg.hpp.
Referenced by is_device_present().
| #define HBA_PxSSTS_DET_MASK 0xF |
Definition at line 66 of file ahci_reg.hpp.
Referenced by is_device_present().
| #define HBA_PxSSTS_DET_NONE 0x0 |
Definition at line 67 of file ahci_reg.hpp.
| #define HBA_PxSSTS_DET_OFFLINE 0x4 |
Definition at line 70 of file ahci_reg.hpp.
| #define HBA_PxSSTS_DET_PRESENT 0x1 |
Definition at line 68 of file ahci_reg.hpp.
| #define HBA_PxSSTS_IPM_ACTIVE (0x1 << 8) |
Definition at line 80 of file ahci_reg.hpp.
| #define HBA_PxSSTS_IPM_MASK (0xF << 8) |
Definition at line 78 of file ahci_reg.hpp.
| #define HBA_PxSSTS_IPM_NONE (0x0 << 8) |
Definition at line 79 of file ahci_reg.hpp.
| #define HBA_PxSSTS_IPM_PARTIAL (0x2 << 8) |
Definition at line 81 of file ahci_reg.hpp.
| #define HBA_PxSSTS_IPM_SLUMBER (0x6 << 8) |
Definition at line 82 of file ahci_reg.hpp.
| #define HBA_PxSSTS_SPD_GEN1 (0x1 << 4) |
Definition at line 74 of file ahci_reg.hpp.
| #define HBA_PxSSTS_SPD_GEN2 (0x2 << 4) |
Definition at line 75 of file ahci_reg.hpp.
| #define HBA_PxSSTS_SPD_GEN3 (0x3 << 4) |
Definition at line 76 of file ahci_reg.hpp.
| #define HBA_PxSSTS_SPD_MASK (0xF << 4) |
Definition at line 72 of file ahci_reg.hpp.
| #define HBA_PxSSTS_SPD_NONE (0x0 << 4) |
Definition at line 73 of file ahci_reg.hpp.
| enum ahci_device_type_t : int |
| Enumerator | |
|---|---|
| AHCI_DEV_NULL | |
| AHCI_DEV_SATA | |
| AHCI_DEV_SATAPI | |
| AHCI_DEV_SEMB | |
| AHCI_DEV_PM | |
Definition at line 98 of file ahci_reg.hpp.
| 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 | |
Definition at line 87 of file ahci_reg.hpp.