|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
#include "ahci/ahci.hpp"#include "ahci/ahci_reg.hpp"#include "ioforge/ioforge.h"#include "ioforge/ioforge.hpp"#include "ioforge/ioforge_block.h"#include "ioforge/ioforge_pci.h"#include "memory/kalloc.h"#include <type.h>#include <str.h>Go to the source code of this file.
Macros | |
| #define | ATA_CMD_IDENTIFY_PACKET 0xA1 |
| #define | ATA_CMD_IDENTIFY 0xEC |
| #define | ATA_CMD_WRITE_DMA_EXT 0x35 |
| #define | ATA_CMD_READ_DMA_EXT 0x25 |
| #define | ATA_CMD_PACKET 0xA0 |
| #define | ATA_CMD_FLUSH_CACHE_EXT 0xEA |
Functions | |
| static bool | is_device_present (ahci_port_t *port) |
| static ahci_device_type_t | get_device_type (ahci_port_t *port) |
| static int | find_cmdslot (ahci_port_t *port) |
| int | submit (struct ioforge_block_device *dev, struct ioforge_block_request *req) |
Variables | |
| static struct ahci_internal_vaddr | port_vaddr [32] |
| #define ATA_CMD_IDENTIFY 0xEC |
Definition at line 153 of file ahci.cpp.
Referenced by AHCIModule::ata_identify().
| #define ATA_CMD_IDENTIFY_PACKET 0xA1 |
Definition at line 152 of file ahci.cpp.
Referenced by AHCIModule::ata_identify().
| #define ATA_CMD_PACKET 0xA0 |
Definition at line 156 of file ahci.cpp.
Referenced by AHCIModule::atapi_packet().
| #define ATA_CMD_READ_DMA_EXT 0x25 |
Definition at line 155 of file ahci.cpp.
Referenced by AHCIModule::ata_rw().
| #define ATA_CMD_WRITE_DMA_EXT 0x35 |
Definition at line 154 of file ahci.cpp.
Referenced by AHCIModule::ata_rw().
|
static |
Definition at line 85 of file ahci.cpp.
References ahci_port_t::ci, log, and ahci_port_t::sact.
Referenced by AHCIModule::ata_flush(), AHCIModule::ata_identify(), AHCIModule::ata_rw(), and AHCIModule::atapi_packet().
|
static |
Definition at line 21 of file ahci.cpp.
References AHCI_DEV_NULL, AHCI_DEV_PM, AHCI_DEV_SATA, AHCI_DEV_SATAPI, AHCI_DEV_SEMB, AHCI_SIG_ATA, AHCI_SIG_ATAPI, AHCI_SIG_PM, AHCI_SIG_SEMB, is_device_present(), and ahci_port_t::sig.
Referenced by AHCIModule::probe().
|
static |
Definition at line 14 of file ahci.cpp.
References HBA_PxSSTS_DET_ESTABLISHED, HBA_PxSSTS_DET_MASK, and ahci_port_t::ssts.
Referenced by get_device_type(), and AHCIModule::probe().
| int submit | ( | struct ioforge_block_device * | dev, |
| struct ioforge_block_request * | req ) |
Definition at line 413 of file ahci.cpp.
References AHCIModule::getInstance(), and instance.
Referenced by AHCIModule::probe().
|
static |
Definition at line 12 of file ahci.cpp.
Referenced by AHCIModule::probe(), and AHCIModule::submit_impl().