aboutsummaryrefslogtreecommitdiffstats
path: root/src/drivers/net/intel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/net/intel.h')
-rw-r--r--src/drivers/net/intel.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/drivers/net/intel.h b/src/drivers/net/intel.h
index 2656cda5..ce9e3f46 100644
--- a/src/drivers/net/intel.h
+++ b/src/drivers/net/intel.h
@@ -243,6 +243,29 @@ intel_init_ring ( struct intel_ring *ring, unsigned int count, unsigned int reg,
ring->describe = describe;
}
+/** An Intel virtual function mailbox */
+struct intel_mailbox {
+ /** Mailbox control register */
+ unsigned int ctrl;
+ /** Mailbox memory base */
+ unsigned int mem;
+};
+
+/**
+ * Initialise mailbox
+ *
+ * @v mbox Mailbox
+ * @v ctrl Mailbox control register
+ * @v mem Mailbox memory register base
+ */
+static inline __attribute__ (( always_inline )) void
+intel_init_mbox ( struct intel_mailbox *mbox, unsigned int ctrl,
+ unsigned int mem ) {
+
+ mbox->ctrl = ctrl;
+ mbox->mem = mem;
+}
+
/** An Intel network card */
struct intel_nic {
/** Registers */
@@ -261,6 +284,9 @@ struct intel_nic {
/** EEPROM address shift */
unsigned int eerd_addr_shift;
+ /** Mailbox */
+ struct intel_mailbox mbox;
+
/** Transmit descriptor ring */
struct intel_ring tx;
/** Receive descriptor ring */