#
331722 |
|
29-Mar-2018 |
eadler |
Revert r330897:
This was intended to be a non-functional change. It wasn't. The commit message was thus wrong. In addition it broke arm, and merged crypto related code.
Revert with prejudice.
This revert skips files touched in r316370 since that commit was since MFCed. This revert also skips files that require $FreeBSD$ property changes.
Thank you to those who helped me get out of this mess including but not limited to gonzo, kevans, rgrimes.
Requested by: gjb (re)
|
#
330897 |
|
14-Mar-2018 |
eadler |
Partial merge of the SPDX changes
These changes are incomplete but are making it difficult to determine what other changes can/should be merged.
No objections from: pfg
|
#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
180161 |
|
01-Jul-2008 |
jhb |
Merge hexdump(9) to userland as hexdump(3) in libutil. I'm tired of doing this by hand in userland utilities.
MFC after: 1 month
|
#
167327 |
|
08-Mar-2007 |
julian |
Instead of doing comparisons using the pcpu area to see if a thread is an idle thread, just see if it has the IDLETD flag set. That flag will probably move to the pflags word as it's permenent and never chenges for the life of the system so it doesn't need locking.
|
#
164764 |
|
30-Nov-2006 |
jb |
Flushing the buffer is conditional on actually using the buffer. Oops.
|
#
164760 |
|
30-Nov-2006 |
jb |
Turn console printf buffering into a kernel option and only on by default for sun4v where it is absolutely required.
This change moves the buffer from struct pcpu to the stack to avoid using the critical section which created a LOR in a couple of cases due to interaction with the tty code and kqueue. The LOR can't be fixed with the critical section and the pcpu buffer can't be used without the critical section.
Putting the buffer on the stack was my initial solution, but it was pointed out that the stress on the stack might cause problems depending on the call path. We don't have a way of creating tests for those possible cases, so it's best to leave this as an option for the time being. In time we may get enough data to enable this option more generally.
|
#
164033 |
|
06-Nov-2006 |
rwatson |
Sweep kernel replacing suser(9) calls with priv(9) calls, assigning specific privilege names to a broad range of privileges. These may require some future tweaking.
Sponsored by: nCircle Network Security, Inc. Obtained from: TrustedBSD Project Discussed on: arch@ Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri, Alex Lyashkov <umka at sevcity dot net>, Skip Ford <skip dot ford at verizon dot net>, Antoine Brodin <antoine dot brodin at laposte dot net>
|
#
163858 |
|
01-Nov-2006 |
jb |
Add a cnputs() function to write a string to the console with a lock to prevent interspersed strings written from different CPUs at the same time.
To avoid putting a buffer on the stack or having to malloc one, space is incorporated in the per-cpu structure. The buffer size if 128 bytes; chosen because it's the next power of 2 size up from 80 characters.
String writes to the console are buffered up the end of the line or until the buffer fills. Then the buffer is flushed to all console devices.
Existing low level console output via cnputc() is unaffected by this change. ithread calls to log() are also unaffected to avoid blocking those threads.
A minor change to the behaviour in a panic situation is that console output will still be buffered, but won't be written to a tty as before. This should prevent interspersed panic output as a number of CPUs panic before we end up single threaded running ddb.
Reviewed by: scottl, jhb MFC after: 2 weeks
|
#
162383 |
|
17-Sep-2006 |
rwatson |
Declare security and security.bsd sysctl hierarchies in sysctl.h along with other commonly used sysctl name spaces, rather than declaring them all over the place.
MFC after: 1 month Sponsored by: nCircle Network Security, Inc.
|
#
160312 |
|
12-Jul-2006 |
jhb |
Simplify the pager support in DDB. Allowing different db commands to install custom pager functions didn't actually happen in practice (they all just used the simple pager and passed in a local quit pointer). So, just hardcode the simple pager as the only pager and make it set a global db_pager_quit flag that db commands can check when the user hits 'q' (or a suitable variant) at the pager prompt. Also, now that it's easy to do so, enable paging by default for all ddb commands. Any command that wishes to honor the quit flag can do so by checking db_pager_quit. Note that the pager can also be effectively disabled by setting $lines to 0.
Other fixes: - 'show idt' on i386 and pc98 now actually checks the quit flag and terminates early. - 'show intr' now actually checks the quit flag and terminates early.
|
#
156518 |
|
09-Mar-2006 |
jkim |
Implement printf 'X' conversion for both libstand and kernel.
|
#
156001 |
|
25-Feb-2006 |
scottl |
Always print a newline char at the end of the line.
|
#
150560 |
|
26-Sep-2005 |
rwatson |
Acquire Giant in uprintf() and tprintf() rather than asserting it. In the vast majority of cases, these functions are called without mutexes held, meaning that in all but two cases, there will be no ordering issues with doing this, and it will eliminate the need for changes in the caller. In two cases, mutexes are held, so Giant must be acquired before those mutexes such that uprintf() and tprintf() recurse Giant rather than generating a lock order reversal.
Suggested by: bde
|
#
150370 |
|
20-Sep-2005 |
rwatson |
Correct an incorrect comment from the dawn of time: neither tprintf() nor uprintf() is believed to perform tsleep() or msleep() as written, as ttycheckoutq() is called with '0' as its sleep argument.
Remove recently added WITNESS warnings for sleep as the comment was incorrect. This should silence a warning from the nfs_timer() code.
Discussed with: bde
|
#
150335 |
|
19-Sep-2005 |
rwatson |
Add GIANT_REQUIRED and WITNESS sleep warnings to uprintf() and tprintf(), as they both interact with the tty code (!MPSAFE) and may sleep if the tty buffer is full (per comment).
Modify all consumers of uprintf() and tprintf() to hold Giant around calls into these functions. In most cases, this means adding an acquisition of Giant immediately around the function. In some cases (nfs_timer()), it means acquiring Giant higher up in the callout.
With these changes, UFS no longer panics on SMP when either blocks are exhausted or inodes are exhausted under load due to races in the tty code when running without Giant.
NB: Some reduction in calls to uprintf() in the svr4 code is probably desirable.
NB: In the case of nfs_timer(), calling uprintf() while holding a mutex, or even in a callout at all, is a bad idea, and will generate warnings and potential upset. This needs to be fixed, but was a problem before this change.
NB: uprintf()/tprintf() sleeping is generally a bad ideas, as is having non-MPSAFE tty code.
MFC after: 1 week
|
#
149784 |
|
04-Sep-2005 |
delphij |
When padding with zero, do pad after prefixes rather than padding before prefixes.
Use cases: printf("%05d", -42); --> "00-42" (should be "-0042") printf("%#05x", 12); --> "000xc" (should be "0x00c")
Submitted by: Oliver Fromme PR: kern/85520 MFC After: 1 week
|
#
149756 |
|
03-Sep-2005 |
phk |
If we ignore an unknown % sequence, we must stop interpreting the remaining % arguments because the varargs are now out of sync and there is a risk that we might for instance dereference an integer in a %s argument.
Sponsored by: Napatech.com
|
#
147064 |
|
06-Jun-2005 |
dwhite |
Make "show msgbuf" use the pager instead of blasting the whole thing out.
MFC after: 3 days
|
#
144706 |
|
06-Apr-2005 |
phk |
Constify hexdump() harder.
|
#
143740 |
|
17-Mar-2005 |
phk |
In stange circumstances we may end up being the last reference to a session in tprintf(). SESSRELE() needs to properly dispose of the sessions mutex.
Add sessrele() which does the proper cleanup and have SESSRELE() call it.
Use SESSRELE also in pgdelete().
Found by: Coverity (ID:526)
|
#
131931 |
|
10-Jul-2004 |
marcel |
Update for the KDB framework: o Check kdb_active instead of db_active and do so unconditionally.
|
#
131897 |
|
10-Jul-2004 |
phk |
Clean up and wash struct iovec and struct uio handling.
Add copyiniov() which copies a struct iovec array in from userland into a malloc'ed struct iovec. Caller frees.
Change uiofromiov() to malloc the uio (caller frees) and name it copyinuio() which is more appropriate.
Add cloneuio() which returns a malloc'ed copy. Caller frees.
Use them throughout.
|
#
130700 |
|
18-Jun-2004 |
green |
Add a sysctl/tunable, "kern.always_console_output", that lets you set output to permanently (not ephemerally) go to the console. It is also sent to any other console specified by TIOCCONS as normal.
While I'm here, document the kern.log_console_output sysctl.
|
#
127911 |
|
05-Apr-2004 |
imp |
Remove advertising clause from University of California Regent's license, per letter dated July 22, 1999.
Approved by: core
|
#
125985 |
|
19-Feb-2004 |
njl |
Add support for 'h' and 'hh' modifiers for printf(9).
Submitted by: Bruno Ducrot <ducrot AT poupinou.org> Reviewed by: bde
|
#
123215 |
|
07-Dec-2003 |
scottl |
Re-arrange and consolidate some random debugging stuff
|
#
117879 |
|
22-Jul-2003 |
phk |
Revert stuff which accidentally ended up in the previous commit.
|
#
117878 |
|
22-Jul-2003 |
phk |
Don't attempt to inline large functions mb_alloc() and mb_free(), it more than doubles the text size of this file.
GCC has wisely ignored us on this previously
|
#
116664 |
|
22-Jun-2003 |
iedowse |
When DDB is active, always send printf() output directly to the console, even if there is a TIOCCONS console tty. We were already doing this after a panic, but it's also useful when entering DDB for some other reason too.
|
#
116663 |
|
22-Jun-2003 |
iedowse |
Use a new message buffer `consmsgbuf' to forward messages to a TIOCCONS console (e.g. xconsole) via a timeout routine instead of calling into the tty code directly from printf(). This fixes a number of cases where calling printf() at the wrong time (such as with locks held) would cause a panic if xconsole is running.
The TIOCCONS message buffer is 8k in size by default, but this can be changed with the kern.consmsgbuf_size sysctl. By default, messages are checked for 5 times per second. The timer runs and the buffer memory remains allocated only at times when a TIOCCONS console is active.
Discussed on: freebsd-arch
|
#
116660 |
|
22-Jun-2003 |
iedowse |
Replace the code for reading and writing the kernel message buffer with a new implementation that has a mostly reentrant "addchar" routine, supports multiple message buffers in the kernel, and hides the implementation details from callers.
The new code uses a kind of sequence number to represend the current read and write positions in the buffer. This approach (suggested mainly by bde) permits the read and write pointers to be maintained separately, which reduces the number of atomic operations that are required. The "mostly reentrant" above refers to the way that while it is now always safe to have any number of concurrent writers, readers could see the message buffer after a writer has advanced the pointers but before it has witten the new character.
Discussed on: freebsd-arch
|
#
116182 |
|
10-Jun-2003 |
obrien |
Use __FBSDID().
|
#
115538 |
|
31-May-2003 |
phk |
Remove unused variable(s). Remove break after goto
Found by: FlexeLint
|
#
113634 |
|
17-Apr-2003 |
jhb |
Don't assume that p_session hasn't changed out from under us after unlocking the process and session. Instead, cache a true reference to the session when we do the hold and release our reference on that session. This avoids the need for the proc lock when dropping the reference.
|
#
112732 |
|
28-Mar-2003 |
iedowse |
Add a checksum to the kernel message buffer, and update it every time a character is written. Use this at boot time to reject the existing buffer contents if they are corrupt. This fixes a problem seen on some hardware (especially laptops) where the message buffer gets partially corrupted during a short power cycle or reset, but the msgbuf structure is left intact so it gets reused, resulting in random junk and control characters appearing in dmesg and /var/log/messages.
PR: kern/28497
|
#
112367 |
|
18-Mar-2003 |
phk |
Including <sys/stdint.h> is (almost?) universally only to be able to use %j in printfs, so put a newsted include in <sys/systm.h> where the printf prototype lives and save everybody else the trouble.
|
#
111119 |
|
19-Feb-2003 |
imp |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
#
110316 |
|
04-Feb-2003 |
phk |
Add vsnrprintf() which is just like vsnprintf() but takes a "radix" argument for the kernel-special %r format.
|
#
109623 |
|
21-Jan-2003 |
alfred |
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
#
108890 |
|
07-Jan-2003 |
jhb |
Cast the integer read as the first argument for %b to an unsigned integer so it's value is not sign extended when assigned to the uintmax_t variable used internally by printf. For example, if bit 31 is set in the cpuid feature word, then %b would print out the initial value as a 16 character hexadecimal value. Now it only prints out an 8 character value.
Reviewed by: bde
|
#
108678 |
|
04-Jan-2003 |
phk |
Move #include of ddb/ddb.h up with the rest.
|
#
106917 |
|
14-Nov-2002 |
tmm |
Make the msg_size, msg_bufx and msg_bufr memebers of struct msgbuf signed, since they describe a ring buffer and signed arithmetic is performed on them. This avoids some evilish casts.
Since this changes all but two members of this structure, style(9) those remaining ones, too.
Requested by: bde Reviewed by: bde (earlier version)
|
#
106855 |
|
13-Nov-2002 |
mux |
Add support for the C99 %t format modifier.
|
#
105954 |
|
25-Oct-2002 |
mux |
- Rename the DDB specific %z printf format to %y. - Make DDB use %y instead of %z. - Teach GCC about %y. - Implement support for the C99 %z format modifier.
Approved by: re@ Reviewed by: peter Tested on: i386, sparc64
|
#
104924 |
|
11-Oct-2002 |
jhb |
Fix %z to always print values as signed like it is supposed to.
Reviewed by: bde Tested on: i386 in ddb
|
#
104114 |
|
28-Sep-2002 |
phk |
Change a return to a break so the local buffers get properly freeed.
Spotte by: FlexeLint
Reviewed by: rwatson
|
#
101693 |
|
11-Aug-2002 |
dwmalone |
Make kern.log_console_output a tuneable aswell as a sysctl.
MFC after: 1 week
|
#
99459 |
|
05-Jul-2002 |
imp |
dd %i as an alias for %d for greater compatibility with our *BSD bretheren
Obtained from: NetBSD Reviewed by: jake, rwatson, bosko
|
#
98998 |
|
28-Jun-2002 |
alfred |
More caddr_t removal. Change struct knote's kn_hook from caddr_t to void *.
|
#
97751 |
|
02-Jun-2002 |
des |
ANSIfy the one remaining K&R function.
|
#
97750 |
|
02-Jun-2002 |
des |
Whitespace nits.
|
#
97749 |
|
02-Jun-2002 |
des |
Add support for 'j' flag. Simplify the size modifier code and reduce code duplication. Also add support for 'n' specifier.
Reviewed by: bde
|
#
95713 |
|
29-Apr-2002 |
dwmalone |
Add a sysctl which disables the logging of console output.
Approved by: phk MFC after: 2 weeks
|
#
93593 |
|
01-Apr-2002 |
jhb |
Change the suser() API to take advantage of td_ucred as well as do a general cleanup of the API. The entire API now consists of two functions similar to the pre-KSE API. The suser() function takes a thread pointer as its only argument. The td_ucred member of this thread must be valid so the only valid thread pointers are curthread and a few kernel threads such as thread0. The suser_cred() function takes a pointer to a struct ucred as its first argument and an integer flag as its second argument. The flag is currently only used for the PRISON_ROOT flag.
Discussed on: smp@
|
#
92723 |
|
19-Mar-2002 |
alfred |
Remove __P.
|
#
92069 |
|
11-Mar-2002 |
tanimura |
Stop abusing the pgrpsess_lock.
|
#
91140 |
|
23-Feb-2002 |
tanimura |
Lock struct pgrp, session and sigio.
New locks are:
- pgrpsess_lock which locks the whole pgrps and sessions, - pg_mtx which protects the pgrp members, and - s_mtx which protects the session members.
Please refer to sys/proc.h for the coverage of these locks.
Changes on the pgrp/session interface:
- pgfind() needs the pgrpsess_lock held.
- The caller of enterpgrp() is responsible to allocate a new pgrp and session.
- Call enterthispgrp() in order to enter an existing pgrp.
- pgsignal() requires a pgrp lock held.
Reviewed by: jhb, alfred Tested on: cvsup.jp.FreeBSD.org (which is a quad-CPU machine running -current)
|
#
90490 |
|
10-Feb-2002 |
phk |
Style(9) nits.
Obtained from: ~bde/sys.dif.gz
|
#
89414 |
|
16-Jan-2002 |
arr |
- Attempt to help declutter kern. sysctl by moving security out from beneath it.
Reviewed by: rwatson
|
#
87150 |
|
30-Nov-2001 |
rwatson |
o Introduce kern.security.bsd.unprivileged_read_msgbuf, which allows the administrator to restrict access to the kernel message buffer. It defaults to '1', which permits access, but if set to '0', requires that the process making the sysctl() have appropriate privilege. o Note that for this to be effective, access to this data via system logs derived from /dev/klog must also be limited.
Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
|
#
86238 |
|
09-Nov-2001 |
iedowse |
Properly sanity-check the old msgbuf structure before we accept it as being valid. Previously only the magic number and the virtual address were checked, but it makes little sense to require that the virtual address is the same (the message buffer is located at the end of physical memory), and checks on the msg_bufx and msg_bufr indices were missing.
Submitted by: Bodo Rueskamp <br@clabsms.de> Tripped over during a kernel debugging tutorial given by: grog Reviewed by: grog, dwmalone MFC after: 1 week
|
#
83366 |
|
12-Sep-2001 |
julian |
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process.
Sorry john! (your next MFC will be a doosie!)
Reviewed by: peter@freebsd.org, dillon@freebsd.org
X-MFC after: ha ha ha ha
|
#
79153 |
|
03-Jul-2001 |
tmm |
Make the code to read the kernel message buffer via sysctl machine- independent and rename the corresponding sysctls from machdep.msgbuf and machdep.msgbuf_clear (i386 only) to kern.msgbuf and kern.msgbuf_clear.
|
#
70861 |
|
10-Jan-2001 |
jake |
Use PCPU_GET, PCPU_PTR and PCPU_SET to access all per-cpu variables other then curproc.
|
#
70301 |
|
23-Dec-2000 |
mjacob |
Make sure we have a non-null proc pointer before referring to fields off of it.
|
#
70240 |
|
20-Dec-2000 |
phk |
A last minute brucification resulted in syntax errors in the previous commit.
|
#
70239 |
|
20-Dec-2000 |
phk |
Replace logwakeup() with "int msgbuftrigger". There is little point in calling a function just to set a flag.
Keep better track of the syslog FAC/PRI code and try to DTRT if they mingle.
Log all writes to /dev/console to syslog with <console.info> priority. The formatting is not preserved, there is no robust, way of doing it. (Ideas with patches welcome).
|
#
69214 |
|
26-Nov-2000 |
phk |
Simplify the tprintf() API.
Loose the special <sys/tprintf.h> #include file.
|
#
69211 |
|
26-Nov-2000 |
phk |
Make log(-1, ...) do what addlog(...) did.
Replace all uses of addlog(...) with log(-1, ...)
Remove bogus "register" keywords in subr_prf.c
Make log() return void.
|
#
66530 |
|
02-Oct-2000 |
msmith |
Treat %X the same as %x (not entirely correct, but close enough).
|
#
65557 |
|
06-Sep-2000 |
jasone |
Major update to the way synchronization is done in the kernel. Highlights include:
* Mutual exclusion is used instead of spl*(). See mutex(9). (Note: The alpha port is still in transition and currently uses both.)
* Per-CPU idle processes.
* Interrupts are run in their own separate kernel threads and can be preempted (i386 only).
Partially contributed by: BSDi (BSD/OS) Submissions by (at least): cp, dfr, dillon, grog, jake, jhb, sheldonh
|
#
59745 |
|
29-Apr-2000 |
peter |
Do not fault if curproc is null.
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
49558 |
|
09-Aug-1999 |
phk |
Merge the cons.c and cons.h to the best of my ability. alpha may or may not compile, I can't test it.
|
#
49502 |
|
07-Aug-1999 |
green |
Make long longs ("%ll" format) work.
Reviewed by: msmith
|
#
49047 |
|
24-Jul-1999 |
dfr |
This makes the in kernel printf routines conform to the documented behavior of their userland counterparts with respect to return values.
Submitted by: Matthew N. Dodd <winter@jurai.net>
|
#
48811 |
|
14-Jul-1999 |
peter |
Oops, missed out one chunk of the last patch. (*blush*)
Submitted by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp> Submitted by: "Matthew N. Dodd" <winter@jurai.net>
|
#
48728 |
|
10-Jul-1999 |
peter |
Fixes for a couple of problems in last commit: 1. Printing large quads in small bases overflowed the buffer if sizeof(u_quad_t) > sizeof(u_long). 2. The sharpflag checks had operator precedence bugs due to excessive parentheses in all the wrong places. 3. The explicit 0L was bogus in the quad_t comparison and useless in the long comparision. 4. There was some more bitrot in the comment about ksprintn(). Our ksprintn() handles bases up to 36 as well as down to 2.
Bruce has other complaints about using %q in kernel and would rather we went towards using the C9X style %ll and/or %j. (I agree for that matter, as long as gcc/egcs know how to deal with that.)
Submitted by: bde
|
#
48714 |
|
09-Jul-1999 |
peter |
Implement the %q prefix for the integer types. Note that egcs on the Alpha believes that %q is for long long, whereas our quad_t and int64_t is only just a plain long. long long on the alpha is the same size (64 bit) as a long. It was requested, but I have not implemented yet, support for C9X style %lld - it should be pretty easy though.
|
#
47822 |
|
07-Jun-1999 |
archie |
ksprintn() may be called with base=2, so redefine MAXNBUF accordingly. Other brucification tweaks.
Obtained from: bde@freebsd.org
|
#
47773 |
|
06-Jun-1999 |
archie |
The function ksprintn(), which is used to convert numbers to ASCII, is not reentrant because it returns a static buffer. This results in a race condition when/if an interrupt handler calls log(), printf() etc. Fix this.
|
#
47678 |
|
01-Jun-1999 |
jlemon |
Unifdef VM86.
Reviewed by: silence on on -current
|
#
41479 |
|
03-Dec-1998 |
archie |
Add snprintf(3) and vsnprintf(3) capability to the kernel. Reviewed by: bde
|
#
38874 |
|
06-Sep-1998 |
ache |
Store formatted panic string in static buffer to make it available later for savecore. Previous code give only panic format to savecore
|
#
38224 |
|
10-Aug-1998 |
bde |
Fixed the formatting of some tables (mainly the one produced by ps in ddb) which I broke by changing %8[l]x to %8p. Hacked the central printf routine to not add an "0x" prefix for %p formats if the field width is nonzero. The tables are still horribly misformatted on 64-bit machines.
Use %p instead of %8p to print pointers when the field width isn't important.
|
#
37649 |
|
15-Jul-1998 |
bde |
Cast pointers to uintptr_t/intptr_t instead of to u_long/long, respectively. Most of the longs should probably have been u_longs, but this changes is just to prevent warnings about casts between pointers and integers of different sizes, not to fix poorly chosen types.
|
#
37505 |
|
08-Jul-1998 |
bde |
Fixed (un)sign extension bugs in %+n format. -4 became (long)(u_long)(u_int)-4 = 0x00000000fffffffc on machines with 32-bit ints and 64-bit longs.
Restored %z format for printing signed hex. %+x shouldn't have been used since it is an error in userland.
Prepared to nuke %n format by cloning it to %r. %n shouldn't have been used because it means something completely different in userland. Now %+r is equivalent to ddb's original %r, and %r is equivalent to ddb's original %n.
Ignore '+' flag in combination with unsigned formats %{o,p,u,x}.
|
#
36441 |
|
28-May-1998 |
phk |
Some cleanups related to timecounters and weird ifdefs in <sys/time.h>.
Clean up (or if antipodic: down) some of the msgbuf stuff.
Use an inline function rather than a macro for timecounter delta.
Maintain process "on-cpu" time as 64 bits of microseconds to avoid needless second rollover overhead.
Avoid calling microuptime the second time in mi_switch() if we do not pass through _idle in cpu_switch()
This should reduce our context-switch overhead a bit, in particular on pre-P5 and SMP systems.
WARNING: Programs which muck about with struct proc in userland will have to be fixed.
Reviewed, but found imperfect by: bde
|
#
36179 |
|
19-May-1998 |
phk |
Make the size of the msgbuf (dmesg) a "normal" option.
|
#
32041 |
|
28-Dec-1997 |
bde |
Handle "%...p" as "%#...x" instead of "0x%...x". This is a quick fix for field widths being 2 larger than specified for "%<number>p". Only printing of null pointers is "wrong" now (it is actually "right", but inconsistent with printf(3)).
|
#
30354 |
|
12-Oct-1997 |
phk |
Last major round (Unless Bruce thinks of somthing :-) of malloc changes.
Distribute all but the most fundamental malloc types. This time I also remembered the trick to making things static: Put "static" in front of them.
A couple of finer points by: bde
|
#
29041 |
|
02-Sep-1997 |
bde |
Removed unused #includes.
|
#
22975 |
|
22-Feb-1997 |
peter |
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not ready for it yet.
|
#
21673 |
|
14-Jan-1997 |
jkh |
Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
|
#
17974 |
|
31-Aug-1996 |
bde |
Fixed the easy cases of const poisoning in the kernel. Cosmetic.
|
#
17677 |
|
19-Aug-1996 |
julian |
Collect all the functioons concerned with rebooting into one place also add the at_shutdown callout list, and change the one user of the present (broken) method (the vn driver) to use the new scheme.
|
#
15700 |
|
09-May-1996 |
gpalmer |
Correct a comment. There is no fn `kprintf'
|
#
15680 |
|
08-May-1996 |
gpalmer |
Clean up various compiler warnings. Most (if not all) were benign
Reviewed by: bde
|
#
15534 |
|
02-May-1996 |
phk |
KGDB is dead. It may come back one day if somebody does it.
|
#
14816 |
|
25-Mar-1996 |
jkh |
Bill Fenner <fenner@parc.xerox.com> comes up with a better fix to the debugger_on_panic stuff.
|
#
14774 |
|
23-Mar-1996 |
jkh |
Ok, now this is correct (even simple fixes sometimes ain't so simple :)
|
#
14771 |
|
23-Mar-1996 |
jkh |
Fix bogus last commit - debugger_on_panic was referenced even when not defined. Another change clearly committed without testing! :-(
|
#
14768 |
|
23-Mar-1996 |
phk |
Remove all traces of KADB add sysctl debug.debugger_on_panic: 1 if DDB or KGDB is defined.
Requested by: davidg
|
#
14300 |
|
28-Feb-1996 |
gpalmer |
Add a new option: DDB_UNATTENDED. Stops machine dropping into DDB when it panics, but leaving activation of DDB from the console unaffected.
|
#
13694 |
|
29-Jan-1996 |
gibbs |
Kernel printf now returns int.
|
#
13624 |
|
24-Jan-1996 |
bde |
Restored newline at the end of panic messages.
|
#
13618 |
|
24-Jan-1996 |
phk |
Remove %r hack, we have vprintf() now. Add %D for "dumping" data. Good for ethernet/MAC addresses and such. Handle 1 < radix < 37.
|
#
13563 |
|
22-Jan-1996 |
phk |
bounds check the radix, just in case.
|
#
13501 |
|
19-Jan-1996 |
phk |
Imake %.*s really work. :-(
|
#
13494 |
|
19-Jan-1996 |
phk |
Make result of sprintf zero terminated. Fix %r for sprintf case.
|
#
13480 |
|
18-Jan-1996 |
phk |
Make %.*s work.
|
#
13466 |
|
16-Jan-1996 |
phk |
Add support for %.{int|*}s
|
#
13446 |
|
15-Jan-1996 |
phk |
Get rid of two and a half printf in the kernel. Add more features to the one remaining to handle the job: + signed quantity. # alternate format - left padding * read width as next arg. n numeric in (argument specified) default radix.
Fix the DDB debugger to use these. Use vprintf in debug routine in pcvt.
The warnings from gcc may become more wrong and intolerable because of this.
Warning: I have not checked the entire source for unsupported or changed constructs, but generally belive that there are only a few.
Suggested by: bde
|
#
13228 |
|
04-Jan-1996 |
wollman |
Convert DDB to new-style option.
|
#
12819 |
|
14-Dec-1995 |
phk |
A Major staticize sweep. Generates a couple of warnings that I'll deal with later. A number of unused vars removed. A number of unused procs removed or #ifdefed.
|
#
10225 |
|
24-Aug-1995 |
dg |
Killed some gratuitous #include's.
|
#
9981 |
|
07-Aug-1995 |
dg |
Woops, I committed the wrong version of the diff in the last rev.
|
#
9979 |
|
07-Aug-1995 |
dg |
Made msgbuf range checking more robust and clean.
|
#
9977 |
|
06-Aug-1995 |
dg |
Restore check for msg_bufx being negative. Changed if() expression to be in Lite2 style.
|
#
9224 |
|
14-Jun-1995 |
bde |
Convert %p to 0x%x instead of to 0x%8x. The latter gives blank padding in the wrong place. Blank padding in the right place or zero padding would be inconsistent with user mode.
Put case 'p' in alphabetical order.
Implement %p in sprintf() too. I'd like only a single, more complete printf() core, perhaps one based on vsnprintf().
|
#
7680 |
|
08-Apr-1995 |
joerg |
Implement a simple hook (or hack?) to allow graphics device console drivers to protect DDB from being invoked while the console is in process-controlled (i.e., graphics) mode.
Implement the logic to use this hook from within pcvt. (I'm sure Søren will do the syscons part RSN).
I've still got one occasion where the system stalled, but my attempts to trigger the situation artificially resulted int the expected behaviour. It's hard to track bugs without the console and DDB available. :-/
|
#
7566 |
|
01-Apr-1995 |
joerg |
subr_prf.c used to provide an exported function kprintf(), but only had a private declaration for it. Declare the function publically instead.
|
#
7090 |
|
16-Mar-1995 |
bde |
Add and move declarations to fix all of the warnings from `gcc -Wimplicit' (except in netccitt, netiso and netns) and most of the warnings from `gcc -Wnested-externs'. Fix all the bugs found. There were no serious ones.
|
#
6561 |
|
19-Feb-1995 |
bde |
Don't flush the message buffer when it fills up.
|
#
5288 |
|
30-Dec-1994 |
bde |
Print "(null)" instead of "<null>" for NULL string args for consistency with the libc and ddb printf's.
Print "(fmt null)\n" for NULL formats.
|
#
5261 |
|
28-Dec-1994 |
dg |
Make printf() a bit more robust and allow NULL strings (print them as "<null>"). It bad to have diagnostic printfs cause panics when they are trying to tell you about another problem.
|
#
3308 |
|
02-Oct-1994 |
phk |
All of this is cosmetic. prototypes, #includes, printfs and so on. Makes GCC a lot more silent.
|
#
3174 |
|
28-Sep-1994 |
phk |
Added a %p to printf & friends, same thing as 0x%08x but more with the potiential to make a warning from gcc more useful.
|
#
2320 |
|
27-Aug-1994 |
dg |
1) Changed ddb into a option rather than a pseudo-device (use options DDB in your kernel config now). 2) Added ps ddb function from 1.1.5. Cleaned it up a bit and moved into its own file. 3) Added \r handing in db_printf. 4) Added missing memory usage stats to statclock(). 5) Added dummy function to pseudo_set so it will be emitted if there are no other pseudo declarations.
|
#
2059 |
|
13-Aug-1994 |
dg |
Made the kernel compile cleanly with gcc 2.6.0. Thanks go to Bruce Evans for suggesting a method to detect various versions of gcc.
|
#
1817 |
|
02-Aug-1994 |
dg |
Added $Id$
|
#
1549 |
|
25-May-1994 |
rgrimes |
The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.
Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
|
#
1542 |
|
24-May-1994 |
rgrimes |
This commit was generated by cvs2svn to compensate for changes in r1541, which included commits to RCS files with non-trunk default branches.
|
#
1541 |
|
24-May-1994 |
rgrimes |
BSD 4.4 Lite Kernel Sources
|