2 * Copyright (C) 2011, The AROS Development Team. All rights reserved.
3 * Author: Jason S. McMullan <jason.mcmullan@gmail.com>
5 * Licensed under the AROS PUBLIC LICENSE (APL) Version 1.1
11 #include <exec/types.h>
14 #include <devices/scsidisk.h>
15 #include <exec/devices.h>
19 #include <hardware/ahci.h>
21 #define Unit(io) ((struct ahci_Unit *)(io)->io_Unit)
22 #define IOStdReq(io) ((struct IOStdReq *)io)
26 #define DEV_UNKNOWN 0x01
29 #define DEV_ATAPI 0x80
30 #define DEV_SATAPI 0x81
31 #define DEV_BROKEN 0xff
34 /* ahci.device base */
38 * Device structure - used to manage devices by Exec
40 struct Device ahci_Device
;
45 struct Task
*ahci_Daemon
;
47 /* Count of all hosts detected */
53 struct MinList ahci_Units
;
60 /* Frequently used object offsets */
61 OOP_AttrBase ahci_HiddPCIDeviceAttrBase
;
62 OOP_MethodID ahci_HiddPCIDeviceMethodBase
;
64 OOP_MethodID ahci_HiddPCIDriverMethodBase
;
69 #include <exec/semaphores.h>
72 struct MinNode sim_Node
;
73 struct ahci_port
*sim_Port
;
76 struct SignalSemaphore sim_Lock
;
77 unsigned int sim_Timeout
;
80 #define SIMB_MediaPresent 0 /* Media is present */
81 #define SIMB_OffLine 1 /* No new IOs are permitted */
82 #define SIMF_MediaPresent (1 << SIMB_MediaPresent)
83 #define SIMF_OffLine (1 << SIMB_OffLine)
85 struct Task
*sim_Monitor
;
88 #endif /* AHCI_INTERN_H */