The NetBSD implementation differs from other BSDs in that it does not
return EINVAL if invalid oflags are submitted, since it completely
ignores them. This is surprising to upstream projects that may expect
otherwise.
Including the following changes by Gunther Nikl:
- Added detection of A600.
- Fix handling of multiple -n options.
Make it compile with recent AmigaOS gcc ports (for example gcc6), as
older ports no longer work with current NetBSD header files.
_before_ the module's MODULE_CMD_INIT call. Also update the unload
code to invoke the sysctl_setup and evcnt stuff _after_ the module's
MODULE_CMD_FINI call. This makes the behaviour and order consistent
whether the module is built-in or loaded at run-time.
As reported by riastradh@
Track the MSI/MSI-X interrupt handlers so that fdtbus_intr_disestablish
doesn't get called for them.
This avoids a KASSERT firing when using 'drvctl -d' on a pci device that
uses MSI/MSI-X interrupts.
This means better performance for mostly static displays.
Full screen updates are still done five times a second.
Introduce a new variable sc_clear to force a full update.
String literals in quotes are never interpreted as numbers.
The operators '<', '<=', '>', '>=' are only allowed in numeric
comparisons.
Avoid the term 'C relational operators' since in C, the relational
operators exclude '==' and '!=', which are called equality operators
instead.
Before:
String comparison operator must be either == or !=
After:
Comparison with '>=' requires both operands 'no' and '10' to be numeric
Noticed by martin@ in pkgsrc/textproc/py-pygments.
- Run a dummy softint at IPL_SOFTNET on all CPUs to ensure that the
ISR for this pktqueue is not running (addresses a pre-existing XXX).
- Hold the barrier lock around the critical section to ensure that
implicit pktq_barrier() calls via pktq_ifdetach() are held off during
the critical section.
- Ensure the critical section completes in minimal time by not freeing
memory during the critical section; instead, just build a list of the
packets pulled out of the per-CPU queues and free them after the critical
section is over.
They are not sticky bits and updated by arithmetic and round
insns at the same time.
Comparison insns update only FPCC sub-field of FPRF.
For other insns, these field are left untouched.
Also, for single-precision insns, exception bits should be set by
the first fpu_implode(), which rounds the value to float.
- Have two locks sc_core_lock at IPL_NONE and sc_intr_lock at IPL_NET and
use appropriately.
- Use stopping flags instead of bge_if_flags so that bge_if_flags only
needs to be protected by the sc_core_lock
- Use ifmedia_init_with_lock and provide the sc_intr_lock. mii operatiions
are done from the interrupt handler.
- Fixup locking in bge_detach.
- Rename bge_watchdog to bge_watchdog_tick to avoid confusion with the
if_watchdog method.
- Sprinkle some more asserts.