In general, bits in the page directory entry (PDE) and the page table
entry (PTE) have the same meaning. The exception to this rule is the
eighth bit (0x080). It is the PS bit in a PDE and the PAT bit in a
PTE. This change avoids the possibility that pmap_enter() confuses a
PAT bit with a PS bit, avoiding a panic().
Eliminate a diagnostic printf() from the i386 pmap_enter() that serves
no current purpose, i.e., I've seen no bug reports in the last two
years that are helped by this printf().
details see the relevant commit logs in HEAD. The notable differences
between this patch and what is in HEAD now are that pci_remap_msix() is not
currently implemented in this patch (I need to change the API in HEAD, so
I'm not going to MFC it until its API is stable) and MSI and MSI-X are not
enabled by default. To enable MSI and MSI-X support, one must set the
'hw.pci.msi_enable' and/or 'hw.pci.msix_enable' loader tunables.
include the opt_diver.h to get the banner massage right.
This brings ip_fw2.c up to date with -current with the exception of:
1.113, 114, 125, 126, 130, 138, 140, 152-156, 158-160
All of which I do not believe to be MFC candidates (with the
possible exception of 140 which has a risk factor I don't
want to put in RELENG_6). 138 is also a possibility but requires more work
in other files.
I need to do the userland ipfw too to add some new features, but, not today..
Revisit the watchdogs: Resetting the error to EINVAL after failing to set the
watchdog might hide the succesful arming of an earlier one. Accept that on
failing to arm any watchdog (because of non-supported timeouts) EOPNOTSUPP is
returned instead of the more appropriate EINVAL.
In IPv4 fast forwarding path, send ICMP unreachable messages for
routes which have RTF_REJECT set *and* a zero expiry timer.
PR: kern/109246
Submitted by: Ingo Flaschberger
(reinit_bus): When the ATAPI bus is reset, do not schedule an automated
CAM rescan if the ATAPI device entries have not changed.
The ATAPI bus may be reset for a variety of reasons, including any time an
ATAPI request times out. It is not necessary to rescan at the CAM level
in such a case, unless a device has appeared or disappeared, or has
otherwise changed.
---
MFC revs. 1.49 and 1.50:
(atapi_action): Improve error reporting by removing ATA_R_QUIET flag
from ATAPI requests. If CAM debugging is enabled, also mark ATAPI
requests with ATA_R_DEBUG flag.
(atapi_cb): Report ATAPI timeouts to the CAM layer.
Fix incorrect debugging traces in the presence of ATAPI errors.
PR: kern/103602
(ata_completed): When REQUEST SENSE is automatically issued after a failed
ATAPI request, do not clear the ATA_R_DEBUG flag. This allows a request
marked as requiring debug traces to produce these traces also during
the completion of the autosense processing.
The code looks for all the loaded screensaver modules, tries to
kldunload them, and only loads the new one if kldstat's output shows
that there aren't any left. However, the regexp looking for modules
to unload was still searching according to the the old naming scheme,
splash_<name>.ko, instead of <name>_saver.ko.
- bus_size_t for link_width is a bad cross-architectural type with
respect to printf, use uint32_t instead
- Increase coalesce_nsecs
- commit fixes for the following coverity warnings: 1765, 1760, 1758, 1756
- Check PCI-e link width to avoid foot shooting with 4x links
- allocate 9 messages in all cases
- move call to t3_prep_adapter earlier in attach before msi-x setup occurs
(this works around the fact that pci_config_{save,restore} doesn't adequately
restore state for msi-x)
- make MSI-X the default and allocate up to mp_ncpus queues per port
- Remove firmware version flags
- add support for the T3B2 ASIC rev by synchronizing with version 1.0.071 of
Chelsio's common code (with the notable exception of improvements for using
multiple TX queues)
Increase default size of raw IP send and receive buffers to the same as
udp_sendspace, to avoid a situation where jumbograms (datagrams > 9KB)
are unnecessarily fragmented.
Change the format strings in many of the assertions that were
recently converted from PMAP_DIAGNOSTIC printf()s so that they are
compatible with PAE. Avoid unnecessary differences between the
amd64 and i386 format strings.
MFC revision 1.549
Retire pmap_track_modified(). We no longer need it because we do
not create managed mappings within the clean submap. To prevent
regressions, add assertions blocking the creation of managed
mappings within the clean submap.
Replace diagnostic printf()s by assertions. Use consistent style for
similar assertions.
MFC revision 1.545
Remove stale KSE code.
MFC revision 1.580
Use FOREACH_PROC_IN_SYSTEM instead of using its unrolled form.
Introduce pmap_try_insert_pv_entry(), a function that conditionally
creates a pv entry if the number of entries is below the high water mark
for pv entries.
Use pmap_try_insert_pv_entry() in pmap_copy() instead of
pmap_insert_entry(). This avoids possible recursion on a pmap lock in
get_pv_entry().
Eliminate the explicit low-memory checks in pmap_copy(). The check that
the number of pv entries was below the high water mark was largely
ineffective because it was located in the outer loop rather than the
inner loop where pv entries were allocated. Instead of checking, we
attempt the allocation and handle the failure.