|
sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
|
#include <types.h>#include <defs.h>#include <irx.h>#include <loadcore.h>#include <thbase.h>#include <thevent.h>#include <stdio.h>#include <sysclib.h>#include <atad.h>#include <atahw.h>Go to the source code of this file.
Classes | |
| struct | _ata_cmd_info |
| struct | _ata_cmd_state |
Macros | |
| #define | MODNAME "atad" |
| #define | M_PRINTF(format, args...) |
| #define | BANNER "ATA device driver %s - Copyright (c) 2003 Marcus R. Brown\n" |
| #define | VERSION "v1.2" |
| #define | ATA_XFER_MODE_PIO 0x08 |
| #define | ATA_XFER_MODE_UDMA 0x40 |
| #define | ATA_EV_TIMEOUT 1 |
| #define | ATA_EV_COMPLETE 2 |
| #define | ATA_CMD_TABLE_SIZE (sizeof ata_cmd_table / sizeof(ata_cmd_info_t)) |
| #define | SEC_CTRL_CMD_TABLE_SIZE (sizeof sec_ctrl_cmd_table / sizeof(ata_cmd_info_t)) |
| #define | SMART_CMD_TABLE_SIZE (sizeof smart_cmd_table / sizeof(ata_cmd_info_t)) |
| #define | ATA_WAIT_BUSY 0x80 |
| #define | ATA_WAIT_BUSBUSY 0x88 |
| #define | ata_wait_busy() |
| #define | ata_wait_bus_busy() |
Typedefs | |
| typedef struct _ata_cmd_info | ata_cmd_info_t |
| typedef struct _ata_cmd_state | ata_cmd_state_t |
Functions | |
| IRX_ID (MODNAME, 2, 7) | |
| int | ata_device_sector_io64 (int device, void *buf, u64 lba, u32 nsectors, int dir) |
| int | _start (int argc, char *argv[]) |
| int | _exit (void) |
| int | sceAtaGetError (void) |
| int | sceAtaExecCmd (void *buf, u32 blkcount, u16 feature, u16 nsector, u16 sector, u16 lcyl, u16 hcyl, u16 select, u16 command) |
| int | sceAtaWaitResult (void) |
| int | sceAtaSoftReset (void) |
| int | sceAtaFlushCache (int device) |
| int | sceAtaIdle (int device, int period) |
| int | sceAtaGetSceId (int device, void *data) |
| int | sceAtaSmartSaveAttr (int device) |
| int | sceAtaSmartReturnStatus (int device) |
| int | sceAtaDmaTransfer (int device, void *buf, u32 lba, u32 nsectors, int dir) |
| int | sceAtaSecuritySetPassword (int device, void *password) |
| int | sceAtaSecurityUnLock (int device, void *password) |
| int | sceAtaSecurityEraseUnit (int device) |
| ata_devinfo_t * | sceAtaInit (int device) |
| int | sceAtaIdleImmediate (int device) |
Variables | |
| struct irx_export_table | _exp_atad |
ATA device driver. This module provides the low-level ATA support for hard disk drives, based on ATAD v2.7. It is 100% compatible with its proprietary counterpart called atad.irx.
This module also include support for 48-bit feature set (done by Clement). To avoid causing an "emergency park" for some HDDs, shutdown callback 15 of dev9 is used for issuing the STANDBY IMMEDIATE command prior to DEV9 getting shut down.
Definition in file ps2atad.c.
| #define ATA_CMD_TABLE_SIZE (sizeof ata_cmd_table / sizeof(ata_cmd_info_t)) |
| #define ata_wait_bus_busy | ( | ) |
| #define ata_wait_busy | ( | ) |
| #define BANNER "ATA device driver %s - Copyright (c) 2003 Marcus R. Brown\n" |
| #define M_PRINTF | ( | format, | |
| args... ) |
| #define SEC_CTRL_CMD_TABLE_SIZE (sizeof sec_ctrl_cmd_table / sizeof(ata_cmd_info_t)) |
| #define SMART_CMD_TABLE_SIZE (sizeof smart_cmd_table / sizeof(ata_cmd_info_t)) |
| int ata_device_sector_io64 | ( | int | device, |
| void * | buf, | ||
| u64 | lba, | ||
| u32 | nsectors, | ||
| int | dir ) |
| int sceAtaDmaTransfer | ( | int | device, |
| void * | buf, | ||
| u32 | lba, | ||
| u32 | nsectors, | ||
| int | dir ) |
| int sceAtaExecCmd | ( | void * | buf, |
| u32 | blkcount, | ||
| u16 | feature, | ||
| u16 | nsector, | ||
| u16 | sector, | ||
| u16 | lcyl, | ||
| u16 | hcyl, | ||
| u16 | select, | ||
| u16 | command ) |
| int sceAtaSecuritySetPassword | ( | int | device, |
| void * | password ) |