rev. 1.67, author: mycroft
Fix a byte order error.
rev. 1.68, author: mycroft
Adjust some silliness that was causing us to do extra work for
"frame list rollover" interrupts, which we pretty much ignore.
Alan Cox [Thu, 15 Jul 2004 18:00:43 +0000 (18:00 +0000)]
Push down the acquisition and release of the page queues lock into
pmap_protect() and pmap_remove(). In general, they require the lock in
order to modify a page's pv list or flags. In some cases, however,
pmap_protect() can avoid acquiring the lock.
Re-work for fdc_acpi. Expose fdc_add_child() and move the static
hints-based probe to fdc_hints_probe().
Also:
* Fix some resource leaks when attach fails.
* Remove the FDC_ATTACHED flag. It was supposed to prevent multiple
unloads but this is not necessary.
Add an ACPI floppy drive attachment that probes via the _FDE and _FDI
methods. It also now handles ordinary floppy drive probing for drives
attached to ACPI.
Update the interface for child drivers. Add acpi_scan_children, which
allows a bus to re-enumerate its child handles and optionally replace
them with new children, arranged to the bus's liking. (The current device
space is flat with all devices immediately under acpi0). Add comments
for each interface.
Martin Blapp [Thu, 15 Jul 2004 13:24:44 +0000 (13:24 +0000)]
Reenable nullfs for local links. The change from 'struct vfsconf'
to 'struct xvfsconf' broke auto configuration. Patches have been
submitted to the vendor.
Brian Somers [Thu, 15 Jul 2004 09:42:16 +0000 (09:42 +0000)]
Fix ``set ifaddr''. The code was actually using an uninitialised variable,
but conveniently, because ncpaddr.ncpaddr_family != AF_INET, the call to
ncpaddr_getip4addr() became a no-op leaving the local address as it was
(defaulting to whatever my hostname resolves to).
PR: 62050
Submitted by: Peter Jeremy <peter.jeremy@alcatel.com.au>
MFC after: 3 days
Do a pass over all modules in the kernel and make them return EOPNOTSUPP
for unknown events.
A number of modules return EINVAL in this instance, and I have left
those alone for now and instead taught MOD_QUIESCE to accept this
as "didn't do anything".
John Baldwin [Thu, 15 Jul 2004 04:52:57 +0000 (04:52 +0000)]
Remove some serious foot-shooting potential from the release Makefile. For
some unknown reason, when LOCAL_PATCHES and LOCAL_SCRIPT were originally
added, they were silently ignored if the actual file did not exist. As a
result, if one mistyped the pathname to a patch or script, then the release
silently succeeded. However, it was not built with the desired changes and
no warning was given to inform the builder either. This commit explicitly
checks to see that all of the defined patches and scripts exist up front
and bails if any of them do not exist. I lost several hours of valuable
sleeping time this evening due to this "feature" so I've finally gone and
ripped out. I've tripped over this in the past several other times as
well.
David Xu [Thu, 15 Jul 2004 03:52:17 +0000 (03:52 +0000)]
type prgregset_t really should be an array. this is odd, however, other
systems defined interfaces in thread_db.h use prgregset_t but not
prgregset_t * to be a output parameter, this is the only way to maintain
source code compatible with them.
David Xu [Thu, 15 Jul 2004 03:43:18 +0000 (03:43 +0000)]
Add proc_service.h, the common file both debugger and libthread_db will
use, program wants to load libthread_db.so should provid proc service
interface.
David Xu [Thu, 15 Jul 2004 03:36:35 +0000 (03:36 +0000)]
Add my initial work of libthread_db. The library is used by gdb to debug
threaded process. Current, only libpthread is supported, but macrel will
work on it to support libthr and libc_r.
Clean up the output on reboot by keeping completion messages on the same
line as the announcement. Someone should probably update the "buffers
remaining" message since we now no longer should have any buffers remaining
at that point.
Tim Kientzle [Thu, 15 Jul 2004 03:14:46 +0000 (03:14 +0000)]
Make the day/month ordering dependent on the current locale by
testing the locale at program startup and setting a flag, then
using that flag to determine appropriate strftime() arguments.
A module with no modevent function gets modevent_nop() as default.
Until now the function has just returned zero for any event, but
that is downright wrong for MOD_UNLOAD and not very useful for any
future events we add where it may be crucial to be able to tell
if the event was unhandled or successful.
Add a HARDWARE section which lists supported devices. The actual
device listings has been moved (and in some cases more or less
rewritten) from the DESCRIPTION section.
Robert Watson [Wed, 14 Jul 2004 20:31:05 +0000 (20:31 +0000)]
Add a mutex ng_tty_mtx to protect the global variable ngt_unit. Note
that the locking of globals here isn't complete, and there's also a
locking issue relating to calling into and out of the tty code.
Robert Watson [Wed, 14 Jul 2004 20:26:29 +0000 (20:26 +0000)]
Introduce a new mutex, ng_eiface_mtx, to protect the global unit list
lock used to synchronize allocation of unit numbers for new netgraph
ethernet interfaces.
Mark Santcroos [Wed, 14 Jul 2004 19:31:31 +0000 (19:31 +0000)]
Some laptops report the "design-capacity" instead of the "real-capacity"
when the battery is fully charged. That breaks some of the arithmetic in
calculating the remaining capacity (ends up with more than 100%).
This commit makes sure the max is 100.
In addition to the real user ID check, do an explicit jail
check to ensure that the caller is not prison root.
The intention is to fix file descriptor creation so that
prison root can not use the last remaining file descriptors.
This privilege should be reserved for non-jailed root users.
Tim J. Robbins [Wed, 14 Jul 2004 08:33:14 +0000 (08:33 +0000)]
Splay the left and right subtrees on min - 1 and max + 1, respectively,
before trying to coalesce. Forgetting to splay caused us to miss many
opportunities for coalescing.
Peter Wemm [Wed, 14 Jul 2004 07:13:35 +0000 (07:13 +0000)]
Like on i386, eliminate pv_ptem (which was suggested by alc). This
reduces the size of the pv_entry structure a small but significant amount.
This is implemented a little differently because it isn't so cheap to get
the physical address of the page tabke page on amd64.. instead of it
being directly accessible from the top level page directory, it is now
two additional tree levels down. However.. In almost all cases, we
recently had the physical address if the page table page a short while
before we needed it, but it slipped through our fingers. This patch
saves it for when we do need it. Also, for the one case where we do not
have the ptp paddr, we are always running in curproc context and so we
can do a vtopte-like trick. I've implemented vtopde() for this purpose.
There is still a CYA entry in pmap_unuse_pt() that needs to be removed. I
think it can be removed now but I forgot to test with it gone.
Add more technical acronyms, product names, country names, and
technical english words to reduce the number of false positives when
spellchecking our documentation.
David Xu [Tue, 13 Jul 2004 22:49:58 +0000 (22:49 +0000)]
Add code to support thread debugging.
1. Add global varible _libkse_debug, debugger uses the varible to identify
libpthread. when the varible is written to non-zero by debugger, libpthread
will take some special action at context switch time, it will check
TMDF_DOTRUNUSER flags, if a thread has the flags set by debugger, it won't
be scheduled, when a thread leaves KSE critical region, thread checks
the flag, if it was set, the thread relinquish CPU.
2. Add pq_first_debug to select a thread allowd to run by debugger.
3. Some names prefixed with _thr are renamed to _thread prefix.