diff options
Diffstat (limited to 'src/drivers/net/intel.h')
-rw-r--r-- | src/drivers/net/intel.h | 26 |
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 */ |