summaryrefslogtreecommitdiffstats
path: root/src/include/gpxe
diff options
context:
space:
mode:
authorMichael Brown2007-07-29 03:31:14 +0200
committerMichael Brown2007-07-29 03:31:14 +0200
commit43013da9bf02439b4726d8afef15f7ce97d1c469 (patch)
treeb9cacbe294de8d0b06e04799746fc9377010ccb5 /src/include/gpxe
parentApplied a modified version of holger's regparm patches. (diff)
downloadipxe-43013da9bf02439b4726d8afef15f7ce97d1c469.tar.gz
ipxe-43013da9bf02439b4726d8afef15f7ce97d1c469.tar.xz
ipxe-43013da9bf02439b4726d8afef15f7ce97d1c469.zip
Quick hack to get AoE back in to the tree, on a par with the current
iSCSI hack.
Diffstat (limited to 'src/include/gpxe')
-rw-r--r--src/include/gpxe/aoe.h25
-rw-r--r--src/include/gpxe/ata.h3
2 files changed, 11 insertions, 17 deletions
diff --git a/src/include/gpxe/aoe.h b/src/include/gpxe/aoe.h
index eb5e11337..856833841 100644
--- a/src/include/gpxe/aoe.h
+++ b/src/include/gpxe/aoe.h
@@ -81,6 +81,9 @@ struct aoehdr {
/** An AoE session */
struct aoe_session {
+ /** Reference counter */
+ struct refcnt refcnt;
+
/** List of all AoE sessions */
struct list_head list;
@@ -103,8 +106,8 @@ struct aoe_session {
unsigned int status;
/** Byte offset within command's data buffer */
unsigned int command_offset;
- /** Asynchronous operation for this command */
- struct async async;
+ /** Return status code for command */
+ int rc;
/** Retransmission timer */
struct retry_timer timer;
@@ -116,20 +119,8 @@ struct aoe_session {
/** Maximum number of sectors per packet */
#define AOE_MAX_COUNT 2
-extern void aoe_open ( struct aoe_session *aoe );
-extern void aoe_close ( struct aoe_session *aoe );
-extern int aoe_issue ( struct aoe_session *aoe,
- struct ata_command *command,
- struct async *parent );
-
-/** An AoE device */
-struct aoe_device {
- /** ATA device interface */
- struct ata_device ata;
- /** AoE protocol instance */
- struct aoe_session aoe;
-};
-
-extern int init_aoedev ( struct aoe_device *aoedev );
+extern void aoe_detach ( struct ata_device *ata );
+extern int aoe_attach ( struct ata_device *ata, struct net_device *netdev,
+ const char *root_path );
#endif /* _GPXE_AOE_H */
diff --git a/src/include/gpxe/ata.h b/src/include/gpxe/ata.h
index e0fca7afe..b6da39302 100644
--- a/src/include/gpxe/ata.h
+++ b/src/include/gpxe/ata.h
@@ -4,6 +4,7 @@
#include <stdint.h>
#include <gpxe/blockdev.h>
#include <gpxe/uaccess.h>
+#include <gpxe/refcnt.h>
/** @file
*
@@ -195,6 +196,8 @@ struct ata_device {
*/
int ( * command ) ( struct ata_device *ata,
struct ata_command *command );
+ /** Backing device */
+ struct refcnt *backend;
};
extern int init_atadev ( struct ata_device *ata );