freebsd-dev/sys/i386
John Birrell 3d068827c2 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
2006-11-01 04:54:51 +00:00
..
acpica Add missing acpi_wakecode.o: assym.s dependency, so that if assym.s 2006-10-19 05:55:09 +00:00
bios First part of a little cleanup in the calendar/timezone/RTC handling. 2006-10-02 12:59:59 +00:00
compile
conf Fix Typo. 2006-10-31 07:22:24 +00:00
cpufreq Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
i386 Add a cnputs() function to write a string to the console with 2006-11-01 04:54:51 +00:00
ibcs2 Complete break-out of sys/sys/mac.h into sys/security/mac/mac_framework.h 2006-10-22 11:52:19 +00:00
include i386/include/profile.h: 2006-10-28 11:03:03 +00:00
isa Removed some SMP ifdefs so that using the TSC as a cputime clock is 2006-10-29 09:48:44 +00:00
linux regen after linux_io_* backout 2006-10-29 14:12:44 +00:00
pci - Make pcib_devclass private to sys/dev/pci/pci_pci.c and change all the 2006-01-06 19:22:19 +00:00
svr4 Use svr4_si_{addr,code,errno,signo,trap} in preference to si_{...}. 2005-10-19 14:59:54 +00:00
xbox - Fix typo in #error pragma: compitable -> compatible 2006-08-15 20:10:49 +00:00
Makefile