summaryrefslogtreecommitdiffstats
path: root/src/include
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
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')
-rw-r--r--src/include/gpxe/aoe.h25
-rw-r--r--src/include/gpxe/ata.h3
-rw-r--r--src/include/usr/aoeboot.h6
3 files changed, 17 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 );
diff --git a/src/include/usr/aoeboot.h b/src/include/usr/aoeboot.h
new file mode 100644
index 000000000..0421ebcc0
--- /dev/null
+++ b/src/include/usr/aoeboot.h
@@ -0,0 +1,6 @@
+#ifndef _USR_AOEBOOT_H
+#define _USR_AOEBOOT_H
+
+extern int aoeboot ( const char *root_path );
+
+#endif /* _USR_AOEBOOT_H */