diff options
| author | Simon Rettberg | 2021-04-15 11:29:11 +0200 |
|---|---|---|
| committer | Simon Rettberg | 2021-04-15 11:29:11 +0200 |
| commit | e6589858be226fa86b109a7737b0780bf5640697 (patch) | |
| tree | ca95febb1511ad0b206fd20eb912639f3c3db14a /src/include | |
| parent | Merge branch 'master' into openslx (diff) | |
| parent | [xen] Support scatter-gather to allow for jumbo frames (diff) | |
| download | ipxe-e6589858be226fa86b109a7737b0780bf5640697.tar.gz ipxe-e6589858be226fa86b109a7737b0780bf5640697.tar.xz ipxe-e6589858be226fa86b109a7737b0780bf5640697.zip | |
Merge branch 'master' into openslx
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/ipxe/netdevice.h | 6 | ||||
| -rw-r--r-- | src/include/ipxe/pci.h | 3 | ||||
| -rw-r--r-- | src/include/ipxe/xengrant.h | 7 |
3 files changed, 13 insertions, 3 deletions
diff --git a/src/include/ipxe/netdevice.h b/src/include/ipxe/netdevice.h index b9c651c71..294f7b367 100644 --- a/src/include/ipxe/netdevice.h +++ b/src/include/ipxe/netdevice.h @@ -451,6 +451,12 @@ struct net_device { */ #define NETDEV_IRQ_UNSUPPORTED 0x0008 +/** Network device transmission is in progress */ +#define NETDEV_TX_IN_PROGRESS 0x0010 + +/** Network device poll is in progress */ +#define NETDEV_POLL_IN_PROGRESS 0x0020 + /** Link-layer protocol table */ #define LL_PROTOCOLS __table ( struct ll_protocol, "ll_protocols" ) diff --git a/src/include/ipxe/pci.h b/src/include/ipxe/pci.h index 6632c574d..933f48530 100644 --- a/src/include/ipxe/pci.h +++ b/src/include/ipxe/pci.h @@ -135,6 +135,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #define PCI_CLASS_SERIAL_USB_EHCI 0x20 /**< ECHI USB controller */ #define PCI_CLASS_SERIAL_USB_XHCI 0x30 /**< xHCI USB controller */ +/** Subordinate bus number */ +#define PCI_SUBORDINATE 0x1a + /** Construct PCI class * * @v base Base class (or PCI_ANY_ID) diff --git a/src/include/ipxe/xengrant.h b/src/include/ipxe/xengrant.h index 451a3ceee..fcb7a7157 100644 --- a/src/include/ipxe/xengrant.h +++ b/src/include/ipxe/xengrant.h @@ -166,16 +166,17 @@ xengrant_invalidate ( struct xen_hypervisor *xen, grant_ref_t ref ) { * @v ref Grant reference * @v domid Domain ID * @v subflags Additional flags - * @v page Page start + * @v addr Physical address within page * @ret rc Return status code */ static inline __attribute__ (( always_inline )) int xengrant_permit_access ( struct xen_hypervisor *xen, grant_ref_t ref, - domid_t domid, unsigned int subflags, void *page ) { + domid_t domid, unsigned int subflags, + physaddr_t addr ) { struct grant_entry_header *hdr = xengrant_header ( xen, ref ); struct grant_entry_v1 *v1 = xengrant_v1 ( hdr ); union grant_entry_v2 *v2 = xengrant_v2 ( hdr ); - unsigned long frame = ( virt_to_phys ( page ) / PAGE_SIZE ); + unsigned long frame = ( addr / PAGE_SIZE ); /* Fail (for test purposes) if applicable */ if ( ( XENGRANT_FAIL_RATE > 0 ) && |
