msmith [Mon, 11 Dec 2000 10:04:01 +0000 (10:04 +0000)]
It looks like we can't count on these devices always having a consistent
class/subclass, so give up trying to cull the list. Instead, complain
in the bootverbose case, but otherwise just accept that we will have to
carry this list of device IDs around.
dillon [Mon, 11 Dec 2000 07:52:47 +0000 (07:52 +0000)]
Be less conservative with a recently added KASSERT. Certain edge
cases with file fragments and read-write mmap's can lead to a situation
where a VM page has odd dirty bits, e.g. 0xFC - due to being dirtied by
an mmap and only the fragment (representing a non-page-aligned end of
file) synced via a filesystem buffer. A correct solution that
guarentees consistent m->dirty for the file EOF case is being
worked on. In the mean time we can't be so conservative in the
KASSERT.
deischen [Mon, 11 Dec 2000 04:00:36 +0000 (04:00 +0000)]
Move telldir position recording type definitions and prototypes
to "telldir.h" in order to prevent namespace pollution in
<dirent.h> (which was including <sys/queue.h>).
archie [Mon, 11 Dec 2000 03:36:26 +0000 (03:36 +0000)]
Fix a bug where if the interface was in promiscuous mode when the
last hook was disconnected, the interface would not get reset to
non-promiscuous mode.
charnier [Sun, 10 Dec 2000 20:59:30 +0000 (20:59 +0000)]
The tunefs code assumed that the last argument was the device specification.
We need to parse the arguments first, then open the device (if
specified) and then apply the changes. This change will disallow the
(undocumented) use of multiple instances of the same argument on the
same command line for the sack of a better error message.
Other changes are:
1) the softupdates (-n) now issue a warning about remaining unchanged
2) the usage and man page is changed to specify "space | time" instead of
"optimization preference".
des [Sun, 10 Dec 2000 12:54:34 +0000 (12:54 +0000)]
On Sundays through Fridays, run daily at 03:01 am.
On Saturdays, run daily and weekly sequentially, starting at 03:01 am.
This prevents daily and weekly from overlapping, while running weekly as
early as possible (i.e. as soon as daily finishes) to give it time to
finish before monthly starts at 05:30 am.
It's probably possible to do something similar with monthly, making it
run as soon as daily (and possibly weekly, if the first of the month
is a Saturday) finishes, but this is left as an exercise for the reader.
obrien [Sat, 9 Dec 2000 09:45:09 +0000 (09:45 +0000)]
"Implement -[n]fcb (formatting of block comments) and attempt to implement
no-space=after-sizeof (not optional) and no-space-after 'struct foo *'
(not optional). Without these, indent unKNFizes even more perfectly KNF code."
msmith [Sat, 9 Dec 2000 09:15:38 +0000 (09:15 +0000)]
- Fix the device database parsing code so that it actually works.
- Improve the formatting for devices identified by the database.
- Fix the pcib_route_interrupt method definition, as an old version
snuck in here somehow 8(
- Remove a couple of the vendor/device IDs for PCI:ISA bridges which
correctly identify themselves.
msmith [Fri, 8 Dec 2000 22:11:23 +0000 (22:11 +0000)]
Next phase in the PCI subsystem cleanup.
- Move PCI core code to dev/pci.
- Split bridge code out into separate modules.
- Remove the descriptive strings from the bridge drivers. If you
want to know what a device is, use pciconf. Add support for
broadly identifying devices based on class/subclass, and for
parsing a preloaded device identification database so that if
you want to waste the memory, you can identify *anything* we know
about.
- Remove machine-dependant code from the core PCI code. APIC interrupt
mapping is performed by shadowing the intline register in machine-
dependant code.
- Bring interrupt routing support to the Alpha
(although many platforms don't yet support routing or mapping
interrupts entirely correctly). This resulted in spamming
<sys/bus.h> into more places than it really should have gone.
- Put sys/dev on the kernel/modules include path. This avoids
having to change *all* the pci*.h includes.
wpaul [Fri, 8 Dec 2000 21:35:11 +0000 (21:35 +0000)]
Fix probe/attach a little. We don't have to call bpfattach() anymore
since ether_ifattach() does it for us. We do need to call ether_ifdetach()
instead of if_detach(). And we don't have to check for ifp->if_name
already being initialized because it never will be in FreeBSD 4.x and
above.
jasone [Fri, 8 Dec 2000 20:36:32 +0000 (20:36 +0000)]
Do not check for existence of ${_dir}/kern/ , because for modules that set
.PATH to ${.CURDIR}/[...]/kern , the "exists" expression will fail for the
form exists(${.CURDIR}/[...]/kern/). This appears to be happening because
make is searching for the argument to "exists" by using .PATH rather than a
relative search, because .PATH and the argument match at the beginning.
Additionally, make appears to consider a path that starts with ${.CURDIR}
as relative, even though it expands to an absolute path.
The reason that most people aren't seeing this problem is that the absolute
paths of /usr/src/sys and /sys are also searched, so as long as the kernel
source can be found in at least one of those places, no problems surface.
This problem was inadvertently introduced on 1 December 2000, with the
addition of the sysvipc modules.
jhb [Fri, 8 Dec 2000 18:21:06 +0000 (18:21 +0000)]
Argh, revert the clobber changes. Since %ecx and %edx aren't call safe,
calling the C functions mtx_enter_hard() and mtx_exit_hard() clobbers them.
Note that %eax is also not call safe, but it is already clobbered due to
cmpxchg. However, now we are back to not compiling again, so these macros
are still left disabled for now.
jake [Fri, 8 Dec 2000 09:51:13 +0000 (09:51 +0000)]
Whitespace. Make the indentation for MPASS and MPASS2 consistent and
slightly more sane. Make the arguments to the nop MPASS2 match those
of the functional one. Change 4 spaces to a tab. Don't indeent a
label so its easier to see.
jake [Fri, 8 Dec 2000 09:17:16 +0000 (09:17 +0000)]
Add macros MPASS3 and MPASS4, which take the file and line number
as parameters. Use them in the mutex inlines so that the file and
line numbers are those of the caller instead of always in this file.
msmith [Fri, 8 Dec 2000 09:16:20 +0000 (09:16 +0000)]
- Convert a lot of homebrew debugging output to use the ACPI CA debugging
infrastructure. It's not perfect, but it's a lot better than what
we've been using so far. The following rules apply to this:
o BSD component names should be capitalised
o Layer names should be taken from the non-CA set for now. We
may elect to add some new BSD-specific layers later.
- Make it possible to turn off selective debugging flags or layers
by listing them in debug.acpi.layer or debug.acpi.level prefixed
with !.
- Fully implement support for avoiding nodes in the ACPI namespace.
Nodes may be listed in the debug.acpi.avoid environment variable;
these nodes and all their children will be ignored (although still
scanned over) by ACPI functions which scan the namespace. Multiple
nodes can be specified, separated by whitespace.
- Implement support for selectively disabling ACPI subsystem components
via the debug.acpi.disable environment variable. The following
components can be disabled:
o bus creation/scanning of the ACPI 'bus'
o children attachment of children to the ACPI 'bus'
o button the acpi_button control-method button driver
o ec the acpi_ec embedded-controller driver
o isa acpi replacement of PnP BIOS for ISA device discovery
o lid the control-method lid switch driver
o pci pci root-bus discovery
o processor CPU power/speed management
o thermal system temperature detection and control
o timer ACPI timecounter
Multiple components may be disabled by specifying their name(s)
separated by whitespace.
- Add support for ioctl registration. ACPI subsystem components may
register ioctl handlers with the /dev/acpi generic ioctl handler,
allowing us to avoid the need for a multitude of /dev/acpi* control
devices, etc.
jake [Fri, 8 Dec 2000 08:49:36 +0000 (08:49 +0000)]
Change the calling conventions of the MTX_ENTER macro to match
that of MTX_EXIT. Don't assume that the reg parameter to MTX_ENTER
holds curproc, load it explicitly. Put semi-colons at the end of
the macros to be more consistent and so its harder to forget them
when these change.
jhb [Fri, 8 Dec 2000 05:03:34 +0000 (05:03 +0000)]
Well, the previous commit wasn't entirely correct either. For now, just
disable the optimized mutex micro-operations for the non-I386_CPU case
and fall back to the C stubs that call the atomic_foo() inlines.
When TFTP tries to open a file, it is expecting struct open_file
member f_devdata to be a pointer to a socket number. When currdev
is "pxe", that assumption is correct. When currdev is "disk*", that
assumption is incorrect.
jhb [Fri, 8 Dec 2000 00:58:54 +0000 (00:58 +0000)]
Add comments to the proc structure to describe how each member will be
locked. This list is subject to change, but hopefully many changes will
not have to be made.
wpaul [Thu, 7 Dec 2000 23:30:51 +0000 (23:30 +0000)]
When I converted this driver, I neglected to deal with packet alignment.
We must force payload alignment to a longword boundary to make the
alpha happy. This should stop the driver from trapping on the alpha
when the interface is ifconfig'ed (actually, when the first frame is
received).