diff options
Diffstat (limited to 'qemu/roms/ipxe/src/drivers/net/ecm.h')
-rw-r--r-- | qemu/roms/ipxe/src/drivers/net/ecm.h | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/qemu/roms/ipxe/src/drivers/net/ecm.h b/qemu/roms/ipxe/src/drivers/net/ecm.h deleted file mode 100644 index 83d324bdc..000000000 --- a/qemu/roms/ipxe/src/drivers/net/ecm.h +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef _ECM_H -#define _ECM_H - -/** @file - * - * CDC-ECM USB Ethernet driver - * - */ - -FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); - -#include <ipxe/usb.h> -#include <ipxe/usbnet.h> -#include <ipxe/cdc.h> - -/** CDC-ECM subclass */ -#define USB_SUBCLASS_CDC_ECM 0x06 - -/** Set Ethernet packet filter */ -#define ECM_SET_ETHERNET_PACKET_FILTER \ - ( USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE | \ - USB_REQUEST_TYPE ( 0x43 ) ) - -/** Ethernet packet types */ -enum ecm_ethernet_packet_filter { - /** Promiscuous mode */ - ECM_PACKET_TYPE_PROMISCUOUS = 0x0001, - /** All multicast packets */ - ECM_PACKET_TYPE_ALL_MULTICAST = 0x0002, - /** Unicast packets */ - ECM_PACKET_TYPE_DIRECTED = 0x0004, - /** Broadcast packets */ - ECM_PACKET_TYPE_BROADCAST = 0x0008, - /** Specified multicast packets */ - ECM_PACKET_TYPE_MULTICAST = 0x0010, -}; - -/** An Ethernet Functional Descriptor */ -struct ecm_ethernet_descriptor { - /** Descriptor header */ - struct usb_descriptor_header header; - /** Descriptor subtype */ - uint8_t subtype; - /** MAC address string */ - uint8_t mac; - /** Ethernet statistics bitmap */ - uint32_t statistics; - /** Maximum segment size */ - uint16_t mtu; - /** Multicast filter configuration */ - uint16_t mcast; - /** Number of wake-on-LAN filters */ - uint8_t wol; -} __attribute__ (( packed )); - -/** A CDC-ECM network device */ -struct ecm_device { - /** USB device */ - struct usb_device *usb; - /** USB bus */ - struct usb_bus *bus; - /** Network device */ - struct net_device *netdev; - /** USB network device */ - struct usbnet_device usbnet; -}; - -/** Interrupt maximum fill level - * - * This is a policy decision. - */ -#define ECM_INTR_MAX_FILL 2 - -/** Bulk IN maximum fill level - * - * This is a policy decision. - */ -#define ECM_IN_MAX_FILL 8 - -/** Bulk IN buffer size - * - * This is a policy decision. - */ -#define ECM_IN_MTU ( ETH_FRAME_LEN + 4 /* possible VLAN header */ ) - -extern struct ecm_ethernet_descriptor * -ecm_ethernet_descriptor ( struct usb_configuration_descriptor *config, - struct usb_interface_descriptor *interface ); -extern int ecm_fetch_mac ( struct usb_device *usb, - struct ecm_ethernet_descriptor *desc, - uint8_t *hw_addr ); - -#endif /* _ECM_H */ |