Revision Path
1.82 src/etc/rc.d/Makefile
1.16 src/etc/rc.d/lockd
1.17 src/etc/rc.d/lockd
1.18 src/etc/rc.d/lockd
1.15 src/etc/rc.d/nfslocking
1.16 src/etc/rc.d/statd
1.17 src/etc/rc.d/statd
Split rc.d/nfslocking into two separate scripts: rc.d/lockd
and rc.d/statd. Keep rc.d/nfslocking for POLA reasons but do
not run it during system startup.
PR: conf/107316
Revision Path
1.14 src/etc/rc.d/nfslocking
The precmd routine does not need to check whether the comman
should be "forced". If some pre-condition is not met, it should
fail as it normally does and rc.subr(8) will make the appropriate
decision. Incidentally, the previous behaviour had a bug where
the "force" flag was respected only when checking rc.conf(5) knobs.
The flag was ignored when verifying the rpcbind(8) dependency.
Fix a DIV0 in case a large value for fs_avgfilesize or fs_avgfpdir
is given (with newfs or tunefs) and dirsize overflows.
In case dirsize is <= 0 because of an overflow set maxcontigdirs
to 0 so it will be 1 later. This is what would happen for large
fs_avgfilesize. [1]
Submitted by: pjd [1]
Fix an incorrect PCI device id. The current value conflicts with
the mfi(4) LSI MegaSAS RAID card. Looking at the Linux driver for the
mpt(4) it should be 0x0062 and not 0x0060. Tested with an mfi card
of this device id.
Reviewed by: scottl
from the corresponding NOTES. [1]
There's no corresponding linux_base in the Ports Collection since years,
and no linux distribution which is up-to-date and suitable (security,
widespread, ...) for us. The only complain regarding linux & alpha
we got so far is that the linuxulator doesn't build anymore. This
complaint came from wilko -- the alhpa-part of re@ -- only. As the
alpha platform is dead (no support from the manufacturer / linux
distributions) and deprecated (removed in -current) it was decided to
disable the linux bits from the build instead of trying to fix the
problems on alpha.
The alpha parts in the source are not removed so far, in case there are
1-2 people which actually still make use of this and are interested to
use the linuxulator (and fix the problems). Additionally this prevents
regressions on i386/amd64 when removing the alpha bits in shared code
(the people which care about those code parts don't have enough time ATM
to do extensive testing). This decission may be revisited at a later
point in time.
Discussed with: wilko [1]
camcontrol/Makefile: rev 1.17
camcontrol.8: rev 1.44
camcontrol.c: rev 1.58
Add SCSI READ CAPACITY support to camcontrol. The new 'readcap' subcommand
will automatically issue the 16 byte verison of read capacity if the device
in question is larger than 2TB.
There are also a number of output options here (last block, number of
blocks, human readable) that should meet most needs, and also aid in
scripting.
lance.c 1.3, 1.4; lancevar.h 1.3
- Use our own callout instead of if_slowtimo() for driving lance_watchdog()
in order to avoid races accessing if_timer.
- Use bus_get_dma_tag() to obtain the parent DMA tag so le(4) works on
platforms requiring this.
- Remove BUS_DMA_WAITOK from bus_dma_tag_create() invocations as it's
no valid flag there.
- For setting the port PCnet chips must be powered down or stopped and
unlike documented may not take effect without an initialization. So
don't invoke (*sc_mediachange) directly in lance_mediachange() but
go through lance_init_locked(). It's suboptimal to impose this for
all chips but given that besides the affected PCI bus front-end the
only other front-end which supports media selection is and likely
ever will be the 'ledma' front-end I see not enough reason to break
the in-driver API for this (though one could argue both ways here).
- Fix -Wundef warnings found when compiling i386 LINT, GENERIC and
custom kernels.
- Use bus_get_dma_tag() so gem(4) works on platforms requiring it.
- Use the gem_tick() callout instead of if_slowtimo() for driving
gem_watchdog() in order to avoid races accessing if_timer.
While at it relax the watchdog a bit by reloading it in gem_tint()
if there are still packets enqueued.
- Don't bother to set if_mtu to ETHERMTU, ether_ifattach() does that.
- Fix inconsistencies in prototypes.
o Revised MII support:
- In hme_stop() mask all interrupts.
- In hme_eint() print MIF register contents on MIF interrupts.
- In hme_mifinit() don't bother to preserve the previous MIF config.
This was mainly done in order to preserve the PHY select bit (external
or internal PHY) but which only needs to be set as appropriate when
reading from or writing to the desired PHY in hme_mii_{read,write}reg().
Similarly don't bother to set the PHY select bit in hme_mii_statchg().
- In hme_mii_{read,write}reg() ignore requests to PHYs other than the
external and internal PHY one.
- Move enabling/disabling the MII drivers of the external transceiver from
hme_init_locked() and based on the sheer presence of an external one
to hme_mifinit() and based on the currently selected media, defaulting
to the internal transceiver when the media hasn't been set, yet.
Invoke hme_mifinit() from the newly added hme_mediachange_locked() so
the setting of the MII drivers is updated when changing media.
These changes keep the MII bus from wedging (which manifests in the HME
and the PHYs no longer being able to communicate with each other) when
the PHY device drivers isolate the unused PHY in two-PHY configurations
as present in f.e. Netra t1 100 while changing media, either from
hme_init_locked() (see also below) or via ifconfig(8) (not with the
RELENG_6 ifconfig(8) and miibus(4) though). They also allow for using
both transceivers/PHYs.
- In the newly added hme_mediachange_locked() also reset the PHYs in two-
PHY configurations before invoking mii_mediachg(). This is required
for successfully unisolating the previously unused PHY when switching
between PHYs.
- Now that changing media should no longer cause problems back out rev.
1.27 and re-enable setting the current media in hme_init_locked() (see
the commit message of rev. 1.23 for more info).
These changes are roughly a merge of NetBSD hme.c rev. 1.32 - 1.35 (1.30
was already fixed differently in our 1.36; 1.31 and 1.32 were wrong) with
some parts reworked and things that don't make sense like setting the MII
drivers and restoring the previous MIF and XIF settings in hme_mii_{read,
write}reg() omitted.
o Use the hme_tick() callout instead of if_slowtimo() for driving
hme_watchdog() in order to avoid races accessing if_timer.
o Use bus_get_dma_tag() so hme(4) works on platforms requiring it.
o Don't bother to set if_mtu to ETHERMTU, ether_ifattach() does that.
o Remove invalid BUS_DMA_ALLOCNOW when creating a tag which is used for
a "static" memory allocation only.
- Don't set MIIF_NOISOLATE so ukphy(4) can be used in configurations with
multiple PHYs. In case some PHYs currently driven by ukphy(4) exhibit
problems when isolating due to incomplete implementations or silicon bugs
we'll need to add specific drivers for these. Looking at NetBSD and
OpenBSD I don't expect problems here though (quite the contrary; we still
seem to set MIIF_NOISOLATE without good reason in a bunch of PHY drivers).
- Fix a style(9) whitespace nit.
- In detach method, move if_free() after bus_teardown_intr().
- Use our own callout (the dc_tick() callout uses varying periods
depending on the NIC and isn't used at all with HomePNA links)
instead of if_slowtimo() for driving dc_watchdog() in order to
avoid races accessing if_timer.
- Use bus_get_dma_tag() so dc(4) works on platforms requiring it.
- Don't bother to set if_mtu to ETHERMTU, ether_ifattach() does that.
- Fix a bug originally introduced in rev. 1.74; don't reloaded the
watchdog timer in dc_txeof() in case there are still unhandled
descriptors as dc_poll() invokes dc_poll() unconditionally.
Otherwise this would result in the watchdog timer constantly being
being reloaded and thus circumvent that the watchdog ever fires in
the DEVICE_POLLING case.
- The 575A doesn't have funcregs in memio. So don't claim that it does.
- In detach method, move if_free() after bus_teardown_intr().
- Consistently use if_printf() only in interface methods: if_start(),
if_watchdog, etc., or in functions used only in these methods.
In all other functions in the driver use device_printf().
- Use the xl_stats_update() callout instead of if_slowtimo() for
driving xl_watchdog() in order to avoid races accessing if_timer.
- Use bus_get_dma_tag() so xl(4) works on platforms requiring it.
- Don't bother to set if_mtu to ETHERMTU, ether_ifattach() does that.
- Correctly set IFCAP_VLAN_HWCSUM as re(4) can do VLAN tagging/checksum
offloading in hardware.
- Correctly set media header length for VLAN.
- Use taskqueue_drain() to wait for any pending tasks to complete rather
than just pausing for a second.
- Initialize the rl_vlanctl field of the descriptors to zero (in order
to clear RL_TDESC_VLANCTL_TAG).
Change from a mutex to a read/write lock. This allows the tx port to be
selected simultaneously by multiple senders and transmit/receive is not
serialised between aggregated interfaces.
sys/dev/ic/nec765.h 1.12, 1.13
sys/dev/pc98/fdc.c 1.167
- Enhanced floppy controllers have Data Rate Select Register (DSR) at 0x3f4.
Use it to reset controller and to select data rate. According to Intel
80277AA datasheet, software reset behaves the same as DOR reset except
that it is self clearing. National Semiconductor PC8477B datasheet says
the same. As a side effect, we no longer use Configuration Control
Register (CCR) at 0x3f7 for these controllers, which is often missing
in modern hardware.
- Assume floppy disk is not inserted when we have exhausted retries. This
significantly reduces booting time when there is broken floppy disk drive,
controller, cable, BIOS, etc.
When the floppy controller interface is correctly implemented, disk change
signal (DSKCHG) is reflected in the Digital Input Register (DIR) at 0x3f7.
However, there are many cases that the signal is unusable. Moreover, some
BIOS does not reserve the port at all. In those cases, the register may not
function.
- Fix style nits.
PR: kern/103841