These changes are the raw update to qemu-2.6.
[kvmfornfv.git] / qemu / roms / ipxe / src / include / ipxe / efi / efi_snp.h
index a18bced..1e5c666 100644 (file)
@@ -18,6 +18,9 @@
 #include <ipxe/efi/Protocol/HiiDatabase.h>
 #include <ipxe/efi/Protocol/LoadFile.h>
 
+/** SNP transmit completion ring size */
+#define EFI_SNP_NUM_TX 32
+
 /** An SNP device */
 struct efi_snp_device {
        /** List of SNP devices */
@@ -34,20 +37,16 @@ struct efi_snp_device {
        EFI_SIMPLE_NETWORK_MODE mode;
        /** Started flag */
        int started;
-       /** Outstanding TX packet count (via "interrupt status")
-        *
-        * Used in order to generate TX completions.
-        */
-       unsigned int tx_count_interrupts;
-       /** Outstanding TX packet count (via "recycled tx buffers")
-        *
-        * Used in order to generate TX completions.
-        */
-       unsigned int tx_count_txbufs;
-       /** Outstanding RX packet count (via "interrupt status") */
-       unsigned int rx_count_interrupts;
-       /** Outstanding RX packet count (via WaitForPacket event) */
-       unsigned int rx_count_events;
+       /** Pending interrupt status */
+       unsigned int interrupts;
+       /** Transmit completion ring */
+       VOID *tx[EFI_SNP_NUM_TX];
+       /** Transmit completion ring producer counter */
+       unsigned int tx_prod;
+       /** Transmit completion ring consumer counter */
+       unsigned int tx_cons;
+       /** Receive queue */
+       struct list_head rx;
        /** The network interface identifier */
        EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL nii;
        /** Component name protocol */