Warner Losh [Sat, 25 Oct 2003 04:05:33 +0000 (04:05 +0000)]
Start to minimize diffs between vx and ep. These latter is based on a
more advanced version of the chips supported by the former. Matt Dodd
and I are working towards merging them, and this a step on that path.
Eric Anholt [Fri, 24 Oct 2003 21:45:21 +0000 (21:45 +0000)]
Don't try to use dev->dma_lock unless dma is initialized (dev->dma != NULL)
in bufs_info sysctl handler. dev->dma and dev->dma_lock existence are
protected by DRM_LOCK(). Fixes panic on sysctl hw.dri when the device is
uninitialied (when you aren't in X).
John Baldwin [Fri, 24 Oct 2003 21:05:30 +0000 (21:05 +0000)]
- Add a DDB command 'show intrcnt' to show the non-zero interrupt counts.
- Add a DDB function to dump the contents of an ithread and optionally
details about each handler in that ithread. This function can be used
by MD code to implement DDB commands that display information about
interrupt sources and their registered handlers.
John Baldwin [Fri, 24 Oct 2003 21:01:31 +0000 (21:01 +0000)]
- Fail to probe if acpi0 probed ok as this driver basically tries to probe
the ACPI timer and we shouldn't do that if ACPI is already around to do
that for us.
- Set a description and tweak the order of checks in the probe function
to more closely match other PCI drivers.
This should probably be moved to sys/dev/piix/piix.c at some point and
turned on for all i386 kernels rather than just SMP ones.
Hajimu UMEMOTO [Fri, 24 Oct 2003 18:43:24 +0000 (18:43 +0000)]
oops, revert previous change to getaddrinfo.c. This is not related
to RFC3493. The previous change was related to RFC3484 (Default
Address Selection for IPv6), and it will come later.
Hajimu UMEMOTO [Fri, 24 Oct 2003 18:26:30 +0000 (18:26 +0000)]
Switch Advanced Sockets API for IPv6 from RFC2292 to RFC3542
(aka RFC2292bis). Though I believe this commit doesn't break
backward compatibility againt existing binaries, it breaks
backward compatibility of API.
Now, the applications which use Advanced Sockets API such as
telnet, ping6, mld6query and traceroute6 use RFC3542 API.
Don't check timeout just after booted.
Some transactions could be considered wrongly to be timeout
bacause interrupts are disabled during boot process.
Alan Cox [Fri, 24 Oct 2003 06:43:04 +0000 (06:43 +0000)]
- Push down Giant from vm_pageout() to vm_pageout_scan(), freeing
vm_pageout_page_stats() from Giant.
- Modify vm_pager_put_pages() and vm_pager_page_unswapped() to expect the
vm object to be locked on entry. (All of the pager routines now expect
this.)
Mike Silbersack [Fri, 24 Oct 2003 05:44:14 +0000 (05:44 +0000)]
Reduce the number of tcp time_wait structs to maxsockets / 5; this ensures
that at most 20% of sockets can be in time_wait at one time, ensuring
that time_wait sockets do not starve real connections from inpcb
structures.
No implementation change is needed, jlemon already implemented a nice
LRU-ish algorithm for tcp_tw structure recycling.
This should reduce the need for sysadmins to lower the default msl on
busy servers.
Arun Sharma [Fri, 24 Oct 2003 04:56:58 +0000 (04:56 +0000)]
Use a TR of size 1 << IA64_ID_PAGE_SHIFT instead of 16M to avoid
overlapping TR/TC entries (which results in a machine check). Note
that we don't look at the size of the memory descriptor, because
it doesn't guarantee non-overlap.
With this change, a UP kernel could boot on a Intel Tiger4 machine
with the following options:
Peter Wemm [Fri, 24 Oct 2003 02:50:39 +0000 (02:50 +0000)]
Add __va_copy and make it always visible, in spite of the __ISO_C_VISIBLE
setting. Make va_copy be an alias if __ISO_C_VISIBLE >= 1999.
Why? more than a few ports have an autoconf that looks for __va_copy
because it is available on glibc. It is critical that we use it if
at all possible on amd64. It generally isn't a problem for i386 and its
ilk because autoconf driven code tends to fall back to an assignment.
Eric Anholt [Fri, 24 Oct 2003 01:48:17 +0000 (01:48 +0000)]
Update to latest from DRI CVS. Primary new feature is mostly-complete smpng
locking, and the apparently unnecessary locking for -stable has been removed.
This may fix issues with missed interrupts since April, which manifested
themselves as slowdowns or hangs in radeon, in particular. Many cleanups also
took place. In the shared code, there are improvements to r128 driver
stability.
Sam Leffler [Fri, 24 Oct 2003 00:09:18 +0000 (00:09 +0000)]
o restructure initialization code so data structures are setup
when loaded as a module
o cleanup data structures on module unload when no application has
been started (i.e. kldload, kldunload w/o mrtd)
o remove extraneous unlocks immediately prior to destroying them
John Baldwin [Thu, 23 Oct 2003 21:14:08 +0000 (21:14 +0000)]
Move the P_COWINPROGRESS flag from being a per-process p_flag to being a
per-thread td_pflag which doesn't require any locks to read or write as it
is only read or written by curthread on itself.
John Baldwin [Thu, 23 Oct 2003 18:08:56 +0000 (18:08 +0000)]
Add simple support for AGP 3.0 including enabling 8x mode. The simple
part of the support is that it still assumes one master and one target
where as AGP 3.0 actually supports multiple devices on the bus.
Submitted by: Keith Whitwell <keith@tungstengraphics.com>
Sponsored by: The Weather Channel
Tom Rhodes [Thu, 23 Oct 2003 16:09:20 +0000 (16:09 +0000)]
Fix several old bugs which got worse over time:
o WARNS should be WARNS?= (broke in rev 1.21).
o Includes should be sorted.
o Move "mntopt.h" out of the standard includes section.
o Rewrite usage() to match the manual page and make it < 80 characters.
o Remove extra .El call on line 187. It is unused and causes mdoc(7) warnings.
Warner Losh [Thu, 23 Oct 2003 15:09:34 +0000 (15:09 +0000)]
Merge from p4 (noticed these changes with DES' if_ethersubr.c changes caused
a minor conflict):
o Use ETHER_ADDR_LEN in preference to '6'.
o Remove two unnecessary (caddr_t) casts. One of them causes problems in
my tree where etherbroadcastaddr is const, and (caddr_t) casts the const
away.
Hajimu UMEMOTO [Thu, 23 Oct 2003 13:55:36 +0000 (13:55 +0000)]
EAI_ADDRFAMILY and EAI_NODATA was deprecated in RFC3493
(aka RFC2553bis). Now, getaddrinfo(3) returns EAI_NONAME
instead of EAI_NODATA. Our getaddrinfo(3) nor getnameinfo(3)
didn't use EAI_ADDRFAMILY.
Plug a memory leak in the PAM child process. It is of no great consequence
as the process is short-lived, and the leak occurs very rarely and always
shortly before the process terminates.
Marcel Moolenaar [Thu, 23 Oct 2003 06:41:59 +0000 (06:41 +0000)]
Cleanup. Remove the md_flags for threads. It's not used. The flags
we had were bogus.
While here, reassign the copyright to the Project. There's nothing
in this files that originates from NetBSD, especially now that the
FreeBSD/alpha bits have been removed, but even then the amount of
inherited code that we actually used was nil.
Marcel Moolenaar [Thu, 23 Oct 2003 06:32:34 +0000 (06:32 +0000)]
Reimplement unaligned_fixup() using the new disassembler and a
mcontext_t for the register values. Currently only ld8 and ldfd
instructions are handled as those are the ones we need now (a
misaligned ld8 occurs 4 times in ntpd(8) and a misaligned ldfd
occurs once in mozilla 1.4 and 1.5). Other instructions are added
when needed.
Marcel Moolenaar [Thu, 23 Oct 2003 06:19:06 +0000 (06:19 +0000)]
Add spillfd(). This function loads a double-precision FP register
at the first address and spills it to the second address. This
allows unaligned_fixup() to update the context of the process in
a way that assures proper rounding.
Similar functions for single-and extended-precision are added when
needed.
Marcel Moolenaar [Thu, 23 Oct 2003 06:01:52 +0000 (06:01 +0000)]
Add a new disassembler that improves over the previous disassembler
in that it provides an abstract (intermediate) representation for
instructions. This significantly improves working with instructions
such as emulation of instructions that are not implemented by the
hardware (e.g. long branch) or enhancing implemented instructions
(e.g. handling of misaligned memory accesses). Not to mention that
it's much easier to print instructions.
Functions are included that provide a textual representation for
opcodes, completers and operands.
The disassembler supports all ia64 instructions defined by revision
2.1 of the SDM (Oct 2002).
Hiten Pandya [Thu, 23 Oct 2003 05:41:05 +0000 (05:41 +0000)]
Mdoc Janitor:
* Uppercase .Dt command contents.
* Make use of .Fo and .Fc for marking up functions with
a lot of arguments.
NOTE: Please do not use the `\' line seperator for mdoc(7)
manual pages, as it has problems of its own on some displays;
instead, consult the mdoc(7) manual on using .Fo and .Fc.
Peter Wemm [Thu, 23 Oct 2003 05:31:23 +0000 (05:31 +0000)]
Renumber the sysarch vectors for amd64 specific syscalls so that I can
implement i386 compat numbers where it makes sense. This would save a
syscall translation layer. Yes, this breaks the abi slightly again, but
fortunately its just a recompile rather than tweaking the source. I will
be fixing the libc stubs while I'm here.