Commit Graph

141458 Commits

Author SHA1 Message Date
marius
a030d21a6f - USIII-based machines can consist of CPUs running at different
frequencies (and having different cache sizes) so use the STICK
  (System TICK) timer, which was introduced due to this and is
  driven by the same frequency across all CPUs, instead of the
  TICK timer, whose frequency varies with the CPU clock, to drive
  hardclock. We try to use the STICK counter with all CPUs that are
  USIII or beyond, even when not necessary due to identical CPUs,
  as we can can also avoid the workaround for the BlackBird erratum
  #1 there. Unfortunately, using the STICK counter currently causes
  a hang with USIIIi MP machines for reasons unknown, so we still
  use the TICK timer there (which is okay as they can only consist
  of identical CPUs).
- Given that we only (try to) synchronize the (S)TICK timers of APs
  with the BSP during startup, we could end up spinning forever in
  DELAY(9) if that function is migrated to another CPU while we're
  spinning due to clock drift afterwards, so pin to the CPU in order
  to avoid migration. Unfortunately, pinning doesn't work at the
  point DELAY(9) is required by the low-level console drivers, yet,
  so switch to a function pointer, which is updated accordingly, for
  implementing DELAY(9). For USIII and beyond, this would also allow
  to easily use the STICK counter instead of the TICK one here,
  there's no benefit in doing so however.
  While at it, use cpu_spinwait(9) for spinning in the delay-
  functions. This currently is a NOP though.
- Don't set the TICK timer of the BSP to 0 during at startup as
  there's no need to do so.
- Implement cpu_est_clockrate().
- Unfortunately, USIIIi-based machines don't provide a timecounter
  device besides the STICK and TICK counters (well, in theory the
  Tomatillo bridges have a performance counter that can be (ab)used
  as timecounter by configuring it to count bus cycles, though unlike
  the performance counter of Schizo bridges, the Tomatillo one is
  broken and counts Sun knows what in this mode). This means that
  we've to use a (S)TICK counter for timecounting, which has the old
  problem of not being in sync across CPUs, so provide an additional
  timecounter function which binds itself to the BSP but has an
  adequate low priority.
2008-09-03 17:39:19 +00:00
marius
b31f010c0b Switch sun4v to back to using its own clock.c, which was ressurected
in 182691, as the sparc64 version is going to be rototilled and sun4v
currently can't be verified to still work with the new sparc64 one
due to its overall state.
2008-09-03 17:31:13 +00:00
raj
0750da1abc Use current SP instead of global data ptr for the U-Boot API signature search hint.
Global data (pointed by R2 on PowerPC) in principle is not guaranteed to be in
proximity of U-Boot heap (where the API signature is placed) accross different
architectures and platforms. Instead, use U-Boot stack pointer as a hint for
the search instead of the global data; this method tends to be more uniform
accross different platforms.

Obtained from:	Semihalf
2008-09-03 16:38:27 +00:00
obrien
96ab9f7e27 Introduce crunchide to the ELF e_machine MIPS values. 2008-09-03 16:21:28 +00:00
raj
f2f831ec34 Make metadata.c shared across all platforms using U-Boot.
This will [soon] be needed for ARM.
2008-09-03 15:52:05 +00:00
raj
c96f761ec1 Move U-Boot compatibility library to WARNS=2 level. 2008-09-03 15:39:50 +00:00
rpaulo
adfbe058ec Fix the sysctl function parameters. We were only querying Sensor 0.
Noticed by:	des
MFC after:	3 days
2008-09-03 13:34:31 +00:00
trasz
88f6f49133 When calling extattr_check_cred, use V{READ,WRITE}, not I{READ,WRITE}.
Approved by:	rwatson (mentor)
2008-09-03 12:46:09 +00:00
roberto
80c32815b9 Mention ntpd upgrade to 4.2.4p5. 2008-09-03 08:30:17 +00:00
bz
78dd3921ca Fix a bug, when a specially crafted ICMPV6 MLD packet could lead
to an integer divide by zero panic in the kernel, if the kernel was
run with hz<1000.
Neither i386, pc98, amd64 or sparc64 are affected in the currently
supported branches and default configuration.

Submitted by:	Miikka Saukko, Ossi Herrala and Jukka Taimisto from
		the CROSS project at Codenomicon Ltd. via CERT-FI.
Reviewed by:	bz, rwatson
Security:	CVE-2008-2464
MFC after:	8 hours
2008-09-03 08:13:58 +00:00
das
ca999bfaa6 Regression tests for bugs in gdtoa. 2008-09-03 07:35:14 +00:00
das
65b5df780e Make strtof() respect the current rounding mode. 2008-09-03 07:32:06 +00:00
das
2732388653 Merge gdtoa 20080831. This fixes several bugs, including an infinite
loop pointed out by cognet@ that occurs when calling strtod() with a
string representing a number between DBL_MAX and 2*DBL_MAX, when the
rounding mode is anything other than the default.
2008-09-03 07:23:57 +00:00
imp
88c5e9e192 style nit: indent continuation lines correctly, use style(9) style
if() statement.
2008-09-03 07:08:22 +00:00
imp
cfa9a2ed0e minor style(9) police: sort getopt options alphabetically. The
semi-logical segregation of 'b' and 'h' doesn't seem to make sense and
makes it harder to read.
2008-09-03 07:03:38 +00:00
imp
ddfbb4fd97 Style nit. Continued lines are indented 2 spaces in this file. 2008-09-03 06:57:21 +00:00
kan
ad15dd0347 Make sure internal rtld malloc routines are not called from unlocked
contexts as rtld's malloc is not thread safe and is only supposed to be
called with exclusive bind lock already held.

The originating PR submitted a patch on top of different pre-requisite
workaroud for unsafe dlopen calls, and the patch was midief slighlty to apply
to stock sources for the purpose of this commit. Running rtld malloc from
unlocked contexts is a bug on its own.

PR: 126950
Submited by: Oleg Dolgov
2008-09-03 01:05:32 +00:00
kmacy
ad33f05a7c enable the xen_guest string so that the freebsd xen kernel will
at least pass muster with the loader on 3.0.3

Note that this doesn't actually make it work as Xen 3.0.3
appears to disallow recursive mappings on the page directory
2008-09-03 00:06:10 +00:00
kmacy
33d6b8cb7b Indicate at probe time if device can do offload and which revision it is
MFC after:	3 days
2008-09-02 22:38:49 +00:00
kmacy
19c440d7b3 Add support for t3c to cxgbtool
Obtained from:	Chelsio Inc.
2008-09-02 22:20:46 +00:00
obrien
babf0085b2 ahc(4) work better in Sparc64 with AHC_ALLOW_MEMIO.
Submitted by:	Nathan Whitehorn <nwhitehorn@freebsd.org>
2008-09-02 21:46:17 +00:00
marius
4569d75d3b MFsparc64: r177642
Remove sysbeep() from the non-beeping archs.
2008-09-02 21:35:57 +00:00
marius
703faba8d0 Resurrect clock.c from r164371. 2008-09-02 21:28:04 +00:00
thomas
97e4608fa8 Fix typo in comment. 2008-09-02 21:27:19 +00:00
marius
6b0f6beaa5 - USIII-based machines can consist of CPUs having different cache
sizes (and running at different frequencies) so move the cacheinfo
  to the PCPU data. While at it, remove some redundant and/or unused
  members from struct cacheinfo.
- In sparc64_init don't assume the first CPU node we find in the OFW
  device tree is the BSP.
2008-09-02 21:13:54 +00:00
marius
6a6f30db5a Bypass isa_probe_children(9) and directly call bus_generic_attach(9)
in order to avoid the invasive probes done by identify-routines of
ISA drivers, which may access unassigned addresses or those of
unrelated devices and thus in turn can trigger master/target aborts
as revealed by r182108 and ahc(4). I think that this is also the
cause of the hang previously seen on B100 blades during boot.
Bypassing isa_probe_children(9) also avoids adding ISA hints, which
just can be wrong for sparc64.

Reported by:	gavin
2008-09-02 21:06:28 +00:00
ed
5f23a3b5ca Add support for RLIMIT_NPTS to limits(1).
After the MPSAFE TTY import we support an additional rlimit, called
RLIMIT_NPTS. This limit allows you to cap the amount of pseudo-terminals
allocated by one user.

We forgot to add support for this limit to limits(1), which means it
crashed. Add the proper bits to make it work like it should.
Unfortunately not all shells actually implement the RLIMIT, so
unfortunately I suspect it to be broken with certain shells.

Submitted by:	Yuriy Tsibizov <yuriy tsibizov gfk ru>
2008-09-02 19:13:24 +00:00
kib
59a00054ac - When executing FreeBSD/amd64 binaries from FreeBSD/i386 or Linux/i386
processes, clear PCB_32BIT and PCB_GS32BIT bits [1].

- Reread the fs and gs bases from the msr unconditionally, not believing
  the values in pcb_fsbase and pcb_gsbase, since usermode may reload
  segment registers, invalidating the cache. [2].

Both problems resulted in the wrong fs base, causing wrong tls pointer
be dereferenced in the usermode.

Reported and tested by:	Vyacheslav Bocharov <adeepv at gmail com> [1]
Reported by:	Bernd Walter <ticsoat cicely7 cicely de>,
	Artem Belevich <fbsdlist at src cx>[2]
Reviewed by:	peter
MFC after:	3 days
2008-09-02 17:52:11 +00:00
ed
8496708649 Use size_t to store the return value of ttydisc_getc().
The ttydisc_getc() routine obtains a read length from ttyoutq_read().
For no valid reason, the current code stores this value in an int, and
returns a size_t. There is no need to perform this useless conversion.

Obtained from:	//depot/projects/mpsafetty/...
2008-09-02 17:13:11 +00:00
rwatson
34b4039202 Remove XXXRW in soreceive_dgram that proves unnecessary.
Remove unused orig_resid variable in soreceive_dgram.

Submitted by:	alfred
X-MFC with:	soreceive_dgram (r180198, r180211)
2008-09-02 16:55:21 +00:00
obrien
3406a9a37d Add gprof MIPS MD header and enable building gprof.
Obtained from:	Juniper Networks
2008-09-02 15:35:47 +00:00
roberto
fa9e66496f Allow again compilation w/o GNU readline. There are conditionals in
{ntpdc,ntpq}/Makefile.

Submitted by:	Ben Kelly <bkelly@vadev.org>
2008-09-02 14:00:17 +00:00
kmacy
5800272415 Import ioctl updates for latest rev of cxgbtool
Obtained from:	Chelsio Inc.
MFC after:	3 days
2008-09-02 07:47:14 +00:00
gshapiro
b9e5455674 Fix an ABI breakage found after the import that will be part of the
next version of sendmail.  Putting it in now for the upcoming 7-BETA
and 6-BETA test releases.

Submitted by:	Mike Tancsa
2008-09-02 04:53:24 +00:00
weongyo
7ec33e687c free ifp allocated at ieee80211_vap_setup.
Reviewed by:	sam, thompsa
2008-09-02 04:49:35 +00:00
kevlo
3fe0cc5a82 Use RUSAGE_SELF for the current process instead of hardcoded value 2008-09-02 02:59:38 +00:00
kevlo
50b997c3ef Use RUSAGE_SELF for the current process instead of hardcoded value 2008-09-02 02:59:13 +00:00
kmacy
5b1439fb48 Accomodate the fact that the number of l1 pages varies with the size of the initially
allocated memory - this lets us boot with 3GB

MFC after:	1 month
2008-09-02 02:55:45 +00:00
nwhitehorn
840a563001 Fix a multiple locking bug in bm(4) that could cause panics on a WITNESS-enabled kernel.
Approved by:	marcel (mentor)
MFC after:	1 day
2008-09-02 02:50:52 +00:00
kmacy
3873494459 Fix problem with large memory configuration by ensuring that all NKPT
page table pages have been zeroed before entering them in the page
directory

MFC after:	1 month
2008-09-02 01:32:52 +00:00
imp
cd46c93cc8 Per email to arch@ a little while ago (that was greeted with silence),
prefer the more common > ${.TARGET} over > opt_foo.h in modules
makefiles.
2008-09-01 23:59:00 +00:00
des
cb1bd25c2f Belatedly add a notice about the reversed order of preference for OpenSSH
authentication keys.
2008-09-01 23:50:56 +00:00
obrien
34e07c5340 We're not quite ready for the full %(endian_spec). 2008-09-01 23:09:45 +00:00
dougb
595c959724 Update for version 9.4.2-P2 2008-09-01 22:55:23 +00:00
dougb
1f3acabb18 Merge from vendor/bind9/dist as of the 9.4.2-P2 import 2008-09-01 22:54:49 +00:00
obrien
188674d6ca Add __unix__. Tweak __KPRINTF_ATTRIBUTE__ while I'm here. 2008-09-01 22:22:44 +00:00
brooks
ac94f4b6be Wrap an 81 column SYSCTL_NODE decleration.
Obtained from:	//depot/projects/vimage-commit2/...
2008-09-01 19:25:27 +00:00
ed
3758c00f64 Remove unneeded D_NEEDMINOR from cpuctl(4).
The D_NEEDMINOR flag was introduced for drivers that do not actually
depend on storing a device unit/minor number, but require the ability to
address the cdevs by this number, which is used by clone_create().

The cpuctl(4) driver sets D_NEEDMINOR, even though it doesn't use the
clone_create() API. Remove the flag, because maybe we want to get rid of
it somewhere in the far future.
2008-09-01 18:56:01 +00:00
obrien
f18a1ee8d4 Add FreeBSD/MIPS support to GCC. 2008-09-01 18:46:03 +00:00
obrien
1a39c79ce0 GDB isn't building on MIPS. Temporarily disable, to revisit soon. 2008-09-01 18:18:19 +00:00