obrien [Sun, 17 Oct 2004 05:08:29 +0000 (05:08 +0000)]
+ Simplify by treating the standard x86 CPU names as the CPUTYPE vs.
treating them as an alias. Treat the shorthand versions as aliases.
+ Separate the x86 GCC CPU CFLAGS from the ICC CFLAGS. This greatly
simplifies the GCC section. It also makes it more clear which CPU's
have the same ICC CPU CFLAGS.
+ Remove redundancy in the alpha section.
+ Add forgotten ICC CPU CFLAGS for the mobile Intel CPU's added in rev. 1.42.
alc [Sat, 16 Oct 2004 22:32:50 +0000 (22:32 +0000)]
When sf_buf_alloc() replaces a virtual-to-physical mapping, it needn't
invalidate the TLB(s) if the old mapping wasn't used by the CPU. With
network interfaces that implement checksum off-loading, the old mapping is
almost never used by the CPU, only by the device driver for setting up the
DMA operation.
yar [Sat, 16 Oct 2004 09:53:35 +0000 (09:53 +0000)]
Explain it is a negative offset that EINVAL may indicate.
Now readers won't get an impression that pointing to beyond
the current end of file will result in EINVAL.
yar [Sat, 16 Oct 2004 08:36:28 +0000 (08:36 +0000)]
Fix an ancient typo: `sc' usually equals `ns*nt', not `nc*nt'
(the latter is actually the total number of tracks on the disk,
which has no field in disktab(5).)
scottl [Sat, 16 Oct 2004 06:38:22 +0000 (06:38 +0000)]
If a process needs to be swapped in, wakeup the swapper from within
critical_exit as the process is getting scheduled to run. This is subotimal
but for now avoid the LOR between the scheduler and the sleepq systems.
This is a 5.3 candidate.
obrien [Sat, 16 Oct 2004 06:11:35 +0000 (06:11 +0000)]
Try to bring some sanity to the SCM ID's.
+ spell LIBC_SCCS consistently
+ enable builds with LIBC_SCCS defined to not syntax error
+ minor SCM reformatting to try to have some consistency
yar [Fri, 15 Oct 2004 09:51:36 +0000 (09:51 +0000)]
We must not fall back to the old way (read-write)
if sendfile() transferred some data before throwing
a error condition because sendfile() won't move the
file offset for read() to start from.
delphij [Fri, 15 Oct 2004 06:43:48 +0000 (06:43 +0000)]
Add Simplified Chinese translation for our release notes.
This translation is based on RELENG_5 so it should be tagged as
RELENG_5 when appropriate (This set of files DOES build under
6-CURRENT because a last-minute hack added to readme/article.sgml,
however, the contents is for RELENG_5).
This includes:
The Migration Guide
Errata
Hardware Notes (only i386 and amd64 at this time)
Installation Guide [2]
Readme [1]
Release Notes
Submitted by: delphij, gavin (local repository committer) [1],
zhangluo (additional local contributor; part of
i386 related contents) [2]
Approved by: murray (mentor)
sam [Fri, 15 Oct 2004 00:36:07 +0000 (00:36 +0000)]
Move session state from on-card memory to host memory so we no longer are
constrained to a small number of sessions by the small on-card memories found
in newer devices. This is really a stopgap solution as having session state
in main memory incurs a (small but noticeable) performance penalty. The better
solution is to manage session state so that it's cached on chip.
njl [Thu, 14 Oct 2004 22:21:59 +0000 (22:21 +0000)]
Remove local hacks to set flags now that the device probe does this for us.
Tested on every device except sio_pci and the pc98 fd.c. Perhaps something
similar should be done for the "disabled" hints also.
njl [Thu, 14 Oct 2004 17:14:56 +0000 (17:14 +0000)]
Update flags patch for the !ISA case.
* Get flags first, in case there is no devclass.
* Reset flags after each probe in case the next driver has no hints so it
doesn't inherit the old ones.
* Set them again before the winning probe.
Tested ok both with and without ACPI for ISA device flags.
pjd [Thu, 14 Oct 2004 07:55:29 +0000 (07:55 +0000)]
Ehh. Introduce a hack: Wait for 3 seconds, so GEOM is able to give us
providers for tasting. Before this hack, race below is possible:
SI_SUB_RAID (no not-fully-configured geoms, so don't block)
GEOM tasting (now geoms are created)
SI_SUB_MOUNT_ROOT (if root file system is placed on a mirror, it is
possible that this mirror is not fully configured yet)
There is a lot of work to do to avoid such hacks and I need a working
solution before 5.3, sorry.
pjd [Thu, 14 Oct 2004 07:46:13 +0000 (07:46 +0000)]
Only allow for unloading when there are no geoms in LABEL GEOM class.
We have to use our own destroy_geom method, because default one, which
is a part of geom_slice is broken.
MT5 candidate.
keramida [Wed, 13 Oct 2004 22:12:59 +0000 (22:12 +0000)]
Add the necessary magic to make the thousands separator work for
floating-point formats in the Greek locale. This allows printing
numbers with the ' format modifier, like this:
ru [Wed, 13 Oct 2004 15:47:02 +0000 (15:47 +0000)]
- Utilize standard means for installing files and symlinks.
- Simplify the symlink list construction by implementing a
generic mechanism to map LC_MONETARY files from one locale
to another, possibly with a different <lang>_<territory>
components of the locale name. Example:
ENCODING-1_ENCODING-2= fo_BA fo_FO:ba_BA
in Makefile will result in the following symlinks:
mtm [Wed, 13 Oct 2004 11:42:20 +0000 (11:42 +0000)]
1. Now that it's a thread's state is changed from within the kernel, where
no userland locks are heald, the dead thread lock can no longer protect
access to it. Therefore, instead of using an if (!dead)...else clause
after walking the active threads list test the thread pointer before
deciding not to walk the dead threads list. If the thread pointer is null
it means it was not found in the active threads list and the dead threads
list should be checked.
2. Do not free the stack of a thread that is not marked dead. This is the
2nd and final part of eliminating the race to free a thread's stack.
bms [Wed, 13 Oct 2004 09:31:04 +0000 (09:31 +0000)]
Remove references to the second byte of a CCB containing the LUN, as this
is valid only for SCSI-2 and older devices.
Rename the second byte of the VERIFY CCB from 'lun' to 'byte2'.
ru [Wed, 13 Oct 2004 07:00:21 +0000 (07:00 +0000)]
Fix a botched rev. 1.221 commit. Also, a number of people have
pointed out that /usr/local/etc/rc.d/000.pkgtools.sh installed
with the portupgrade does an equivalent thing, so I personally
would like to see the change reverted, but let David handle it.
yongari [Wed, 13 Oct 2004 06:04:01 +0000 (06:04 +0000)]
Limit DMA address space to 1GB since the trident audio cards can't
handle DMA addresses located above 1GB. The LBA(loop begin address)
register which holds DMA base address is 32bits register. But the
MSB 2bits are used for other purposes. This effectivly limits the
DMA address space up to 1GB.
yongari [Wed, 13 Oct 2004 05:45:16 +0000 (05:45 +0000)]
Audio drivers failed to detect failure condition and attempted to
assign DMA address to the wrong address. It can cause system lockup
or other mysterious errors. Since most sound cards requires low DMA
address(BUS_SPACE_MAXADDR_24BIT) sndbuf_alloc() would fail when the
audio driver is loaded after long running of operations.
simokawa [Wed, 13 Oct 2004 05:38:42 +0000 (05:38 +0000)]
- Split dcons core code and OS dependent code.
- Implement dcons_ischar() and dcons_load_buffer().
- If loader passed a dcons buffer address, keep using it.
(We still need a patch to cheat memory management system.)
yongari [Wed, 13 Oct 2004 05:15:41 +0000 (05:15 +0000)]
mdoc(7) police:
.Dt should have a third argument.
new sentence should start on its own line.
use precise width specifier.
Add AUTHORS section and correct device name to /dev/led/auxioled.
green [Wed, 13 Oct 2004 04:12:20 +0000 (04:12 +0000)]
Back out rev.1.91 which implemented bulk read transfers in ugen(4) as
asynchronous. I realize that this means the custom application will
not work as written, but it is not okay to break most users of ugen(4).
The major problem is that a bulk read transfer is not an interrupt
saying that X bytes are available -- it is a request to be able to
receive up to X bytes, with T timeout, and S short-transfer-okayness.
The timeout is a software mechanism that ugen(4) provides and cannot
be implemented using asynchronous reads -- the timeout must start at
the time a read is done.
The status of up to how many bytes can be received in this transfer
and whether a short transfer returns data or error is also encoded
at least in ohci(4)'s requests to the controller. Trying to detect
the "maximum width" results in using a single buffer of far too
small when an application requests a large read.
Even if you combat this by replacing all buffers again with the
maximal sized read buffer (1kb) that ugen(4) would allow you to
use before, you don't get the right semantics -- you have to
throw data away or make all the timeouts invalid or make the
short-transfer settings invalid.
There is no way to do this right without extending the ugen(4) API
much further -- it breaks the USB camera interfaces used because
they need a chain of many maximal-width transfers, for example, and
it makes cross-platform support for all the BSDs gratuitously hard.
Instead of trying to do select(2) on a bulk read pipe -- which has
neither the information on desired transfer length nor ability to
implement timeout -- an application can simply use a kernel thread
and pipe to turn that endpoint into something poll-able.
It is unfortunate that bulk endpoints cannot provide the same semantics
that interrupt and isochronous endpoints can, but it is possible to just
use ioctl(USB_GET_ENDPOINT_DESC) to find out when different semantics
must be used without preventing the normal users of the ugen(4) device
from working.
emax [Tue, 12 Oct 2004 23:33:46 +0000 (23:33 +0000)]
Get rid of device nodes interface. It is useless and confusing.
The original idea was to use it for firmware upgrading and similar
operations. In real life almost all Bluetooth USB devices do not
need firmware download. If device does require firmware download
then ugen(4) (or specialized driver like ubtbcmfw(8)) should be
used instead.