Matthew Dillon [Wed, 8 Jul 2009 03:11:28 +0000 (20:11 -0700)]
AMD64 - stop the backtrace if the stack address is too low.
Stop the backtrace if the stack address is too low. This fixes at least
one panic when the debugger is asked to print kernel stack backtraces.
Matthew Dillon [Wed, 8 Jul 2009 03:10:46 +0000 (20:10 -0700)]
JG64 - include ahci, sili, and usb devices
Matthew Dillon [Tue, 7 Jul 2009 18:19:59 +0000 (11:19 -0700)]
Merge commit 'smtms/amd64'
Matthew Dillon [Tue, 7 Jul 2009 18:02:40 +0000 (11:02 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Tue, 7 Jul 2009 17:55:35 +0000 (10:55 -0700)]
VKERNEL - vkernel test build, build SMP
* Vkernel is built SMP by default, set default number of cpus to 2.
* Provide environment or make variable overrides for NCPUS and PHYSMEM.
* Change network default to /dev/vknet (for use w/ DHCP) instead of
hardwiring 10.3.1.1.
Matthew Dillon [Tue, 7 Jul 2009 17:54:45 +0000 (10:54 -0700)]
mbwtest - Attempt to detect the L3 cache.
Attempt to detect the L3 cache. This doesn't work very well yet.
Matthew Dillon [Tue, 7 Jul 2009 17:53:41 +0000 (10:53 -0700)]
BOOT2 - adjust hammerread code to understand the new directory localization cap.
Matthew Dillon [Tue, 7 Jul 2009 17:51:20 +0000 (10:51 -0700)]
AHCI - Set AE before doing hard reset (HR).
NOTE on AE before HR. This is against the spec which neither
indicates nor implies any such requirement, but both the linux
and freebsd drivers do it so we will too.
Peter Avalos [Mon, 6 Jul 2009 21:23:17 +0000 (11:23 -1000)]
Merge branch 'master' of /home/www-data/gitweb/dragonfly
Peter Avalos [Mon, 6 Jul 2009 21:18:02 +0000 (11:18 -1000)]
Remove tcpslice(1).
The code is fairly ancient, and if people want it they can get it from
pkgsrc.
Hasso Tepper [Mon, 6 Jul 2009 21:11:04 +0000 (00:11 +0300)]
"Sync" threading libaries.
* Introduce stubs returning error into libc_r for functions which don't
exist there, but are there in libthread_xu.
* Compile POSIX spinlocks implementation in libthread_xu.
* Define _POSIX_BARRIERS and _POSIX_SPIN_LOCKS and modify sysconf(3)
accordingly.
Sascha Wildner [Mon, 6 Jul 2009 20:21:46 +0000 (22:21 +0200)]
ffs.3: Fix SYNOPSIS.
Stathis Kamperis [Mon, 6 Jul 2009 19:26:36 +0000 (22:26 +0300)]
getrlimit.2: Markup fixes.
Reviewed-by: swildner@
Sascha Wildner [Mon, 6 Jul 2009 17:12:45 +0000 (19:12 +0200)]
installer: Remove part that wasn't meant to be committed.
Sascha Wildner [Mon, 6 Jul 2009 17:02:04 +0000 (19:02 +0200)]
installer: Fix configuration of a HAMMER system with UFS /boot.
The only thing we can rely upon is that /boot is partition a. So for
determining which partition is /, take a peek at /boot/loader.conf
for now.
While here, simplify the mounting part a bit.
Reported-by: dillon, hasso
Jordan Gordeev [Mon, 6 Jul 2009 15:17:09 +0000 (18:17 +0300)]
Merge branch 'master' into amd64
Jordan Gordeev [Mon, 6 Jul 2009 14:55:02 +0000 (17:55 +0300)]
Jordan Gordeev [Mon, 6 Jul 2009 14:54:20 +0000 (17:54 +0300)]
Jordan Gordeev [Mon, 6 Jul 2009 14:47:52 +0000 (17:47 +0300)]
Jordan Gordeev [Sat, 4 Jul 2009 19:38:53 +0000 (22:38 +0300)]
amd64: Change the way I/O APIC's are mapped.
Jordan Gordeev [Mon, 6 Jul 2009 12:42:50 +0000 (15:42 +0300)]
amd64: Fix UP kernel build.
Jordan Gordeev [Mon, 6 Jul 2009 10:46:07 +0000 (13:46 +0300)]
amd64: Use proper size for atomic ops.
Jordan Gordeev [Mon, 6 Jul 2009 10:33:17 +0000 (13:33 +0300)]
amd64: Properly size an array for SMP.
Jordan Gordeev [Mon, 6 Jul 2009 12:15:35 +0000 (15:15 +0300)]
amd64: Correct an omission.
Jordan Gordeev [Mon, 6 Jul 2009 10:25:53 +0000 (13:25 +0300)]
amd64: Fix invocations of setidt().
setidt() has different interface on i386 and amd64.
Jordan Gordeev [Mon, 6 Jul 2009 10:24:23 +0000 (13:24 +0300)]
amd64: Fixes for init_secondary().
Jordan Gordeev [Mon, 6 Jul 2009 09:58:49 +0000 (12:58 +0300)]
amd64: Use the proper form of 'iret' to return from interrupt handlers.
Jordan Gordeev [Mon, 6 Jul 2009 09:43:00 +0000 (12:43 +0300)]
amd64: Fix improper saving of a register.
%esi is not guaranteed to be preserved across function calls.
Jordan Gordeev [Sun, 5 Jul 2009 16:08:23 +0000 (19:08 +0300)]
amd64: Update cpu_mfence(), cpu_lfence(), cpu_sfence() for SMP.
Jordan Gordeev [Mon, 6 Jul 2009 12:12:53 +0000 (15:12 +0300)]
amd64: Help mptable_pass2() find and read the mptable.
Jordan Gordeev [Mon, 6 Jul 2009 11:14:29 +0000 (14:14 +0300)]
amd64: Call mptable_pass2().
Jordan Gordeev [Fri, 3 Jul 2009 19:23:20 +0000 (22:23 +0300)]
amd64: Map the local APIC.
Introduce a new function - pmap_mapdev_uncacheable(). It's a copy of pmap_mapdev(), but creates PT entries that disable caching.
Use pmap_mapdev_uncacheable() when mapping the local APIC.
Jordan Gordeev [Mon, 6 Jul 2009 11:12:33 +0000 (14:12 +0300)]
amd64: Sync mp_bootaddress() with FreeBSD.
Changed to match invocation in 'machdep.c'.
Jordan Gordeev [Fri, 3 Jul 2009 18:38:48 +0000 (21:38 +0300)]
amd64: Don't forget to call mp_probe().
Jordan Gordeev [Fri, 3 Jul 2009 18:16:26 +0000 (21:16 +0300)]
amd64: Allow search_for_sig() to return 64-bit quantities.
Jordan Gordeev [Mon, 6 Jul 2009 11:06:35 +0000 (14:06 +0300)]
amd64: Fix improper types in description of mptable structures.
Peter Avalos [Mon, 6 Jul 2009 09:40:53 +0000 (23:40 -1000)]
Merge branch 'vendor/TCPDUMP' and update build for the update.
While I'm here, get rid of the *patch files for tcpdump, and just patch
the actual source in contrib/tcpdump/.
Peter Avalos [Mon, 6 Jul 2009 07:44:17 +0000 (21:44 -1000)]
Upgrade to tcpdump-4.0.0.
Stathis Kamperis [Tue, 26 May 2009 11:11:54 +0000 (14:11 +0300)]
Add missing definition for RLIMIT_AS resource.
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1328>
Peter Avalos [Mon, 6 Jul 2009 07:06:29 +0000 (21:06 -1000)]
Add README.DELETED to the tcpdump vendor branch.
Peter Avalos [Mon, 6 Jul 2009 06:11:42 +0000 (20:11 -1000)]
Merge branch 'vendor/LIBPCAP' and updated build for new version.
Peter Avalos [Mon, 6 Jul 2009 00:17:07 +0000 (14:17 -1000)]
Update to libpcap-1.0.0.
Antonio Huete [Sun, 5 Jul 2009 00:36:48 +0000 (02:36 +0200)]
Add 'hammer info' command that shows extended information about mounted HAMMER fs.
Matthew Dillon [Sun, 5 Jul 2009 16:31:48 +0000 (09:31 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Sascha Wildner [Sun, 5 Jul 2009 12:41:29 +0000 (14:41 +0200)]
rc.d/mountd: Bring in some fixes from FreeBSD
* Add shutdown keyword.
* Use PID file.
* Use checkyesno for nfs_server_enable.
* Instead of mountd_flags use rc_flags to override mountd_flags' value.
Aggelos Economopoulos [Sun, 5 Jul 2009 10:57:34 +0000 (13:57 +0300)]
sysctl.h should include kernel.h
Noticed-by: Robert Luciani <rluciani@gmail.com>
Peter Avalos [Sat, 4 Jul 2009 21:45:21 +0000 (11:45 -1000)]
Merge branch 'vendor/TCPDUMP'
Peter Avalos [Sat, 4 Jul 2009 21:44:53 +0000 (11:44 -1000)]
Merge branch 'vendor/TCPDUMP' (early part)
Peter Avalos [Sat, 4 Jul 2009 21:36:18 +0000 (11:36 -1000)]
Move tcpdump-3.9/ to tcpdump/. No need for a versioned dir.
Peter Avalos [Sat, 4 Jul 2009 21:35:49 +0000 (11:35 -1000)]
Remove old versions of tcpdump.
Peter Avalos [Sat, 4 Jul 2009 21:32:36 +0000 (11:32 -1000)]
Add README.DELETED to libpcap's vendor branch.
Peter Avalos [Sat, 4 Jul 2009 21:26:17 +0000 (11:26 -1000)]
Merge branch 'vendor/LIBPCAP'
Peter Avalos [Sat, 4 Jul 2009 21:05:10 +0000 (11:05 -1000)]
Merge branch 'vendor/LIBPCAP' (early part)
Sascha Wildner [Sat, 4 Jul 2009 20:27:30 +0000 (22:27 +0200)]
Remove extra whitespace and fix types in some manual pages.
Peter Avalos [Sat, 4 Jul 2009 20:18:39 +0000 (10:18 -1000)]
Move libpcap-0.9/ to libpcap. No need to version the directory.
Peter Avalos [Sat, 4 Jul 2009 20:17:05 +0000 (10:17 -1000)]
Remove old versions of libpcap.
Matthew Dillon [Fri, 3 Jul 2009 21:38:50 +0000 (14:38 -0700)]
USB - Fix mis-cast in EHCI producing garbage on console
EHCI was improperly interpreting the companion bus softc pointer,
causing it to report junk on the console.
Reported-by: Alexander Polakov <polachok@gmail.com>
Matthew Dillon [Fri, 3 Jul 2009 17:48:26 +0000 (10:48 -0700)]
frevoke - More fixes to fdfree()
* Don't replace p->p_fd until after all closef()'s have been called. Fixed
panic in kqueue's close function.
* Move softrefs check to after the closef point, but before we actually
start kfree()ing the structures. Lock the closef's normally since
p->p_fd is still valid.
Matthew Dillon [Fri, 3 Jul 2009 16:44:28 +0000 (09:44 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Fri, 3 Jul 2009 16:43:11 +0000 (09:43 -0700)]
HAMMER - Formalize the maximum number of volumes (256).
Formalize the maximum number of volumes (256) by adding a define in
hammer_disk.h and then using it.
Submitted-by: Antonio Huete Jimenez <ahuete.devel@gmail.com>
Sascha Wildner [Fri, 3 Jul 2009 12:03:54 +0000 (14:03 +0200)]
Add a wrapper script to allow "foreign" compilers into our build system.
With this commit, all CCVER values not associated with a compiler in
base will be relegated to the wrapper script which then (in conjunction
with the compilers.conf file) determines which non-base compiler to
use.
So far, defaults for clang (built from SVN) and pkgsrc/wip/gcc44 are
provided.
For more info see the compilers.conf(5) manual page and my mail on
kernel@:
http://leaf.dragonflybsd.org/mailarchive/kernel/2009-06/msg00013.html
Sascha Wildner [Fri, 3 Jul 2009 00:22:44 +0000 (02:22 +0200)]
hammer.sh: Sync with some of the recent installer changes.
* Use disklabel64(8).
* Do the 'chflags nohistory ...' after the cpdups to not have cpdup
overwrite the flags again.
Sascha Wildner [Thu, 2 Jul 2009 23:45:16 +0000 (01:45 +0200)]
installer: Use disklabel64 for the UFS only install, too.
Discussed-with: dillon, corecode
Sascha Wildner [Thu, 2 Jul 2009 21:52:49 +0000 (23:52 +0200)]
installer: Move the 'chflags nohistory ...' commands behind the cpdups.
This works around the issue that cpdup resets the flags if changed
before.
Reported-by: corecode
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1259>
Matthew Dillon [Thu, 2 Jul 2009 19:02:17 +0000 (12:02 -0700)]
file descriptor enumeration - Fix races
Add a soft refrence count, fd_softrefs, to struct filedesc. This is
used to prevent the filedesc from being ripped out from under a file
descriptor scan via the allproc scan, which is used to enumerate
file descriptors and also used by the revoke code.
Reported-by: hasso
Matthew Dillon [Thu, 2 Jul 2009 02:48:22 +0000 (19:48 -0700)]
SILI - Fix embarassing bug for non-NCQ disk accesses > 128G
Fix an embarassing bug for non-NCQ disk accesses > 128G. This only
applied to non-NCQ accesses for disks and typically will not happen
with the SILI part since it can use NCQ for everything. Non-NCQ
accesses for seek positions from 128G to 2TB were wrapping the LBA.
Matthew Dillon [Thu, 2 Jul 2009 02:46:50 +0000 (19:46 -0700)]
AHCI - Fix embarassing bug for non-NCQ disk accesses > 128G
Fix an embarassing bug for non-NCQ disk accesses > 128G. This only
applied to non-NCQ accesses for disks which effectively means disks
behind a PM, since NCQ is generally used everywhere else. Accesses
for seek positions from 128G to 2TB were wrapping the LBA.
Sascha Wildner [Wed, 1 Jul 2009 22:09:30 +0000 (00:09 +0200)]
sem_init.3: Some little mdoc cleanup.
Sascha Wildner [Wed, 1 Jul 2009 21:59:35 +0000 (23:59 +0200)]
installer: Fix debugging function call.
Jordan Gordeev [Wed, 1 Jul 2009 19:32:11 +0000 (22:32 +0300)]
amd64: Big batch of SMP changes.
Matthew Dillon [Wed, 1 Jul 2009 17:46:06 +0000 (10:46 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Wed, 1 Jul 2009 17:45:23 +0000 (10:45 -0700)]
SILI - ATAPI adjustments.
Restrict the sense length to what ATAPI expects and add more legacy
initialization to the packet FIS.
This was an attempt to fix some reported issues with ATAPI, but it didn't
fix anything. However, it didn't hurt either and the adjustments are at
least as good as the old ones.
Matthew Dillon [Wed, 1 Jul 2009 17:43:15 +0000 (10:43 -0700)]
AHCI - ATAPI adjustments.
Restrict the sense length to what ATAPI expects and add more legacy
initialization to the packet FIS.
This was an attempt to fix some reported issues with ATAPI, but it didn't
fix anything. However, it didn't hurt either and the adjustments are at
least as good as the old ones.
Matthew Dillon [Wed, 1 Jul 2009 17:36:05 +0000 (10:36 -0700)]
AHCI - Move some intel-specific magic writes to intel-specific code.
It is unclear if these are needed at all but in any case they only apply
to certain Intel chipsets anyway.
Matthew Dillon [Wed, 1 Jul 2009 17:34:05 +0000 (10:34 -0700)]
pcidevs - Add entries for Intel ICH6 and ICH7 series chipsets.
Sascha Wildner [Wed, 1 Jul 2009 10:51:44 +0000 (12:51 +0200)]
Regenerate the pciconf(8) database
...from the following files:
Hart: Jan 22, 2008 (version 671)
Boemler: Jul 1, 2009
Mares: Jun 2, 2009
Matthew Dillon [Tue, 30 Jun 2009 22:04:34 +0000 (15:04 -0700)]
HAMMER VFS - Make the same changes to statfs() that were made to statvfs().
Matthew Dillon [Tue, 30 Jun 2009 19:04:40 +0000 (12:04 -0700)]
Update the sem_init(3) manpage - with additional info on the pshared impl.
Suggested-by: Hasso Tepper <hasso@crater.dragonflybsd.org>
Hasso Tepper [Tue, 30 Jun 2009 06:43:03 +0000 (09:43 +0300)]
Update the sem_init(3) manpage - shared semaphores are supported now.
It might need some more info about how shared semaphores are implemented
etc though.
Matthew Dillon [Mon, 29 Jun 2009 22:38:53 +0000 (15:38 -0700)]
libthread_xu - implement pshared for sem_init
Implement the pshared flag, creating a semaphore in shared memory
that works across fork(). No additional kernel support is needed,
our umtx* system calls work on the underlying physical memory and
thus work just fine with shared memory.
sem_alloc() uses mmap() to allocate a page of shared memory.
Currently sem_destroy() does not recover the allocated memory for
shared semaphores as it is unclear how one is supposed to do so
in a fork()ed environment.
Requested-by: Hasso Tepper <hasso@estpak.ee>
Matthew Dillon [Mon, 29 Jun 2009 15:07:58 +0000 (08:07 -0700)]
AHCI/SILI - Do manual chipid check to PMs with fake ports
* Add a switch() on the chipid for PMs which add a fake port at the
end and avoid probing the fake port. Probing the port is harmless and
typically fails in the softreset sequence, but takes time.
Sascha Wildner [Sun, 28 Jun 2009 20:09:58 +0000 (22:09 +0200)]
installer: Add UFS /boot & HAMMER ROOT support.
The installer's HAMMER install option does now recommend (and require)
a UFS /boot partition.
Also, check more explicitly for the user specifying /usr, /var, etc.
and refuse to continue if he did because these will be automatically
created as pseudo fs's.
Finally, while here, do some miscellaneous cleanup.
In-discussion-with: dillon
Sascha Wildner [Sat, 27 Jun 2009 17:31:54 +0000 (19:31 +0200)]
installer: Raise the absolute minimum disk size to 2GB.
Also adjust some minimum partition sizes and size suggestions.
While here, eliminate some dead code.
Matthew Dillon [Sun, 28 Jun 2009 18:56:01 +0000 (11:56 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sun, 28 Jun 2009 18:55:25 +0000 (11:55 -0700)]
HAMMER VFS - Export highest supported production version with sysctl.
* Implement vfs.hammer.support_version to return the highest supported
HAMMER FS version to userland. Used by newfs_hammer.
Matthew Dillon [Sun, 28 Jun 2009 18:53:45 +0000 (11:53 -0700)]
HAMMER - newfs_hammer - format with highest production version available
* newfs_hammer now probes the HAMMER VFS and uses the highest production
version supported to format the HAMMER filesystem.
Matthew Dillon [Sun, 28 Jun 2009 18:49:54 +0000 (11:49 -0700)]
HAMMER UTIL - show command now includes inode capability field.
Matthew Dillon [Sun, 28 Jun 2009 18:21:27 +0000 (11:21 -0700)]
HAMMER VFS - Fix umount panic on buffer flush race
* Set io.waitdep on buffers during umount to ensure that the buffer
unload code waits for running buffers to complete their operation.
This fixes occassional assertion panics on umount.
Matthew Dillon [Sun, 28 Jun 2009 17:23:23 +0000 (10:23 -0700)]
HAMMER VFS - version 2 work - move directory entries to inode localization
* Set version 2 features. Directories created in a version 2 HAMMER
filesystem place their directory entries in the B-Tree's inode localization
space instead of the general space. Pre-existing directories continue
to use the old scheme.
* Amost doubles directory lookup / find / ls performance in effected
directories. However, at the moment the B-Tree must be reblocked before
the gains are seen.
Stathis Kamperis [Sun, 28 Jun 2009 12:04:53 +0000 (15:04 +0300)]
pthread_attr.3: Document pthread_attr_{get,set}_guardsize().
Adapted-from: FreeBSD
Peter Avalos [Sat, 27 Jun 2009 21:34:06 +0000 (11:34 -1000)]
Merge branch 'vendor/LIBARCHIVE'
Peter Avalos [Wed, 24 Jun 2009 21:29:09 +0000 (11:29 -1000)]
Upgrade to libarchive-2.7.0.
Sepherosa Ziehau [Sat, 27 Jun 2009 13:36:37 +0000 (21:36 +0800)]
MP table: Test 0xe0000 when searching MP float pointer structure
MultiProcessor Specification version 1.4 never mentions this location,
however, some brain-dead BIOSes put MP table there ... "Extened BIOS"
location is taken from mptable(8) in the base system.
Reported-and-Tested-by: ruse39 on EFnet #dragonflybsd
Sepherosa Ziehau [Sat, 27 Jun 2009 10:09:51 +0000 (18:09 +0800)]
IO APIC: Mask the interrupt signal before trying to clear IRR by switching
trigger mode.
Matthew Dillon [Sat, 27 Jun 2009 05:07:45 +0000 (22:07 -0700)]
udp6 - Fix multicast and other issues
* The placemarker flag was being tested inverse to what it was supposed
to be tested with.
Submitted-by: Kyle Butt <kylebutt@gmail.com>
Sepherosa Ziehau [Sat, 27 Jun 2009 03:05:19 +0000 (11:05 +0800)]
ACPI MADT: Don't use the "Initial APIC ID" in cpu_procinfo(cpuid.1)
Some BIOSes seem to reprogram LAPIC ID to a value different from
what's in cpu_procinfo.
Sepherosa Ziehau [Sat, 27 Jun 2009 01:36:42 +0000 (09:36 +0800)]
Introduce lapic enumerators, which is used to probe and config lapics
lapic enumerator implementation should provide two method:
lapic_probe() -- make sure that if this enumerator is selected, later
lapic enumeration could work. Return error code upon
failure.
lapic_enumerate() -- enumerate lapic and properly configure lapic (currently
only mapping lapic is needed).
lapic enumerator implementation could be registered by calling:
lapic_enumerator_register()
with lapic_enumerator struct. The higher the priority field, the earlier
the lapic enumerator's lapic_probe method will be invoked.
Currently two lapic enumerators are implemented and registered:
- lapic enumerator using MP table
- lapic enumerator using ACPI MADT
ACPI MADT lapic enumerator has higher priority. For testing purpose, ACPI
MADT lapic enumerator's priority could be overridden by setting tunable
hw.madt_lapic_prio to a smaller value (less than 20 currently)
Idea-from: FreeBSD
Sepherosa Ziehau [Mon, 22 Jun 2009 12:18:59 +0000 (20:18 +0800)]
Move lapic_init() into apic/mpapic.c
Sepherosa Ziehau [Mon, 22 Jun 2009 12:05:44 +0000 (20:05 +0800)]
MP probe: Get rid of cpu_apic_address
Sascha Wildner [Fri, 26 Jun 2009 23:48:34 +0000 (01:48 +0200)]
nrelease: Sync the LiveDVD kernels with some recent changes.