More pre-lite2 support zapped and some more tidy-up.
This commit is contained in:
parent
48cadfb15e
commit
ac6b4b7c14
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=49568
@ -141,10 +141,8 @@ static void tulip_mii_writereg(tulip_softc_t * const sc, unsigned devaddr, unsig
|
|||||||
static int tulip_mii_map_abilities(tulip_softc_t * const sc, unsigned abilities);
|
static int tulip_mii_map_abilities(tulip_softc_t * const sc, unsigned abilities);
|
||||||
static tulip_media_t tulip_mii_phy_readspecific(tulip_softc_t * const sc);
|
static tulip_media_t tulip_mii_phy_readspecific(tulip_softc_t * const sc);
|
||||||
static int tulip_srom_decode(tulip_softc_t * const sc);
|
static int tulip_srom_decode(tulip_softc_t * const sc);
|
||||||
#if defined(IFM_ETHER)
|
|
||||||
static int tulip_ifmedia_change(struct ifnet * const ifp);
|
static int tulip_ifmedia_change(struct ifnet * const ifp);
|
||||||
static void tulip_ifmedia_status(struct ifnet * const ifp, struct ifmediareq *req);
|
static void tulip_ifmedia_status(struct ifnet * const ifp, struct ifmediareq *req);
|
||||||
#endif
|
|
||||||
/* static void tulip_21140_map_media(tulip_softc_t *sc); */
|
/* static void tulip_21140_map_media(tulip_softc_t *sc); */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -2957,7 +2955,6 @@ tulip_read_macaddr(
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(IFM_ETHER)
|
|
||||||
static void
|
static void
|
||||||
tulip_ifmedia_add(
|
tulip_ifmedia_add(
|
||||||
tulip_softc_t * const sc)
|
tulip_softc_t * const sc)
|
||||||
@ -3032,7 +3029,6 @@ tulip_ifmedia_status(
|
|||||||
|
|
||||||
req->ifm_active = tulip_media_to_ifmedia[sc->tulip_media];
|
req->ifm_active = tulip_media_to_ifmedia[sc->tulip_media];
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
tulip_addr_filter(
|
tulip_addr_filter(
|
||||||
@ -4681,33 +4677,6 @@ tulip_ifioctl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
case SIOCSIFFLAGS: {
|
case SIOCSIFFLAGS: {
|
||||||
#if !defined(IFM_ETHER)
|
|
||||||
int flags = 0;
|
|
||||||
if (ifp->if_flags & IFF_LINK0) flags |= 1;
|
|
||||||
if (ifp->if_flags & IFF_LINK1) flags |= 2;
|
|
||||||
if (ifp->if_flags & IFF_LINK2) flags |= 4;
|
|
||||||
if (flags == 7) {
|
|
||||||
ifp->if_flags &= ~(IFF_LINK0|IFF_LINK1|IFF_LINK2);
|
|
||||||
sc->tulip_media = TULIP_MEDIA_UNKNOWN;
|
|
||||||
sc->tulip_probe_state = TULIP_PROBE_INACTIVE;
|
|
||||||
sc->tulip_flags &= ~(TULIP_WANTRXACT|TULIP_LINKUP|TULIP_NOAUTOSENSE);
|
|
||||||
tulip_reset(sc);
|
|
||||||
} else if (flags) {
|
|
||||||
tulip_media_t media;
|
|
||||||
for (media = TULIP_MEDIA_UNKNOWN; media < TULIP_MEDIA_MAX; media++) {
|
|
||||||
if (sc->tulip_mediums[media] != NULL && --flags == 0) {
|
|
||||||
sc->tulip_flags |= TULIP_NOAUTOSENSE;
|
|
||||||
if (sc->tulip_media != media || (sc->tulip_flags & TULIP_DIDNWAY)) {
|
|
||||||
sc->tulip_flags &= ~TULIP_DIDNWAY;
|
|
||||||
tulip_linkup(sc, media);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (flags)
|
|
||||||
printf(TULIP_PRINTF_FMT ": ignored invalid media request\n", TULIP_PRINTF_ARGS);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
tulip_addr_filter(sc); /* reinit multicast filter */
|
tulip_addr_filter(sc); /* reinit multicast filter */
|
||||||
tulip_init(sc);
|
tulip_init(sc);
|
||||||
break;
|
break;
|
||||||
@ -4958,33 +4927,11 @@ tulip_attach(
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
(*sc->tulip_boardsw->bd_media_probe)(sc);
|
(*sc->tulip_boardsw->bd_media_probe)(sc);
|
||||||
#if defined(IFM_ETHER)
|
|
||||||
ifmedia_init(&sc->tulip_ifmedia, 0,
|
ifmedia_init(&sc->tulip_ifmedia, 0,
|
||||||
tulip_ifmedia_change,
|
tulip_ifmedia_change,
|
||||||
tulip_ifmedia_status);
|
tulip_ifmedia_status);
|
||||||
#else
|
|
||||||
{
|
|
||||||
tulip_media_t media;
|
|
||||||
int cnt;
|
|
||||||
printf(TULIP_PRINTF_FMT ": media:", TULIP_PRINTF_ARGS);
|
|
||||||
for (media = TULIP_MEDIA_UNKNOWN, cnt = 1; cnt < 7 && media < TULIP_MEDIA_MAX; media++) {
|
|
||||||
if (sc->tulip_mediums[media] != NULL) {
|
|
||||||
printf(" %d=\"%s\"", cnt, tulip_mediums[media]);
|
|
||||||
cnt++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (cnt == 1) {
|
|
||||||
sc->tulip_features |= TULIP_HAVE_NOMEDIA;
|
|
||||||
printf(" none\n");
|
|
||||||
} else {
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
sc->tulip_flags &= ~TULIP_DEVICEPROBE;
|
sc->tulip_flags &= ~TULIP_DEVICEPROBE;
|
||||||
#if defined(IFM_ETHER)
|
|
||||||
tulip_ifmedia_add(sc);
|
tulip_ifmedia_add(sc);
|
||||||
#endif
|
|
||||||
|
|
||||||
tulip_reset(sc);
|
tulip_reset(sc);
|
||||||
|
|
||||||
|
@ -455,7 +455,7 @@ typedef struct {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
struct _tulip_softc_t {
|
struct _tulip_softc_t {
|
||||||
#if !defined(tulip_ifmedia) && defined(IFM_ETHER)
|
#if !defined(tulip_ifmedia)
|
||||||
struct ifmedia tulip_ifmedia;
|
struct ifmedia tulip_ifmedia;
|
||||||
#endif
|
#endif
|
||||||
#if defined(TULIP_BUS_DMA)
|
#if defined(TULIP_BUS_DMA)
|
||||||
@ -644,11 +644,7 @@ struct _tulip_softc_t {
|
|||||||
tulip_desc_t *tulip_txdescs;
|
tulip_desc_t *tulip_txdescs;
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(IFM_ETHER)
|
|
||||||
#define TULIP_DO_AUTOSENSE(sc) (IFM_SUBTYPE((sc)->tulip_ifmedia.ifm_media) == IFM_AUTO)
|
#define TULIP_DO_AUTOSENSE(sc) (IFM_SUBTYPE((sc)->tulip_ifmedia.ifm_media) == IFM_AUTO)
|
||||||
#else
|
|
||||||
#define TULIP_DO_AUTOSENSE(sc) (((sc)->tulip_flags & TULIP_NOAUTOSENSE) == 0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(TULIP_HDR_DATA)
|
#if defined(TULIP_HDR_DATA)
|
||||||
@ -681,7 +677,6 @@ static const char * const tulip_mediums[] = {
|
|||||||
"Full Duplex 100baseFX", /* TULIP_MEDIA_100BASEFX_FD */
|
"Full Duplex 100baseFX", /* TULIP_MEDIA_100BASEFX_FD */
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(IFM_ETHER)
|
|
||||||
static const int tulip_media_to_ifmedia[] = {
|
static const int tulip_media_to_ifmedia[] = {
|
||||||
IFM_ETHER | IFM_NONE, /* TULIP_MEDIA_UNKNOWN */
|
IFM_ETHER | IFM_NONE, /* TULIP_MEDIA_UNKNOWN */
|
||||||
IFM_ETHER | IFM_10_T, /* TULIP_MEDIA_10BASET */
|
IFM_ETHER | IFM_10_T, /* TULIP_MEDIA_10BASET */
|
||||||
@ -696,7 +691,6 @@ static const int tulip_media_to_ifmedia[] = {
|
|||||||
IFM_ETHER | IFM_100_FX, /* TULIP_MEDIA_100BASEFX */
|
IFM_ETHER | IFM_100_FX, /* TULIP_MEDIA_100BASEFX */
|
||||||
IFM_ETHER | IFM_100_FX | IFM_FDX, /* TULIP_MEDIA_100BASEFX_FD */
|
IFM_ETHER | IFM_100_FX | IFM_FDX, /* TULIP_MEDIA_100BASEFX_FD */
|
||||||
};
|
};
|
||||||
#endif /* defined(IFM_ETHER) */
|
|
||||||
|
|
||||||
static const char * const tulip_system_errors[] = {
|
static const char * const tulip_system_errors[] = {
|
||||||
"parity error",
|
"parity error",
|
||||||
@ -878,7 +872,6 @@ typedef u_long ioctl_cmd_t;
|
|||||||
#if defined(TULIP_HDR_DATA)
|
#if defined(TULIP_HDR_DATA)
|
||||||
static tulip_softc_t *tulips[TULIP_MAX_DEVICES];
|
static tulip_softc_t *tulips[TULIP_MAX_DEVICES];
|
||||||
#endif
|
#endif
|
||||||
#if BSD >= 199506
|
|
||||||
#define TULIP_IFP_TO_SOFTC(ifp) ((tulip_softc_t *)((ifp)->if_softc))
|
#define TULIP_IFP_TO_SOFTC(ifp) ((tulip_softc_t *)((ifp)->if_softc))
|
||||||
#if NBPF > 0
|
#if NBPF > 0
|
||||||
#define TULIP_BPF_MTAP(sc, m) bpf_mtap(&(sc)->tulip_if, m)
|
#define TULIP_BPF_MTAP(sc, m) bpf_mtap(&(sc)->tulip_if, m)
|
||||||
@ -894,12 +887,6 @@ static tulip_softc_t *tulips[TULIP_MAX_DEVICES];
|
|||||||
#endif
|
#endif
|
||||||
#define TULIP_EADDR_FMT "%6D"
|
#define TULIP_EADDR_FMT "%6D"
|
||||||
#define TULIP_EADDR_ARGS(addr) addr, ":"
|
#define TULIP_EADDR_ARGS(addr) addr, ":"
|
||||||
#else
|
|
||||||
extern int bootverbose;
|
|
||||||
#define TULIP_IFP_TO_SOFTC(ifp) (TULIP_UNIT_TO_SOFTC((ifp)->if_unit))
|
|
||||||
#include <sys/devconf.h>
|
|
||||||
#define TULIP_DEVCONF
|
|
||||||
#endif
|
|
||||||
#if defined(TULIP_USE_SOFTINTR)
|
#if defined(TULIP_USE_SOFTINTR)
|
||||||
NETISR_SET(NETISR_DE, tulip_softintr);
|
NETISR_SET(NETISR_DE, tulip_softintr);
|
||||||
#endif
|
#endif
|
||||||
@ -972,10 +959,6 @@ NETISR_SET(NETISR_DE, tulip_softintr);
|
|||||||
#define TULIP_RESTORESPL(s) splx(s)
|
#define TULIP_RESTORESPL(s) splx(s)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
|
||||||
* While I think FreeBSD's 2.2 change to the bpf is a nice simplification,
|
|
||||||
* it does add yet more conditional code to this driver. Sigh.
|
|
||||||
*/
|
|
||||||
#if !defined(TULIP_BPF_MTAP) && NBPF > 0
|
#if !defined(TULIP_BPF_MTAP) && NBPF > 0
|
||||||
#define TULIP_BPF_MTAP(sc, m) bpf_mtap((sc)->tulip_bpf, m)
|
#define TULIP_BPF_MTAP(sc, m) bpf_mtap((sc)->tulip_bpf, m)
|
||||||
#define TULIP_BPF_TAP(sc, p, l) bpf_tap((sc)->tulip_bpf, p, l)
|
#define TULIP_BPF_TAP(sc, p, l) bpf_tap((sc)->tulip_bpf, p, l)
|
||||||
@ -1023,9 +1006,6 @@ TULIP_PERFREAD(
|
|||||||
#define TULIP_PERFMERGE(s,n) do { } while (0)
|
#define TULIP_PERFMERGE(s,n) do { } while (0)
|
||||||
#endif /* TULIP_PERFSTATS */
|
#endif /* TULIP_PERFSTATS */
|
||||||
|
|
||||||
/*
|
|
||||||
* However, this change to FreeBSD I am much less enamored with.
|
|
||||||
*/
|
|
||||||
#if !defined(TULIP_EADDR_FMT)
|
#if !defined(TULIP_EADDR_FMT)
|
||||||
#define TULIP_EADDR_FMT "%s"
|
#define TULIP_EADDR_FMT "%s"
|
||||||
#define TULIP_EADDR_ARGS(addr) ether_sprintf(addr)
|
#define TULIP_EADDR_ARGS(addr) ether_sprintf(addr)
|
||||||
|
@ -141,10 +141,8 @@ static void tulip_mii_writereg(tulip_softc_t * const sc, unsigned devaddr, unsig
|
|||||||
static int tulip_mii_map_abilities(tulip_softc_t * const sc, unsigned abilities);
|
static int tulip_mii_map_abilities(tulip_softc_t * const sc, unsigned abilities);
|
||||||
static tulip_media_t tulip_mii_phy_readspecific(tulip_softc_t * const sc);
|
static tulip_media_t tulip_mii_phy_readspecific(tulip_softc_t * const sc);
|
||||||
static int tulip_srom_decode(tulip_softc_t * const sc);
|
static int tulip_srom_decode(tulip_softc_t * const sc);
|
||||||
#if defined(IFM_ETHER)
|
|
||||||
static int tulip_ifmedia_change(struct ifnet * const ifp);
|
static int tulip_ifmedia_change(struct ifnet * const ifp);
|
||||||
static void tulip_ifmedia_status(struct ifnet * const ifp, struct ifmediareq *req);
|
static void tulip_ifmedia_status(struct ifnet * const ifp, struct ifmediareq *req);
|
||||||
#endif
|
|
||||||
/* static void tulip_21140_map_media(tulip_softc_t *sc); */
|
/* static void tulip_21140_map_media(tulip_softc_t *sc); */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -2957,7 +2955,6 @@ tulip_read_macaddr(
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(IFM_ETHER)
|
|
||||||
static void
|
static void
|
||||||
tulip_ifmedia_add(
|
tulip_ifmedia_add(
|
||||||
tulip_softc_t * const sc)
|
tulip_softc_t * const sc)
|
||||||
@ -3032,7 +3029,6 @@ tulip_ifmedia_status(
|
|||||||
|
|
||||||
req->ifm_active = tulip_media_to_ifmedia[sc->tulip_media];
|
req->ifm_active = tulip_media_to_ifmedia[sc->tulip_media];
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
tulip_addr_filter(
|
tulip_addr_filter(
|
||||||
@ -4681,33 +4677,6 @@ tulip_ifioctl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
case SIOCSIFFLAGS: {
|
case SIOCSIFFLAGS: {
|
||||||
#if !defined(IFM_ETHER)
|
|
||||||
int flags = 0;
|
|
||||||
if (ifp->if_flags & IFF_LINK0) flags |= 1;
|
|
||||||
if (ifp->if_flags & IFF_LINK1) flags |= 2;
|
|
||||||
if (ifp->if_flags & IFF_LINK2) flags |= 4;
|
|
||||||
if (flags == 7) {
|
|
||||||
ifp->if_flags &= ~(IFF_LINK0|IFF_LINK1|IFF_LINK2);
|
|
||||||
sc->tulip_media = TULIP_MEDIA_UNKNOWN;
|
|
||||||
sc->tulip_probe_state = TULIP_PROBE_INACTIVE;
|
|
||||||
sc->tulip_flags &= ~(TULIP_WANTRXACT|TULIP_LINKUP|TULIP_NOAUTOSENSE);
|
|
||||||
tulip_reset(sc);
|
|
||||||
} else if (flags) {
|
|
||||||
tulip_media_t media;
|
|
||||||
for (media = TULIP_MEDIA_UNKNOWN; media < TULIP_MEDIA_MAX; media++) {
|
|
||||||
if (sc->tulip_mediums[media] != NULL && --flags == 0) {
|
|
||||||
sc->tulip_flags |= TULIP_NOAUTOSENSE;
|
|
||||||
if (sc->tulip_media != media || (sc->tulip_flags & TULIP_DIDNWAY)) {
|
|
||||||
sc->tulip_flags &= ~TULIP_DIDNWAY;
|
|
||||||
tulip_linkup(sc, media);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (flags)
|
|
||||||
printf(TULIP_PRINTF_FMT ": ignored invalid media request\n", TULIP_PRINTF_ARGS);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
tulip_addr_filter(sc); /* reinit multicast filter */
|
tulip_addr_filter(sc); /* reinit multicast filter */
|
||||||
tulip_init(sc);
|
tulip_init(sc);
|
||||||
break;
|
break;
|
||||||
@ -4958,33 +4927,11 @@ tulip_attach(
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
(*sc->tulip_boardsw->bd_media_probe)(sc);
|
(*sc->tulip_boardsw->bd_media_probe)(sc);
|
||||||
#if defined(IFM_ETHER)
|
|
||||||
ifmedia_init(&sc->tulip_ifmedia, 0,
|
ifmedia_init(&sc->tulip_ifmedia, 0,
|
||||||
tulip_ifmedia_change,
|
tulip_ifmedia_change,
|
||||||
tulip_ifmedia_status);
|
tulip_ifmedia_status);
|
||||||
#else
|
|
||||||
{
|
|
||||||
tulip_media_t media;
|
|
||||||
int cnt;
|
|
||||||
printf(TULIP_PRINTF_FMT ": media:", TULIP_PRINTF_ARGS);
|
|
||||||
for (media = TULIP_MEDIA_UNKNOWN, cnt = 1; cnt < 7 && media < TULIP_MEDIA_MAX; media++) {
|
|
||||||
if (sc->tulip_mediums[media] != NULL) {
|
|
||||||
printf(" %d=\"%s\"", cnt, tulip_mediums[media]);
|
|
||||||
cnt++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (cnt == 1) {
|
|
||||||
sc->tulip_features |= TULIP_HAVE_NOMEDIA;
|
|
||||||
printf(" none\n");
|
|
||||||
} else {
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
sc->tulip_flags &= ~TULIP_DEVICEPROBE;
|
sc->tulip_flags &= ~TULIP_DEVICEPROBE;
|
||||||
#if defined(IFM_ETHER)
|
|
||||||
tulip_ifmedia_add(sc);
|
tulip_ifmedia_add(sc);
|
||||||
#endif
|
|
||||||
|
|
||||||
tulip_reset(sc);
|
tulip_reset(sc);
|
||||||
|
|
||||||
|
@ -455,7 +455,7 @@ typedef struct {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
struct _tulip_softc_t {
|
struct _tulip_softc_t {
|
||||||
#if !defined(tulip_ifmedia) && defined(IFM_ETHER)
|
#if !defined(tulip_ifmedia)
|
||||||
struct ifmedia tulip_ifmedia;
|
struct ifmedia tulip_ifmedia;
|
||||||
#endif
|
#endif
|
||||||
#if defined(TULIP_BUS_DMA)
|
#if defined(TULIP_BUS_DMA)
|
||||||
@ -644,11 +644,7 @@ struct _tulip_softc_t {
|
|||||||
tulip_desc_t *tulip_txdescs;
|
tulip_desc_t *tulip_txdescs;
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(IFM_ETHER)
|
|
||||||
#define TULIP_DO_AUTOSENSE(sc) (IFM_SUBTYPE((sc)->tulip_ifmedia.ifm_media) == IFM_AUTO)
|
#define TULIP_DO_AUTOSENSE(sc) (IFM_SUBTYPE((sc)->tulip_ifmedia.ifm_media) == IFM_AUTO)
|
||||||
#else
|
|
||||||
#define TULIP_DO_AUTOSENSE(sc) (((sc)->tulip_flags & TULIP_NOAUTOSENSE) == 0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(TULIP_HDR_DATA)
|
#if defined(TULIP_HDR_DATA)
|
||||||
@ -681,7 +677,6 @@ static const char * const tulip_mediums[] = {
|
|||||||
"Full Duplex 100baseFX", /* TULIP_MEDIA_100BASEFX_FD */
|
"Full Duplex 100baseFX", /* TULIP_MEDIA_100BASEFX_FD */
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(IFM_ETHER)
|
|
||||||
static const int tulip_media_to_ifmedia[] = {
|
static const int tulip_media_to_ifmedia[] = {
|
||||||
IFM_ETHER | IFM_NONE, /* TULIP_MEDIA_UNKNOWN */
|
IFM_ETHER | IFM_NONE, /* TULIP_MEDIA_UNKNOWN */
|
||||||
IFM_ETHER | IFM_10_T, /* TULIP_MEDIA_10BASET */
|
IFM_ETHER | IFM_10_T, /* TULIP_MEDIA_10BASET */
|
||||||
@ -696,7 +691,6 @@ static const int tulip_media_to_ifmedia[] = {
|
|||||||
IFM_ETHER | IFM_100_FX, /* TULIP_MEDIA_100BASEFX */
|
IFM_ETHER | IFM_100_FX, /* TULIP_MEDIA_100BASEFX */
|
||||||
IFM_ETHER | IFM_100_FX | IFM_FDX, /* TULIP_MEDIA_100BASEFX_FD */
|
IFM_ETHER | IFM_100_FX | IFM_FDX, /* TULIP_MEDIA_100BASEFX_FD */
|
||||||
};
|
};
|
||||||
#endif /* defined(IFM_ETHER) */
|
|
||||||
|
|
||||||
static const char * const tulip_system_errors[] = {
|
static const char * const tulip_system_errors[] = {
|
||||||
"parity error",
|
"parity error",
|
||||||
@ -878,7 +872,6 @@ typedef u_long ioctl_cmd_t;
|
|||||||
#if defined(TULIP_HDR_DATA)
|
#if defined(TULIP_HDR_DATA)
|
||||||
static tulip_softc_t *tulips[TULIP_MAX_DEVICES];
|
static tulip_softc_t *tulips[TULIP_MAX_DEVICES];
|
||||||
#endif
|
#endif
|
||||||
#if BSD >= 199506
|
|
||||||
#define TULIP_IFP_TO_SOFTC(ifp) ((tulip_softc_t *)((ifp)->if_softc))
|
#define TULIP_IFP_TO_SOFTC(ifp) ((tulip_softc_t *)((ifp)->if_softc))
|
||||||
#if NBPF > 0
|
#if NBPF > 0
|
||||||
#define TULIP_BPF_MTAP(sc, m) bpf_mtap(&(sc)->tulip_if, m)
|
#define TULIP_BPF_MTAP(sc, m) bpf_mtap(&(sc)->tulip_if, m)
|
||||||
@ -894,12 +887,6 @@ static tulip_softc_t *tulips[TULIP_MAX_DEVICES];
|
|||||||
#endif
|
#endif
|
||||||
#define TULIP_EADDR_FMT "%6D"
|
#define TULIP_EADDR_FMT "%6D"
|
||||||
#define TULIP_EADDR_ARGS(addr) addr, ":"
|
#define TULIP_EADDR_ARGS(addr) addr, ":"
|
||||||
#else
|
|
||||||
extern int bootverbose;
|
|
||||||
#define TULIP_IFP_TO_SOFTC(ifp) (TULIP_UNIT_TO_SOFTC((ifp)->if_unit))
|
|
||||||
#include <sys/devconf.h>
|
|
||||||
#define TULIP_DEVCONF
|
|
||||||
#endif
|
|
||||||
#if defined(TULIP_USE_SOFTINTR)
|
#if defined(TULIP_USE_SOFTINTR)
|
||||||
NETISR_SET(NETISR_DE, tulip_softintr);
|
NETISR_SET(NETISR_DE, tulip_softintr);
|
||||||
#endif
|
#endif
|
||||||
@ -972,10 +959,6 @@ NETISR_SET(NETISR_DE, tulip_softintr);
|
|||||||
#define TULIP_RESTORESPL(s) splx(s)
|
#define TULIP_RESTORESPL(s) splx(s)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
|
||||||
* While I think FreeBSD's 2.2 change to the bpf is a nice simplification,
|
|
||||||
* it does add yet more conditional code to this driver. Sigh.
|
|
||||||
*/
|
|
||||||
#if !defined(TULIP_BPF_MTAP) && NBPF > 0
|
#if !defined(TULIP_BPF_MTAP) && NBPF > 0
|
||||||
#define TULIP_BPF_MTAP(sc, m) bpf_mtap((sc)->tulip_bpf, m)
|
#define TULIP_BPF_MTAP(sc, m) bpf_mtap((sc)->tulip_bpf, m)
|
||||||
#define TULIP_BPF_TAP(sc, p, l) bpf_tap((sc)->tulip_bpf, p, l)
|
#define TULIP_BPF_TAP(sc, p, l) bpf_tap((sc)->tulip_bpf, p, l)
|
||||||
@ -1023,9 +1006,6 @@ TULIP_PERFREAD(
|
|||||||
#define TULIP_PERFMERGE(s,n) do { } while (0)
|
#define TULIP_PERFMERGE(s,n) do { } while (0)
|
||||||
#endif /* TULIP_PERFSTATS */
|
#endif /* TULIP_PERFSTATS */
|
||||||
|
|
||||||
/*
|
|
||||||
* However, this change to FreeBSD I am much less enamored with.
|
|
||||||
*/
|
|
||||||
#if !defined(TULIP_EADDR_FMT)
|
#if !defined(TULIP_EADDR_FMT)
|
||||||
#define TULIP_EADDR_FMT "%s"
|
#define TULIP_EADDR_FMT "%s"
|
||||||
#define TULIP_EADDR_ARGS(addr) ether_sprintf(addr)
|
#define TULIP_EADDR_ARGS(addr) ether_sprintf(addr)
|
||||||
|
Loading…
Reference in New Issue
Block a user