Commit Graph

152930 Commits

Author SHA1 Message Date
Alan Cox
cf3508519c Handle a race between pmap_kextract() and pmap_promote_pde(). This race is
known to cause a kernel crash in ZFS on i386 when superpage promotion is
enabled.

Tested by:	netchild
MFC after:	1 week
2010-01-23 18:42:28 +00:00
Ed Schouten
9d98195dc3 EMPTY records don't have a timestamp. 2010-01-23 17:58:40 +00:00
Antoine Brodin
f50eacd5e2 Unbreak world WITHOUT_OPENSSL:
the new dc(1) depends on crypto(3) and bc(1) depends on dc(1).
2010-01-23 17:31:13 +00:00
Attilio Rao
b0b9dee5c9 - Fix a race in sched_switch() of sched_4bsd.
In the case of the thread being on a sleepqueue or a turnstile, the
  sched_lock was acquired (without the aid of the td_lock interface) and
  the td_lock was dropped. This was going to break locking rules on other
  threads willing to access to the thread (via the td_lock interface) and
  modify his flags (allowed as long as the container lock was different
  by the one used in sched_switch).
  In order to prevent this situation, while sched_lock is acquired there
  the td_lock gets blocked. [0]
- Merge the ULE's internal function thread_block_switch() into the global
  thread_lock_block() and make the former semantic as the default for
  thread_lock_block(). This means that thread_lock_block() will not
  disable interrupts when called (and consequently thread_unlock_block()
  will not re-enabled them when called). This should be done manually
  when necessary.
  Note, however, that ULE's thread_unblock_switch() is not reaped
  because it does reflect a difference in semantic due in ULE (the
  td_lock may not be necessarilly still blocked_lock when calling this).
  While asymmetric, it does describe a remarkable difference in semantic
  that is good to keep in mind.

[0] Reported by:	Kohji Okuno
			<okuno dot kohji at jp dot panasonic dot com>
Tested by:		Giovanni Trematerra
			<giovanni dot trematerra at gmail dot com>
MFC:			2 weeks
2010-01-23 15:54:21 +00:00
Konstantin Belousov
ccbe0b21ef Document pthread_timedjoin_np.
Note implementation-defined EOPNOTSUPP error [1].

PR:	threads/143115 [1]
MFC after:	3 days
2010-01-23 13:08:47 +00:00
Antoine Brodin
dd554467bb Reapply r201145 to lib/libc/gen/sem.c 2010-01-23 12:48:46 +00:00
Konstantin Belousov
5b1162b964 For PT_TO_SCE stop that stops the ptraced process upon syscall entry,
syscall arguments are collected before ptracestop() is called. As a
consequence, debugger cannot modify syscall or its arguments.

For i386, amd64 and ia32 on amd64 MD syscall(), reread syscall number
and arguments after ptracestop(), if debugger modified anything in the
process environment. Since procfs stopeven requires number of syscall
arguments in p_xstat, this cannot be solved by moving stop/trace point
before argument fetching.

Move the code to read arguments into separate function
fetch_syscall_args() to avoid code duplication. Note that ktrace point
for modified syscall is intentionally recorded twice, once with original
arguments, and second time with the arguments set by debugger.

PT_TO_SCX stop is executed after cpu_syscall_set_retval() already.

Reported by:	Ali Polatel <alip exherbo org>
Briefly discussed with:	jhb
MFC after:	3 weeks
2010-01-23 11:45:35 +00:00
Konstantin Belousov
a5799a4f27 Staticise sigqueue manipulation functions used only in kern_sig.c.
MFC after:	1 week
2010-01-23 11:43:30 +00:00
Konstantin Belousov
c4c1575a01 Do not check for existence of symlink source for the link action. This
does not work for link in subdirectory, and sometimes it is useful to
create symlink in advance for dynamically created device node.

MFC after:	1 week
2010-01-23 11:42:31 +00:00
Ed Schouten
a7607816bf Just ignore the timestamps given to pututxline().
I've noticed many applications do a bad job at timekeeping, for several
reasons:

- Applications like screen(1) don't update time records when restoring
  the old user login record.
- Many applications only set ut_tv.tv_sec, not ut_tv.tv_usec.

This causes many problems for tools such as ac(8), which require the
timestamps to be properly ordered. This is why I've decided to let the
utmpx code obtain valid timestamps itself.
2010-01-23 08:43:21 +00:00
Tim Kientzle
e066c90bb2 Don't try to hardlink block or character device nodes that come out
of cpio archives.
2010-01-23 07:57:17 +00:00
Tim Kientzle
54d2369731 Use a simpler memory-management strategy for the file objects.
Instead of trying to reference-count them and free them as soon
as they are no longer needed, we now just keep them around and free
them all when we release the archive object.  This fixes a number
of minor memory leaks, especially when reading damaged archives.
2010-01-23 07:55:53 +00:00
Tim Kientzle
58efb33976 If we can't stat a file, return the correct ARCHIVE_FAILED (this entry can't
be processed any further) and a suitable error string.
In particular, this improves the error-reporting when cpio -o is
given a nonexistent filename.
2010-01-23 07:54:15 +00:00
Joerg Wunsch
72821110ac Overhaul of the pcii driver:
. Properly allocate all IO space resources.  These cards scatter their
  IO addresses over a range of 0x1600 bytes, and they require an
  additional address for "special interrupt handling".

. Implement the "special interrupt handling" per the GPIB-PCIIA
  Technical Reference Manual; this was apparently not declared for the
  clone card this driver has been originally implemented for, but it
  turned out to be needed for both, an original NI brand PCII/PCIIA
  card as well as the Axiom AX5488 clone.

. Add some diagnostic messages for various resource allocation etc.
  failures during probe.

. Add some comments about the structure of the IO address space that
  is used by these cards.

MFC after:	1 day
2010-01-23 07:54:06 +00:00
Tim Kientzle
8b0eda3700 Initialize the allocated 'struct zip'. 2010-01-23 07:52:44 +00:00
Tim Kientzle
68c43d86d1 Fix a memory leak when a filter fails to initialize. 2010-01-23 07:52:13 +00:00
Warner Losh
2069a5911e Eliminate octeonregs.h. It was a copy of maltaregs.h with
s/malta/octeon/gi done...
2010-01-23 06:42:47 +00:00
Oleksandr Tymoshenko
6104a13d8b - Move .text and all sections up to .bss inclusive to the beginning of
the script.  Trampoline kernel builder assumes that .text goes right
    after headers and places startup function first in .text segment.
2010-01-23 05:59:10 +00:00
Neel Natu
531c6502cc Remove Sibyte specific code from locore.S that sets the k0seg coherency.
Move it to platform_start() instead.

Approved by: imp (mentor)
2010-01-23 03:19:13 +00:00
Navdeep Parhar
3c0e59de3e Don't forget to release the adapter lock for a no-op. 2010-01-23 01:44:30 +00:00
Warner Losh
8c019fbaa9 Migrate from old "DDB" style debugger to newer KDB style. 2010-01-23 00:24:31 +00:00
Warner Losh
657a57d730 Update from old DDB convetion to initialize debugger to new KDB way.
Always call kdb_init().  If we have KDB enabled, then provide a handy
place to break to the debugger.
2010-01-23 00:18:12 +00:00
Xin LI
ad4fe553c5 - Collapase short and long options together;
- Use consistent marking up with bc(1)'s reference section.

Reviewed by:	gabor
2010-01-22 23:50:46 +00:00
Xin LI
5690ece69f - Remove --debug option and intentionally undocument -d, which is only
kept for compatibility with 4.4BSD behavior.
 - Sync SYNOPSIS with usage().
 - Use an alternative way to represent short and long options which have
   same semantics.

Reviewed by:	gabor
2010-01-22 23:35:06 +00:00
Florent Thoumie
7735b3839a - Add support for UPDATING remote fetching.
- Reorganize EXAMPLES section in pkg_updating(1).
- Style fixes.
- Bump PKG_INSTALL_VERSION to 20100122.

Submitted by:	beat
MFC after:	1 week
2010-01-22 23:32:10 +00:00
Xin LI
7ffc8ae56e Move USD documents from /usr/share/doc/papers to to /usr/share/doc/usd.
Reviewed by:	gabor
2010-01-22 23:19:48 +00:00
Oleksandr Tymoshenko
61b1ecf6d3 - Add driver for PCF2123, SPI real time clock/calendar 2010-01-22 22:14:12 +00:00
Warner Losh
96a33515a3 Declare octeon_get_clock_rate, now exported from octeon_machdep 2010-01-22 20:44:34 +00:00
Warner Losh
659dfb46f1 Remove some irrelevant commented out make options. 2010-01-22 20:42:18 +00:00
Warner Losh
54880c18b4 make note of the nonsensical nature of the values in this hints file. 2010-01-22 20:41:43 +00:00
Warner Losh
f92a1e9b89 o Add support for memory above 256MB on the octeon.
o Force the ebase to be 0x80000000 (the base that we're booted with may
  need to be respected in the future).
o Initialize the clock early so we can initialize the console early
o use panic where we can now use it.
o Tag some code for parsing the boot records as belonging in the cavium sdk.
o remove support for booting on ancient boards...

# we make it further in bootstrapping now: interrupts being enabled in the
# uarts are now taking us out, it seems, for reasons unknown.
2010-01-22 20:40:07 +00:00
Warner Losh
ff9ab61a59 Create a method of last resort for rebooting the mips processor: jump
to the reset vector.  This works for many SoCs where other reset
hardware is either missing or unknown.
2010-01-22 20:32:07 +00:00
Pyun YongHyeon
84e3651eb3 Yukon Ultra2 has 126MHz clock. 2010-01-22 20:15:49 +00:00
Pyun YongHyeon
a91981e4ba s/Mhz/MHz/g
Submitted by:	N.J. Mann <njm <> njm dot me dot uk >
2010-01-22 20:10:12 +00:00
Pyun YongHyeon
d67eba2f3f Use new handshake command for BCM5750 or new controllers. 2010-01-22 18:46:37 +00:00
Pyun YongHyeon
899d684659 Fix a long standing ASF heartbeat sending bug. The initial
implementation of heartbeat interval was 2 but there was typo which
caused the heartbeat is sent approximately every 5 seconds. This
caused unintended controller reset by firmware because firmware
thought OS was crashed.

Submitted by:	Floris Bos < info <> je-eigen-domein dot nl >
Tested by:	Andrzej Tobola < ato <> iem dot pw dot edu dot pl >
2010-01-22 18:35:50 +00:00
Doug Barton
a68c7fa928 Make -U once again honor -D after my change to consolidate setting
of MTREEDB with DESTDIR.

PR:		bin/143089
Submitted by:	Anton Yuzhaninov <citrin@citrin.ru>
2010-01-22 17:17:47 +00:00
Ed Maste
b8c05be0c1 Add H55 ID from Mike Tancsa, with minor rewording from avg@.
PR:		kern/143068
Submitted by:	Mike Tancsa (Sentex)
MFC after:	1 week
2010-01-22 16:05:10 +00:00
Randall Stewart
9b84f07357 This hopefully will fix the network problem I was seeing.
Basically the msg ring interrupt was being re-enabled
inside a spinlock as the thread set it self up for rescheduling.
This won't work since inside the re-enable is another
spin lock.. which means on return from the reenable
the  interrupts have been reenabled. Thus you would
get a clock int and end up panicing holding a spin
lock to long :-o
2010-01-22 14:25:17 +00:00
Stephane E. Potvin
a070c49911 Use the new PO_CXXFLAGS from r202807 to remove the '-ffunction-sections'
flag when compiling profiled objects as it's ignored by the compiler.
This removes the associated warning for each file compiled.

MFC after:	1 month
2010-01-22 14:09:15 +00:00
Stephane E. Potvin
424b4e66a9 Introduce two new flags PO_CFLAGS and PO_CXXFLAGS to make it possible
to have different flags when building profiled objects.

MFC after:	1 month
2010-01-22 14:05:48 +00:00
Rui Paulo
d1f5097233 Remove duplicate bootverbose increment. 2010-01-22 11:52:12 +00:00
Alexander Motin
4c3bf245fe Add "MIXER CONTROLS" chapter. 2010-01-22 11:04:25 +00:00
Warner Losh
c018866198 Add a suggested improvement. 2010-01-22 09:55:13 +00:00
Alexander Motin
8da30a896a Oops! r202789 broke recording from input mixer. Restore previous "mix"
usage and use "igain" instead for input-to-output monitoring loopback.
2010-01-22 09:54:40 +00:00
Alexander Motin
028b92a574 - Improve tracer, to handle more cases of input-to-output monitoring
loopback.
- Change the meaning of "mix" OSS control. Now it controls loopback level,
according to comments in soundcard.h.
- Allow AD1981HD codecs to use playback mixer. Now driver should be able to
really use it.
- Fix bug in shared muters operation.
2010-01-22 09:31:10 +00:00
Warner Losh
5f04b82bcc Don't clear bss/sbss. The boot loader already does this. In addition,
the Cavium version of the boot loader puts data just after &end, so
our rounding up to the next page in clearing memory overwrote their
data, which meant we'd get a lot of wrong values for parameters to the
system.

While I'm here, remove argc/argv parsing.  Those values aren't passed
in via a0 and a1, so it was a guaranted panic on some boards.
2010-01-22 09:23:34 +00:00
Warner Losh
24e4f4a84d Jump to the mips reset vector. OR in the 0x80000000 for kseg0 and
cast it to a long so it will work on 64-bit targets.

reset now works on octeon, so I don't have to power cycle the board as
often.
2010-01-22 09:19:57 +00:00
Jaakko Heinonen
a4ca6a4926 Make mdconfig(8) WARNS=6 clean:
- Constify geom_config_get() name argument.
- Add void keyword for usage().
- Initialize mdunit to NULL.
- Don't call md_prthumanval() at all if length is NULL.

Approved by:	trasz (mentor)
2010-01-22 08:51:58 +00:00
Jaakko Heinonen
e48fbf26e8 Truncate read request rather than returning EIO if the request is
larger than MAXPHYS + 1. This fixes a problem with cat(1) when it
uses a large I/O buffer.

Reported by:	Fernando Apesteguía
Suggested by:	jilles
Reviewed by:	des
Approved by:	trasz (mentor)
2010-01-22 08:45:12 +00:00