git: b02a39778952 - main - hyperv: purge EOL release compatibility
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 04 Feb 2023 16:20:29 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=b02a39778952a36fec868e94b249244d7394300f
commit b02a39778952a36fec868e94b249244d7394300f
Author: Elliott Mitchell <ehem+freebsd@m5p.com>
AuthorDate: 2022-06-23 00:53:47 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-02-04 16:13:09 +0000
hyperv: purge EOL release compatibility
Remove FreeBSD 11 and earlier support
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/603
Differential Revision: https://reviews.freebsd.org/D35560
---
sys/dev/hyperv/netvsc/if_hn.c | 72 ----------------------
sys/dev/hyperv/pcib/vmbus_pcib.c | 128 ---------------------------------------
sys/dev/hyperv/vmbus/vmbus.c | 2 -
sys/dev/hyperv/vmbus/vmbus_var.h | 4 --
4 files changed, 206 deletions(-)
diff --git a/sys/dev/hyperv/netvsc/if_hn.c b/sys/dev/hyperv/netvsc/if_hn.c
index 63795261b21c..bd64d64963de 100644
--- a/sys/dev/hyperv/netvsc/if_hn.c
+++ b/sys/dev/hyperv/netvsc/if_hn.c
@@ -325,17 +325,11 @@ static void hn_nvs_handle_rxbuf(struct hn_rx_ring *,
static void hn_nvs_ack_rxbuf(struct hn_rx_ring *,
struct vmbus_channel *, uint64_t);
-#if __FreeBSD_version >= 1100099
static int hn_lro_lenlim_sysctl(SYSCTL_HANDLER_ARGS);
static int hn_lro_ackcnt_sysctl(SYSCTL_HANDLER_ARGS);
-#endif
static int hn_trust_hcsum_sysctl(SYSCTL_HANDLER_ARGS);
static int hn_chim_size_sysctl(SYSCTL_HANDLER_ARGS);
-#if __FreeBSD_version < 1100095
-static int hn_rx_stat_int_sysctl(SYSCTL_HANDLER_ARGS);
-#else
static int hn_rx_stat_u64_sysctl(SYSCTL_HANDLER_ARGS);
-#endif
static int hn_rx_stat_ulong_sysctl(SYSCTL_HANDLER_ARGS);
static int hn_tx_stat_ulong_sysctl(SYSCTL_HANDLER_ARGS);
static int hn_tx_conf_int_sysctl(SYSCTL_HANDLER_ARGS);
@@ -526,12 +520,10 @@ SYSCTL_INT(_hw_hn, OID_AUTO, direct_tx_size, CTLFLAG_RDTUN,
/* # of LRO entries per RX ring */
#if defined(INET) || defined(INET6)
-#if __FreeBSD_version >= 1100095
static int hn_lro_entry_count = HN_LROENT_CNT_DEF;
SYSCTL_INT(_hw_hn, OID_AUTO, lro_entry_count, CTLFLAG_RDTUN,
&hn_lro_entry_count, 0, "LRO entry count");
#endif
-#endif
static int hn_tx_taskq_cnt = 1;
SYSCTL_INT(_hw_hn, OID_AUTO, tx_taskq_cnt, CTLFLAG_RDTUN,
@@ -578,11 +570,9 @@ SYSCTL_INT(_hw_hn, OID_AUTO, tx_swq_depth, CTLFLAG_RDTUN,
&hn_tx_swq_depth, 0, "Depth of IFQ or BUFRING");
/* Enable sorted LRO, and the depth of the per-channel mbuf queue */
-#if __FreeBSD_version >= 1100095
static u_int hn_lro_mbufq_depth = 0;
SYSCTL_UINT(_hw_hn, OID_AUTO, lro_mbufq_depth, CTLFLAG_RDTUN,
&hn_lro_mbufq_depth, 0, "Depth of LRO mbuf queue");
-#endif
/* Packet transmission aggregation size limit */
static int hn_tx_agg_size = -1;
@@ -665,7 +655,6 @@ DRIVER_MODULE(hn, vmbus, hn_driver, 0, 0);
MODULE_VERSION(hn, 1);
MODULE_DEPEND(hn, vmbus, 1, 1, 1);
-#if __FreeBSD_version >= 1100099
static void
hn_set_lro_lenlim(struct hn_softc *sc, int lenlim)
{
@@ -674,7 +663,6 @@ hn_set_lro_lenlim(struct hn_softc *sc, int lenlim)
for (i = 0; i < sc->hn_rx_ring_cnt; ++i)
sc->hn_rx_ring[i].hn_lro.lro_length_lim = lenlim;
}
-#endif
static int
hn_txpkt_sglist(struct hn_tx_ring *txr, struct hn_txdesc *txd)
@@ -1430,10 +1418,8 @@ hn_mtu_change_fixup(struct hn_softc *sc)
ifp = sc->hn_ifp;
hn_set_tso_maxsize(sc, hn_tso_maxlen, ifp->if_mtu);
-#if __FreeBSD_version >= 1100099
if (sc->hn_rx_ring[0].hn_lro.lro_length_lim < HN_LRO_LENLIM_MIN(ifp))
hn_set_lro_lenlim(sc, HN_LRO_LENLIM_MIN(ifp));
-#endif
}
static uint32_t
@@ -2268,7 +2254,6 @@ hn_attach(device_t dev)
else if (bootverbose)
device_printf(dev, "RNDIS mtu %u\n", mtu);
-#if __FreeBSD_version >= 1100099
if (sc->hn_rx_ring_inuse > 1) {
/*
* Reduce TCP segment aggregation limit for multiple
@@ -2276,7 +2261,6 @@ hn_attach(device_t dev)
*/
hn_set_lro_lenlim(sc, HN_LRO_LENLIM_MULTIRX_DEF);
}
-#endif
/*
* Fixup TX/RX stuffs after synthetic parts are attached.
@@ -3421,12 +3405,10 @@ hv_m_append(struct mbuf *m0, int len, c_caddr_t cp)
static __inline int
hn_lro_rx(struct lro_ctrl *lc, struct mbuf *m)
{
-#if __FreeBSD_version >= 1100095
if (hn_lro_mbufq_depth) {
tcp_lro_queue_mbuf(lc, m);
return 0;
}
-#endif
return tcp_lro_rx(lc, m, 0);
}
#endif
@@ -4166,8 +4148,6 @@ hn_init(void *xsc)
HN_UNLOCK(sc);
}
-#if __FreeBSD_version >= 1100099
-
static int
hn_lro_lenlim_sysctl(SYSCTL_HANDLER_ARGS)
{
@@ -4222,8 +4202,6 @@ hn_lro_ackcnt_sysctl(SYSCTL_HANDLER_ARGS)
return 0;
}
-#endif
-
static int
hn_trust_hcsum_sysctl(SYSCTL_HANDLER_ARGS)
{
@@ -4272,33 +4250,6 @@ hn_chim_size_sysctl(SYSCTL_HANDLER_ARGS)
return 0;
}
-#if __FreeBSD_version < 1100095
-static int
-hn_rx_stat_int_sysctl(SYSCTL_HANDLER_ARGS)
-{
- struct hn_softc *sc = arg1;
- int ofs = arg2, i, error;
- struct hn_rx_ring *rxr;
- uint64_t stat;
-
- stat = 0;
- for (i = 0; i < sc->hn_rx_ring_cnt; ++i) {
- rxr = &sc->hn_rx_ring[i];
- stat += *((int *)((uint8_t *)rxr + ofs));
- }
-
- error = sysctl_handle_64(oidp, &stat, 0, req);
- if (error || req->newptr == NULL)
- return error;
-
- /* Zero out this stat. */
- for (i = 0; i < sc->hn_rx_ring_cnt; ++i) {
- rxr = &sc->hn_rx_ring[i];
- *((int *)((uint8_t *)rxr + ofs)) = 0;
- }
- return 0;
-}
-#else
static int
hn_rx_stat_u64_sysctl(SYSCTL_HANDLER_ARGS)
{
@@ -4325,8 +4276,6 @@ hn_rx_stat_u64_sysctl(SYSCTL_HANDLER_ARGS)
return 0;
}
-#endif
-
static int
hn_rx_stat_ulong_sysctl(SYSCTL_HANDLER_ARGS)
{
@@ -4986,9 +4935,7 @@ hn_create_rx_data(struct hn_softc *sc, int ring_cnt)
struct sysctl_ctx_list *ctx;
device_t dev = sc->hn_dev;
#if defined(INET) || defined(INET6)
-#if __FreeBSD_version >= 1100095
int lroent_cnt;
-#endif
#endif
int i;
@@ -5015,13 +4962,11 @@ hn_create_rx_data(struct hn_softc *sc, int ring_cnt)
M_DEVBUF, M_WAITOK | M_ZERO);
#if defined(INET) || defined(INET6)
-#if __FreeBSD_version >= 1100095
lroent_cnt = hn_lro_entry_count;
if (lroent_cnt < TCP_LRO_ENTRIES)
lroent_cnt = TCP_LRO_ENTRIES;
if (bootverbose)
device_printf(dev, "LRO: entry count %d\n", lroent_cnt);
-#endif
#endif /* INET || INET6 */
ctx = device_get_sysctl_ctx(dev);
@@ -5061,17 +5006,10 @@ hn_create_rx_data(struct hn_softc *sc, int ring_cnt)
* Initialize LRO.
*/
#if defined(INET) || defined(INET6)
-#if __FreeBSD_version >= 1100095
tcp_lro_init_args(&rxr->hn_lro, sc->hn_ifp, lroent_cnt,
hn_lro_mbufq_depth);
-#else
- tcp_lro_init(&rxr->hn_lro);
- rxr->hn_lro.ifp = sc->hn_ifp;
-#endif
-#if __FreeBSD_version >= 1100099
rxr->hn_lro.lro_length_lim = HN_LRO_LENLIM_DEF;
rxr->hn_lro.lro_ackcnt_lim = HN_LRO_ACKCNT_DEF;
-#endif
#endif /* INET || INET6 */
if (sc->hn_rx_sysctl_tree != NULL) {
@@ -5122,26 +5060,17 @@ hn_create_rx_data(struct hn_softc *sc, int ring_cnt)
SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "lro_queued",
CTLTYPE_U64 | CTLFLAG_RW | CTLFLAG_MPSAFE | CTLFLAG_STATS , sc,
__offsetof(struct hn_rx_ring, hn_lro.lro_queued),
-#if __FreeBSD_version < 1100095
- hn_rx_stat_int_sysctl,
-#else
hn_rx_stat_u64_sysctl,
-#endif
"LU", "LRO queued");
SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "lro_flushed",
CTLTYPE_U64 | CTLFLAG_RW | CTLFLAG_MPSAFE | CTLFLAG_STATS , sc,
__offsetof(struct hn_rx_ring, hn_lro.lro_flushed),
-#if __FreeBSD_version < 1100095
- hn_rx_stat_int_sysctl,
-#else
hn_rx_stat_u64_sysctl,
-#endif
"LU", "LRO flushed");
SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "lro_tried",
CTLTYPE_ULONG | CTLFLAG_RW | CTLFLAG_MPSAFE | CTLFLAG_STATS , sc,
__offsetof(struct hn_rx_ring, hn_lro_tried),
hn_rx_stat_ulong_sysctl, "LU", "# of LRO tries");
-#if __FreeBSD_version >= 1100099
SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "lro_length_lim",
CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc, 0,
hn_lro_lenlim_sysctl, "IU",
@@ -5150,7 +5079,6 @@ hn_create_rx_data(struct hn_softc *sc, int ring_cnt)
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc, 0,
hn_lro_ackcnt_sysctl, "I",
"Max # of ACKs to be aggregated by LRO");
-#endif
SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "trust_hosttcp",
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, sc, HN_TRUST_HCSUM_TCP,
hn_trust_hcsum_sysctl, "I",
diff --git a/sys/dev/hyperv/pcib/vmbus_pcib.c b/sys/dev/hyperv/pcib/vmbus_pcib.c
index 6d0601fd2d3f..d68ad6821ad8 100644
--- a/sys/dev/hyperv/pcib/vmbus_pcib.c
+++ b/sys/dev/hyperv/pcib/vmbus_pcib.c
@@ -84,11 +84,6 @@ __FBSDID("$FreeBSD$");
#include "vmbus_if.h"
-#if __FreeBSD_version < 1100000
-typedef u_long rman_res_t;
-#define RM_MAX_END (~(rman_res_t)0)
-#endif
-
struct completion {
unsigned int done;
struct mtx lock;
@@ -718,131 +713,12 @@ err:
return (NULL);
}
-#if __FreeBSD_version < 1100000
-
-/* Old versions don't have BUS_RESCAN(). Let's copy it from FreeBSD 11. */
-
-static struct pci_devinfo *
-pci_identify_function(device_t pcib, device_t dev, int domain, int busno,
- int slot, int func, size_t dinfo_size)
-{
- struct pci_devinfo *dinfo;
-
- dinfo = pci_read_device(pcib, domain, busno, slot, func, dinfo_size);
- if (dinfo != NULL)
- pci_add_child(dev, dinfo);
-
- return (dinfo);
-}
-
-static int
-pci_rescan(device_t dev)
-{
-#define REG(n, w) PCIB_READ_CONFIG(pcib, busno, s, f, n, w)
- device_t pcib = device_get_parent(dev);
- struct pci_softc *sc;
- device_t child, *devlist, *unchanged;
- int devcount, error, i, j, maxslots, oldcount;
- int busno, domain, s, f, pcifunchigh;
- uint8_t hdrtype;
-
- /* No need to check for ARI on a rescan. */
- error = device_get_children(dev, &devlist, &devcount);
- if (error)
- return (error);
- if (devcount != 0) {
- unchanged = malloc(devcount * sizeof(device_t), M_TEMP,
- M_NOWAIT | M_ZERO);
- if (unchanged == NULL) {
- free(devlist, M_TEMP);
- return (ENOMEM);
- }
- } else
- unchanged = NULL;
-
- sc = device_get_softc(dev);
- domain = pcib_get_domain(dev);
- busno = pcib_get_bus(dev);
- maxslots = PCIB_MAXSLOTS(pcib);
- for (s = 0; s <= maxslots; s++) {
- /* If function 0 is not present, skip to the next slot. */
- f = 0;
- if (REG(PCIR_VENDOR, 2) == 0xffff)
- continue;
- pcifunchigh = 0;
- hdrtype = REG(PCIR_HDRTYPE, 1);
- if ((hdrtype & PCIM_HDRTYPE) > PCI_MAXHDRTYPE)
- continue;
- if (hdrtype & PCIM_MFDEV)
- pcifunchigh = PCIB_MAXFUNCS(pcib);
- for (f = 0; f <= pcifunchigh; f++) {
- if (REG(PCIR_VENDOR, 2) == 0xffff)
- continue;
-
- /*
- * Found a valid function. Check if a
- * device_t for this device already exists.
- */
- for (i = 0; i < devcount; i++) {
- child = devlist[i];
- if (child == NULL)
- continue;
- if (pci_get_slot(child) == s &&
- pci_get_function(child) == f) {
- unchanged[i] = child;
- goto next_func;
- }
- }
-
- pci_identify_function(pcib, dev, domain, busno, s, f,
- sizeof(struct pci_devinfo));
- next_func:;
- }
- }
-
- /* Remove devices that are no longer present. */
- for (i = 0; i < devcount; i++) {
- if (unchanged[i] != NULL)
- continue;
- device_delete_child(dev, devlist[i]);
- }
-
- free(devlist, M_TEMP);
- oldcount = devcount;
-
- /* Try to attach the devices just added. */
- error = device_get_children(dev, &devlist, &devcount);
- if (error) {
- free(unchanged, M_TEMP);
- return (error);
- }
-
- for (i = 0; i < devcount; i++) {
- for (j = 0; j < oldcount; j++) {
- if (devlist[i] == unchanged[j])
- goto next_device;
- }
-
- device_probe_and_attach(devlist[i]);
- next_device:;
- }
-
- free(unchanged, M_TEMP);
- free(devlist, M_TEMP);
- return (0);
-#undef REG
-}
-
-#else
-
static int
pci_rescan(device_t dev)
{
return (BUS_RESCAN(dev));
}
-#endif
-
static void
pci_devices_present_work(void *arg, int pending __unused)
{
@@ -1854,14 +1730,12 @@ vmbus_pcib_release_resource(device_t dev, device_t child, int type, int rid,
return (bus_generic_release_resource(dev, child, type, rid, r));
}
-#if __FreeBSD_version >= 1100000
static int
vmbus_pcib_get_cpus(device_t pcib, device_t dev, enum cpu_sets op,
size_t setsize, cpuset_t *cpuset)
{
return (bus_get_cpus(pcib, op, setsize, cpuset));
}
-#endif
static uint32_t
vmbus_pcib_read_config(device_t dev, u_int bus, u_int slot, u_int func,
@@ -2104,9 +1978,7 @@ static device_method_t vmbus_pcib_methods[] = {
DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource),
DEVMETHOD(bus_setup_intr, bus_generic_setup_intr),
DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr),
-#if __FreeBSD_version >= 1100000
DEVMETHOD(bus_get_cpus, vmbus_pcib_get_cpus),
-#endif
/* pcib interface */
DEVMETHOD(pcib_maxslots, pcib_maxslots),
diff --git a/sys/dev/hyperv/vmbus/vmbus.c b/sys/dev/hyperv/vmbus/vmbus.c
index f370f2a75b99..c349f862d378 100644
--- a/sys/dev/hyperv/vmbus/vmbus.c
+++ b/sys/dev/hyperv/vmbus/vmbus.c
@@ -183,9 +183,7 @@ static device_method_t vmbus_methods[] = {
DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource),
DEVMETHOD(bus_setup_intr, bus_generic_setup_intr),
DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr),
-#if __FreeBSD_version >= 1100000
DEVMETHOD(bus_get_cpus, bus_generic_get_cpus),
-#endif
/* pcib interface */
DEVMETHOD(pcib_alloc_msi, vmbus_alloc_msi),
diff --git a/sys/dev/hyperv/vmbus/vmbus_var.h b/sys/dev/hyperv/vmbus/vmbus_var.h
index 664d5538faa7..c89d26d7aaf5 100644
--- a/sys/dev/hyperv/vmbus/vmbus_var.h
+++ b/sys/dev/hyperv/vmbus/vmbus_var.h
@@ -81,10 +81,6 @@ struct vmbus_pcpu_data {
struct task message_task; /* message task */
} __aligned(CACHE_LINE_SIZE);
-#if __FreeBSD_version < 1100000
-typedef u_long rman_res_t;
-#endif
-
struct vmbus_softc {
void (*vmbus_event_proc)(struct vmbus_softc *, int);
u_long *vmbus_tx_evtflags;