Jordan Gordeev [Mon, 17 Aug 2009 18:44:11 +0000 (18:44 +0000)]
amd64: Update two files for 64-bit virtual page tables.
This change replaces support for the vpagetables used by the i386 vkernel.
Charlie [Sat, 15 Aug 2009 18:09:32 +0000 (18:09 +0000)]
amd64: Move declaration of npxdna().
Helps the vkernel.
Jordan Gordeev [Sun, 16 Aug 2009 12:58:30 +0000 (15:58 +0300)]
amd64: Update some header files for the vkernel.
Jordan Gordeev [Mon, 17 Aug 2009 20:44:39 +0000 (23:44 +0300)]
amd64: Add files for the amd64 vkernel.
Simon Schubert [Fri, 7 Aug 2009 09:06:54 +0000 (11:06 +0200)]
boot: consolidate per-platform settings
The bootloader has very specific build requirements, such as absolutely
no floating point ops.
- Define the build options in ${MACHINE_PLATFORM}/Makefile.inc.
- Make amd64/pc64 include the pc32 settings, since they share the boot
loader
- Build the pc32 boot loader with CPUTYPE=i386 to avoid all FPU ops
- Include these settings also from ficl
Jordan Gordeev [Sun, 9 Aug 2009 14:13:50 +0000 (17:13 +0300)]
amd64: atkbdc: Add amd64 "support".
Jordan Gordeev [Mon, 10 Aug 2009 08:06:57 +0000 (11:06 +0300)]
amd64: Add missing kvtop().
Copied from i386.
Jordan Gordeev [Sun, 9 Aug 2009 17:57:46 +0000 (20:57 +0300)]
amd64: Move some kernel files.
Helps building of vkernel.
Matthew Dillon [Thu, 13 Aug 2009 23:07:55 +0000 (16:07 -0700)]
AMD64 - Fix file descriptor passing.
* The kernel was improperly assuming that the cmsghdr structure is
aligned. It is not on 64-bit architectures.
Reported-by: Antonio Huete <ahuete.devel@gmail.com>
Matthew Dillon [Thu, 13 Aug 2009 20:41:59 +0000 (13:41 -0700)]
AMD64 - Properly detect kernel thread register frames.
Matthew Dillon [Thu, 13 Aug 2009 20:26:37 +0000 (13:26 -0700)]
AMD64 - Fix kgdb for kernel core files.
* Add a dummy sniffer to set the osabi, as the kernel binary may not
have an ABI tag.
Matthew Dillon [Thu, 13 Aug 2009 17:00:24 +0000 (10:00 -0700)]
AMD64 - Use Elf_Word for note alignment
* gnu utilities such as objdump and gdb appear to assume that notes
are 4-byte aligned.
Matthew Dillon [Thu, 13 Aug 2009 16:39:53 +0000 (09:39 -0700)]
AMD64 - Enable TSC functions.
Matthew Dillon [Wed, 12 Aug 2009 21:38:50 +0000 (14:38 -0700)]
AMD64 - Change VM_SWZONE_SIZE_MAX from 32M to 512M
* Increase the KVM reservation for the swap zone structure on amd64.
Space is reserved for enough swzone structures to cover around
512G of swap.
Matthew Dillon [Wed, 12 Aug 2009 18:02:40 +0000 (11:02 -0700)]
AMD64 - Fix bugs in pmap_growkernel()
* The iterator was not being iterated when allocating a PDPE.
* pmap_zero_page() was being called with a vm_page_t instead of a physical
address. (FreeBSD's version uses a vm_page_t, ours uses a physical
address).
Matthew Dillon [Wed, 12 Aug 2009 16:56:03 +0000 (09:56 -0700)]
AMD64 - Fix bug in pmap_prefault, adjust vn kprintfs to conform to amd64.
* The pde was being indirected without first checking to see if it was NULL.
* Fix kprintf()'s in the VN device to build without warning on amd64.
Matthew Dillon [Wed, 12 Aug 2009 04:52:58 +0000 (21:52 -0700)]
AMD64 - Sync additional modifications to amd64 test Makefile
* ad1 becomes ad0 in the qemu-run amd64 kernel.
Matthew Dillon [Wed, 12 Aug 2009 04:45:26 +0000 (21:45 -0700)]
AMD64 - Sync additional modifications so amd64 kernel & world builds on i386.
Matthew Dillon [Wed, 12 Aug 2009 04:43:23 +0000 (21:43 -0700)]
AMD64 - Sync machine-dependent bits from smtms.
Submitted-by: Jordan Gordeev <jgordeev@dir.bg>
Matthew Dillon [Wed, 12 Aug 2009 04:41:31 +0000 (21:41 -0700)]
AMD64 - Sync machine-independant bits from smtms.
Submitted-by: Jordan Gordeev <jgordeev@dir.bg>
Matthew Dillon [Sun, 9 Aug 2009 18:22:30 +0000 (11:22 -0700)]
AMD64 - Fix prototypes for atomic_cmpset_long()
Reported-by: smtms
Matthew Dillon [Sun, 9 Aug 2009 18:15:14 +0000 (11:15 -0700)]
AMD64 - Fix atomic_cmpset_long()
Matthew Dillon [Sun, 9 Aug 2009 18:14:33 +0000 (11:14 -0700)]
AMD64 - Fix 64 bit buildworld, missing compiler options in sys/boot
Matthew Dillon [Thu, 30 Jul 2009 18:33:36 +0000 (11:33 -0700)]
Fix nasty bug in exec*() code that can crash the machine.
Fix a case where the exec() would sometimes attempt to free a wild pointer,
placing it in the objcache and creating nasty kernel memory corruption.
Reported-by: Borislav Nikolov <none@venom.interbgc.com>
Jordan Gordeev [Tue, 4 Aug 2009 19:24:45 +0000 (22:24 +0300)]
amd64: Fix varargs issue exhibited on amd64.
Jordan Gordeev [Fri, 31 Jul 2009 18:26:12 +0000 (21:26 +0300)]
amd64: Fix one instance of 32-bit truncation on amd64.
Jordan Gordeev [Fri, 31 Jul 2009 18:23:50 +0000 (21:23 +0300)]
amd64: Make 'segsz_t' be 64-bit on amd64.
Jordan Gordeev [Wed, 29 Jul 2009 19:09:29 +0000 (22:09 +0300)]
amd64: Increase max data and stack size.
Jordan Gordeev [Wed, 29 Jul 2009 18:57:47 +0000 (21:57 +0300)]
Merge branch 'master' into amd64
Jordan Gordeev [Wed, 29 Jul 2009 18:42:01 +0000 (21:42 +0300)]
amd64: Fix address truncation bug.
Sascha Wildner [Tue, 28 Jul 2009 21:04:44 +0000 (23:04 +0200)]
Bump __DragonFly_version after removing suser() and suser_cred().
Requested-by: corecode
Sascha Wildner [Tue, 28 Jul 2009 18:33:25 +0000 (20:33 +0200)]
gzip.1: Mention that our gzip(1) can now unpack, too.
Sascha Wildner [Tue, 28 Jul 2009 18:28:46 +0000 (20:28 +0200)]
mail.local(8): Raise WARNS to 2.
Sascha Wildner [Tue, 28 Jul 2009 17:54:15 +0000 (19:54 +0200)]
getty(8): Raise WARNS to 2 and fix a warning.
Nicolas Thery [Sun, 26 Jul 2009 20:21:23 +0000 (22:21 +0200)]
add fstatat(2) syscall
Nicolas Thery [Tue, 28 Jul 2009 16:32:50 +0000 (18:32 +0200)]
new nlookup functions for "at" syscalls
Factor out common code for handling "at" family of syscalls into
nlookup_init_at() and nlookup_done_at().
Refactor sys_openat() to use these functions.
Sascha Wildner [Tue, 28 Jul 2009 16:01:00 +0000 (18:01 +0200)]
mountd(8): Raise WARNS to 2.
Sascha Wildner [Tue, 28 Jul 2009 16:00:40 +0000 (18:00 +0200)]
kdump(1): Fix amd64 warning.
Sascha Wildner [Tue, 28 Jul 2009 15:11:31 +0000 (17:11 +0200)]
truss(1): Raise WARNS to 6 and fix warnings.
Sascha Wildner [Tue, 28 Jul 2009 12:37:14 +0000 (14:37 +0200)]
kdump(1): Raise WARNS to 6 and fix warnings.
Sascha Wildner [Tue, 28 Jul 2009 12:36:25 +0000 (14:36 +0200)]
Regenerate syscalls.c
Sascha Wildner [Tue, 28 Jul 2009 12:36:03 +0000 (14:36 +0200)]
makesyscalls.sh: Constify syscall names array.
Jordan Gordeev [Tue, 28 Jul 2009 12:23:58 +0000 (15:23 +0300)]
amd64: Sync atomic_cmpset_int() and atomic_cmpset_long() with FreeBSD.
Jordan Gordeev [Tue, 28 Jul 2009 12:03:04 +0000 (15:03 +0300)]
Merge branch 'master' into amd64
Jordan Gordeev [Tue, 28 Jul 2009 12:02:16 +0000 (15:02 +0300)]
Merge branch 'master' into amd64
Sascha Wildner [Fri, 24 Jul 2009 11:36:13 +0000 (13:36 +0200)]
nrelease: Read the # of CPUs and build with -j / MAKE_JOBS.
While here, do clean up a bit.
Sascha Wildner [Tue, 28 Jul 2009 11:58:37 +0000 (13:58 +0200)]
atomic.[ch]: Clean up some warnings that crept up in the recent weeks.
Sascha Wildner [Tue, 28 Jul 2009 11:53:58 +0000 (13:53 +0200)]
telnetd.8: Some more mdoc cleanup.
Jordan Gordeev [Tue, 28 Jul 2009 11:37:57 +0000 (14:37 +0300)]
Merge branch 'master' into amd64
Jordan Gordeev [Tue, 28 Jul 2009 11:28:02 +0000 (14:28 +0300)]
Merge branch 'master' into amd64
Jordan Gordeev [Tue, 28 Jul 2009 11:22:52 +0000 (14:22 +0300)]
amd64: Sync CPU detection with FreeBSD.
Matthew Dillon [Tue, 28 Jul 2009 04:22:10 +0000 (21:22 -0700)]
TCP - Fix re-establishment issues if a client reboots
When the machine hosting the client side of a TCP connection
reboots without clearing the connection, the server side will
continue to believe that the connection is in an established
state. If the client attempts to reconnect using the same
port pair (after rebooting, typically), the sequence space checks
against DOS attacks on the server side will cause the SYN
packets to be dropped.
A dandy solution to this problem is to force a keep-alive within
half a second of receiving a SYN on an ESTABLISHED socket. The
server will revalidate the connection and, since the client is
actually alive, will get an immediately Reset. The the next
SYN attempt from the client will then succeed.
A SYN sent as part of a DOS attack has little effect other then
to cause the server to probe the established connection within
half a second of receiving the bogus SYN.
In particular, this fixes issues with TCP NFS connections. NFS
clients are often unable to umount the NFS mounts and the TCP
connection is left established through the reboot. Instead of
hanging on SYNs being simply dropped by the server, the server
now properly detects that the connection is in fact dead after
the first SYN and properly reestablishes it on the next one.
Matthew Dillon [Tue, 28 Jul 2009 00:44:49 +0000 (17:44 -0700)]
TCP - Remove net.inet.tcp.minmssoverload
This feature is horribly broken and has been removed. It immediately breaks
NFS over TCP, it makes major assumptions about how TCP connections are used
which break standards, particular with regards to imposing a minimum data
size for synchronous communications, and the algorithm does not scale to
network speed AT ALL.
Matthew Dillon [Mon, 27 Jul 2009 23:22:29 +0000 (16:22 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Mon, 27 Jul 2009 23:19:10 +0000 (16:19 -0700)]
GZIP - Add SCM ident and commit missed changes to gzip.c
* Add SCM ident so Xin Li can track the file, and add missed changes
to gzip.c
Jordan Gordeev [Mon, 27 Jul 2009 20:02:32 +0000 (23:02 +0300)]
Merge branch 'master' into amd64
Jordan Gordeev [Mon, 27 Jul 2009 19:32:28 +0000 (22:32 +0300)]
amd64: Add amd64 support to libkvm.
From FreeBSD revision 129452.
Sascha Wildner [Mon, 27 Jul 2009 14:04:38 +0000 (16:04 +0200)]
gzip.1 & co.: Please keep DragonFly timeline for .Dd, not FreeBSD's.
Sascha Wildner [Mon, 27 Jul 2009 14:03:21 +0000 (16:03 +0200)]
mxge.4: Comment out incomplete sentence, use .Fx and add ifmedia(4) xref.
Sascha Wildner [Mon, 27 Jul 2009 14:01:47 +0000 (16:01 +0200)]
telnetd.8: Clean up a bit.
* We do not compile -DBFTPDAEMON so comment out bftp related parts.
* It's 'RFC xxxx', not "RFC-xxxx'.
* Start sentences on a new line.
Sascha Wildner [Mon, 27 Jul 2009 13:59:13 +0000 (15:59 +0200)]
open.2: Remove trailing whitespace.
Sascha Wildner [Sun, 26 Jul 2009 18:50:13 +0000 (20:50 +0200)]
Remove suser*() functions, manpage and assorted remains.
Peter Avalos [Mon, 20 Jul 2009 01:50:00 +0000 (15:50 -1000)]
Implement autosizing TCP socket buffers.
Normally the socket buffers are static (either derived from global
defaults or set with setsockopt) and do not adapt to real network
conditions. Two things happen: a) your socket buffers are too small
and you can't reach the full potential of the network between both
hosts; b) your socket buffers are too big and you waste a lot of
kernel memory for data just sitting around.
With automatic TCP send and receive socket buffers we can start with a
small buffer and quickly grow it in parallel with the TCP congestion
window to match real network conditions.
New sysctls are:
net.inet.tcp.sendbuf_auto=1 (enabled)
net.inet.tcp.sendbuf_inc=8192 (8K, step size)
net.inet.tcp.sendbuf_max=
16777216 (16M, growth limit)
net.inet.tcp.recvbuf_auto=1 (enabled)
net.inet.tcp.recvbuf_inc=16384 (16K, step size)
net.inet.tcp.recvbuf_max=
16777216 (16M, growth limit)
Additionally, add limiters and sanity checks for TCP MSS (maximum segment
size) resource exhaustion attacks.
Obtained-from: FreeBSD
Matthew Dillon [Sun, 26 Jul 2009 21:53:05 +0000 (14:53 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Sascha Wildner [Sun, 26 Jul 2009 21:39:27 +0000 (23:39 +0200)]
Repair rcenable(8) and rcdisable(8).
* rcenable(8) was not playing nicely with our three year old change to
no longer depend on _enable being appended to rc variables for starting
daemons etc. (i.e., foo_enable=yes and foo=yes both work).
* rcdisable(8) did not properly run rcstop(8) because that needs to be
run when the variable is still set to 'yes' and not after it's been
set to 'no'.
Noticed-by: phma on #dragonflybsd
Nicolas Thery [Sun, 26 Jul 2009 18:40:46 +0000 (20:40 +0200)]
libc_r: fix bugs in openat()
The openat() wrapper was not locking its file descriptor argument.
Special case the magic AT_FDCWD descriptor in the file descriptor
locking code (_FD_LOCK() / _FD_UNLOCK()) to avoid EINVAL on locking.
Nicolas Thery [Sun, 26 Jul 2009 16:45:10 +0000 (18:45 +0200)]
make openat(2) a POSIX syscall instead of BSD one.
Matthew Dillon [Sun, 26 Jul 2009 18:56:13 +0000 (11:56 -0700)]
NFS - Increase server-side listen queue for TCP connections from 5 to 64
* The listen queue was not big enough, sometimes when clients boot up
they get stuck for a short period of time due to their NFS connections
getting thrown away by the server.
Sascha Wildner [Sun, 26 Jul 2009 18:49:02 +0000 (20:49 +0200)]
priv.9: Mention that NULL_CRED_OKAY is used by priv_check_cred().
Matthew Dillon [Sun, 26 Jul 2009 18:35:57 +0000 (11:35 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sun, 26 Jul 2009 18:35:22 +0000 (11:35 -0700)]
GZIP - Add unpack support to gzip
Submitted-by: Xin LI <delphij@delphij.net>
Ported-from: FreeBSD
Nicolas Thery [Sun, 26 Jul 2009 05:45:47 +0000 (07:45 +0200)]
add fdopendir(3) implementation (1/?)
POSIX states that the file offset of the passed descriptor determines the
directory entry read but this commit supports only descriptors with null
offsets.
Also add __fdopendir2() for symmetry with opendir/__opendir2().
Nicolas Thery [Sun, 26 Jul 2009 03:35:22 +0000 (05:35 +0200)]
dirent.h: fix typo in comment
Sascha Wildner [Sat, 25 Jul 2009 22:20:49 +0000 (00:20 +0200)]
open.2: Fix typo and reword an awkward sounding sentence.
Sascha Wildner [Sat, 25 Jul 2009 21:41:31 +0000 (23:41 +0200)]
Merge branch 'master' of ssh://swildner@crater.dragonflybsd.org/repository/git/dragonfly
Stathis Kamperis [Sat, 25 Jul 2009 20:03:40 +0000 (23:03 +0300)]
tcsetpgrp(3): Return EINVAL upon invalid process group id.
POSIX mandates it and our man page advertises that we do it already.
DragonFly-bug: <http://bugs.dragonflybsd.org/issue1421>
Partially reviewed-by: dillon@
Stathis Kamperis [Sat, 25 Jul 2009 17:21:40 +0000 (20:21 +0300)]
at(1): Print datetime upon job submission as POSIX mandates.
Before:
$ at 20:39
ls
Job 19 will be executed using /bin/sh
$
After:
$ at 20:39
ls
Job 21 will be executed using /bin/sh
Job 21 at Mon Jul 20 20:39:00 2009
$
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1432>
Nicolas Thery [Sat, 25 Jul 2009 07:17:35 +0000 (09:17 +0200)]
add openat(2) man page
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1435>
Obtained-from: FreeBSD
Nicolas Thery [Sat, 25 Jul 2009 07:12:09 +0000 (09:12 +0200)]
add openat(2) system call
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1435>
Reviewed-by: dillon@
Sascha Wildner [Sat, 25 Jul 2009 07:03:57 +0000 (09:03 +0200)]
man8/Makefile: Fix a small typo and sort alphabetically.
Thomas Nikolajsen [Fri, 24 Jul 2009 22:35:31 +0000 (00:35 +0200)]
rc,rc.8,rc.shutdown: Note that rc & rc.shutdown aren't for local modification
Update description of rc.local, rc.shutdown.local &
make alias for latter to rc.8
Jordan Gordeev [Fri, 24 Jul 2009 13:51:06 +0000 (16:51 +0300)]
amd64: Sync 'floatingpoint.h' and 'ieeefp.h' with FreeBSD.
Sepherosa Ziehau [Fri, 24 Jul 2009 11:44:48 +0000 (19:44 +0800)]
ae(4): Reset PHY during resuming
Submitted-by: Alexander Polakov <polachok@gmail.com>
Sascha Wildner [Fri, 24 Jul 2009 00:12:25 +0000 (02:12 +0200)]
stty.1: Start sentences on a new line.
Matthew Dillon [Thu, 23 Jul 2009 22:41:41 +0000 (15:41 -0700)]
NFS - Change the mount default from udp to tcp, add "udp" option.
* Mount_nfs now mounts TCP by default.
* Added "udp" option, and the -U option now works similarly to -T,
but for udp instead of tcp.
Matthew Dillon [Thu, 23 Jul 2009 20:43:44 +0000 (13:43 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Thu, 23 Jul 2009 20:43:11 +0000 (13:43 -0700)]
VKE - Move vke_init_addr() to fix panic
vke_init_addr() requires VKE to be able to send and receive packets, so it
must be called AFTER the cothreads have been created, not before.
Hasso Tepper [Thu, 23 Jul 2009 19:19:45 +0000 (22:19 +0300)]
Add et_EE.ISO8859-15 locale.
Matthew Dillon [Thu, 23 Jul 2009 17:14:34 +0000 (10:14 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Thu, 23 Jul 2009 17:13:58 +0000 (10:13 -0700)]
HAMMER - Augment "Missing inode for dirent" Warning.
* When warning about a missing inode for a directory entry, also print out
the as-of transaction id and the localization field so we can tell
whether the warning is related to a snapshot and/or PFS.
Stathis Kamperis [Thu, 23 Jul 2009 13:14:37 +0000 (16:14 +0300)]
cmp.1: Add compatibility section.
Matthew Dillon [Thu, 23 Jul 2009 09:06:24 +0000 (02:06 -0700)]
AHD: Add a DELAY() in the XPT_RESET_BUS path to avoid a race.
The exact race isn't known but adding the DELAY() appears to fix
it. It could be related to ccb's queued prior to the bus reset
which we have to abort.
With-help-from: Peter Avalos <pavalos@theshell.com>
Matthew Dillon [Thu, 23 Jul 2009 05:06:12 +0000 (22:06 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Thu, 23 Jul 2009 05:00:13 +0000 (22:00 -0700)]
HAMMER / VFS_VGET - Add optional dvp argument to VFS_VGET(). Fix readdirplus
* VGET is used by NFS to acquire a vnode given an inode number. HAMMER
requires additional information to determine the PFS the inode is being
acquired from.
Add an optional directory vnode argument to the VGET. If non-NULL, HAMMER
will extract the PFS information from this vnode.
* Adjust NFS to pass the dvp to VGET when doing a readdirplus.
Note that the PFS is already encoded in file handles, but readdirplus
acquires the attributes for each directory entry it scans (readdir does
not). This fixes readdirplus for NFS served HAMMER PFS exports.
Matthew Dillon [Thu, 23 Jul 2009 04:40:10 +0000 (21:40 -0700)]
NFS - fix d_ino reporting for readdir, readdirplus, fix unsigned check
* The d_ino reported by readdir/readdirplus was not encoding the entire
64 bit inode number.
* Extracted cnt/siz variables are signed ints, cast to unsigned to check
against max to deal with negative values.
Hasso Tepper [Thu, 23 Jul 2009 04:04:24 +0000 (07:04 +0300)]
Add some more Sys V compatibility integer typedefs.
Sascha Wildner [Wed, 22 Jul 2009 19:27:13 +0000 (21:27 +0200)]
/usr/Makefile: cvs update using -q.
Simon Schubert [Tue, 21 Jul 2009 23:21:44 +0000 (01:21 +0200)]
dma: don't block when trying to aquire a queue file
We might race with some other process, so it is imperative to treat a
locked file as a soft error instead of blocking on the file until the
other process unlocks it.
Simon Schubert [Tue, 21 Jul 2009 23:20:54 +0000 (01:20 +0200)]
dma: don't block on lock/opening the mbox file, backoff instead
Simon Schubert [Tue, 21 Jul 2009 23:20:08 +0000 (01:20 +0200)]
dma: accept -q without argument. report argument errors.