- 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
rev. 1.387 of src/sys/vm/vm_map.c
rev. 1.120 of src/sys/vm/vm_map.h
rev. 1.213 of src/sys/vm/vm_mmap.c
Do not drop vm_map lock between doing vm_map_remove() and vm_map_insert().
For this, introduce vm_map_fixed() that does that for MAP_FIXED case.
Tested by: Marc G. Fournier <scrappy hub org>
turnstile_unpend_queue() drops the lock that turnstile_release()
does. This was triggering a mtx_unlock() of an already unlocked
mutex panic.
Obtained from: Juniper Networks
- sync linuxulator:
* de-COMPAT_43-ify:
+ socket related ioctl's
This differs from -current, as the kernel ABI is different
(kern_bind() and kern_connect() free the struct sockaddr on -stable
themself, so two calls to free() are not included in this MFC).
* bug-/compatibility-fixes
* ioctl TIOCGPTN
* 1 style(9)-fix
Tested by: "Arno J. Klaassen" <arno@heho.snv.jussieu.fr>
Use pmap_enter_object() in vm_map_pmap_enter() to reduce the
locking overhead of premapping objects.
Note: It was later discovered that this change addresses a race condition
that is discussed by vm/vm_fault.c revision 1.216. Specifically, replacing
pmap_enter_quick() by pmap_enter_object() addresses the race.
AP cpus. This changes a guaranteed triple-fault (silent reset) into
something that has a chance to work. Apparently, the NMI handler uses
this stack too.