Commit Graph

95452 Commits

Author SHA1 Message Date
sos
2d40235b40 Fix the DMA problem that most severely hit on the DS3112a SATA chip
in connection with Marvell based SATA->PATA dongles.

The problem was caused by a combination of things working
together to make it hard to spot...

The ATA driver has always started the ATA command, then build
the SG list for DMA and then finally started the DMA engine.
While this is according to specs, it poses a potential
problem as some controllers apparently do not allow for unlimitted
time between starting the ATA command and starting the DMA engine.

At about the same time as ATAng was committed there were lots
of other changes applied, some of which was locking in parts
that causes the busdma load functions to take significantly
longer to load the SG list.

This pushed the time spent between starting the ATA command and
starting the DMA engine over the hill for some controllers
(especially the Silicon Image DS3112a) and caused what looked
like lost interrupts.

The solution is to get all the SG list work or rather all
busdma related stuff done before we even try to start anything.

This has the nice side effect of seperating busdma out the
way it should be, so the working of the ATA machinery is not
cluttered up with busdma droppings, making the code easier
to read and understand.
2003-10-21 19:20:37 +00:00
imp
ec962c958d Modernize examples/usage. Kill 1200/300 baud modem entries and
instead use 14.4kbps and faster modems as examples.  Separate line
speed and baud rate and be careful when talking of one verses the
other.
2003-10-21 19:15:29 +00:00
silby
b087719feb Wrap a long line in the previous commit
Suggested by:	njl
2003-10-21 18:48:49 +00:00
silby
dd6449ef8a Change all SYSCTLS which are readonly and have a related TUNABLE
from CTLFLAG_RD to CTLFLAG_RDTUN so that sysctl(8) can provide
more useful error messages.
2003-10-21 18:28:36 +00:00
silby
5dd0a6daa5 Have sysctl print out a more useful error message when it detects that the
user has attempted to write to a read only, tunable value.
2003-10-21 16:49:30 +00:00
silby
589d81e805 Add another sysctl flag, CTLFLAG_TUN, which is a hint to the userland
sysctl that a given variable is tunable.

Also added is CTLFLAG_RDTUN, which is CTLFLAG_RD|CTLFLAG_TUN; TUN does
not always imply read-only, so RDTUN should be used where RD was used
before.
2003-10-21 16:48:33 +00:00
rwatson
5589c8e5ed Line-break sync to the MAC development branch. 2003-10-21 15:18:26 +00:00
simokawa
6ade98040b We need to initialize bp->b_offset and bp->b_iooffset
becuase bp->b_blkno is ignored now.
2003-10-21 13:18:19 +00:00
tjr
dd173a969d Reject negative ngrp arguments in linux_setgroups() and linux_setgroups16();
stops users being able to cause setgroups to clobber the kernel stack by
copying in data past the end of the linux_gidset array.
2003-10-21 11:00:33 +00:00
sos
98c29bcef6 Up the alignment requirement of the SC1100 to 16 bytes, it has all the bugs and then some of its Cyrix inheritance.
Set the max_iosize for the Cyrix to 63K as the SC1100.
2003-10-21 08:53:29 +00:00
phk
1df98ec39d Remove clause 3 in the copyrights (according to permission in src/COPYRIGHT)
Remove trailing whitespace.
2003-10-21 08:27:05 +00:00
phk
4a75754af3 Remove "register" keywords.
Use newspeak functions definitions.
2003-10-21 07:58:52 +00:00
scottl
568c553a30 Don peril-sensitive sunglasses and mark pipe(2) as MPSAFE. I've beaten up
on it for the last 15 hours with no signs of problems.  It gives a small
(1%) gain on buildworld since pipe_read/pipe_write are already free of Giant.
2003-10-21 07:03:27 +00:00
phk
01f4396c4e Retire bio_caller2 (alias for b_io.bio_caller2), this field is reserved
for dev_strategy() use.

Retire bio_driver[12] (aliases for b_io.bio_driver[12]) these fields are
reserved for device driver use and can as such never have any interest
in the buf end of things.
2003-10-21 06:58:58 +00:00
phk
350bec7b38 Remove KASSERTS on B_PHYS for vmapbuf() and vunmapbuf(), B_PHYS is going
away.
2003-10-21 06:53:10 +00:00
imp
5a49e87621 baud rate and bit rate were horribly confused in this document. Baud
rate is how fast modems exchange symbols.  Bit rate is how many bits
per second the serial port nominally communicates at.  Try to use bit
rate consistently where that's what is ment.  The default data rate is
now 9600 baud.  300 baud being default pre-dates 4.4-LITE1.  Document
that tip doesn't respect the system default rate for a given channel.

Sorry guys, but no ucbvax, kremvax or kgbvax added to the example.

Noted by: bde
2003-10-21 03:22:49 +00:00
marcel
77fa8e552c Remove md_bspstore from the MD fields of struct thread. Now that
the backing store is at a fixed address, there's no need for a
per-thread variable.
2003-10-21 01:13:49 +00:00
phk
00b97b1849 Addition. 2003-10-20 21:22:41 +00:00
sam
824c573f46 revert default for idle polling to zero until we can resolve the
livelock problem
2003-10-20 21:14:24 +00:00
phk
0897490bcf When a numeric field overflows its width, try formatting the number in
'kilo' or 'mega' with appropriate suffix instead of filling the field
with stars.
2003-10-20 20:13:50 +00:00
jeff
d191470e5b - If a thread is not bound to a kse return 0 from sched_pctcpu().
Reported by:	 pawel.worach@nordea.com
2003-10-20 19:55:21 +00:00
gsutter
0d1840b185 Spelling, grammar fixes.
Reviewed by:	imp
2003-10-20 19:17:15 +00:00
alc
d3354f0251 - Remove some long unused code. 2003-10-20 18:57:01 +00:00
alc
b09f6b4131 Initialize the buf's b_object in pbgetvp(). Clear it in pbrelvp(). (This
facilitates synchronization of the vm page's valid field using the
vm object's lock.)

Suggested by:	tegge
2003-10-20 18:24:38 +00:00
sam
32384dbcd5 fix build: linux_to_bsd_msf_lba is no longer used because of previous commit 2003-10-20 17:56:10 +00:00
ume
49afbec887 enclose IPv6 part with ifdef INET6.
Obtained from:	KAME
2003-10-20 16:19:01 +00:00
dwmalone
21bdea886b Mark dup as MPSAFE. Giant was pushed into dup ages ago, but it looks
like it was missed in syscalls.master.

Spotted by:	alc
2003-10-20 16:16:03 +00:00
ume
9963ff78c5 correct linkmtu handling.
Obtained from:	KAME
2003-10-20 15:27:48 +00:00
bmah
93d8d2b066 Fix typo: s/dev_db/dev_mkdb/
Pointed out by:	Michel Lavondes <fox@vader.aacc.cc.md.us>
2003-10-20 15:17:44 +00:00
phk
8cab9c5b53 Remember to check the DE_WHITEOUT flag in the case where a cloned
device is hidden by a devfs(8) rule.

Spotted by:	 Adam Nowacki <ptnowak@bsk.vectranet.pl>
2003-10-20 15:08:10 +00:00
sos
444b5c1151 If just gcc could make up its mind... 2003-10-20 14:28:37 +00:00
dds
c27f4ec756 Bring the description of st_[cma]time modification conditions a bit
closer to reality.  More work remains to be done.  st_mtime should
be the most complete based on IEEE Std 1003.1, 2003 Edition, a
review of ufs_vnops.c, and some experimentation.
2003-10-20 13:52:22 +00:00
sos
e47425fbee Only return valid DMA error bits. 2003-10-20 13:45:11 +00:00
sos
729c02a790 Up delay from 10 to 100ms after reset, this helps some slow devices
get their act together before we start probing.
2003-10-20 13:44:33 +00:00
sos
b1de0a06c2 Only announce ECC errors when its only that. 2003-10-20 13:32:42 +00:00
tjr
a2e970ac34 Fix some security bugs in the SVR4 emulator:
- Return NULL instead of returning memory outside of the stackgap
  in stackgap_alloc() (FreeBSD-SA-00:42.linux)
- Check for stackgap_alloc() returning NULL in svr4_emul_find(),
  and clean_pipe().
- Avoid integer overflow on large nfds argument in svr4_sys_poll()
- Reject negative nbytes argument in svr4_sys_getdents()
- Don't copy out past the end of the struct componentname
  pathname buffer in svr4_sys_resolvepath()
- Reject out-of-range signal numbers in svr4_sys_sigaction(),
  svr4_sys_signal(), and svr4_sys_kill().
- Don't malloc() user-specified lengths in show_ioc() and
  show_strbuf(), place arbitrary limits instead.
- Range-check lengths in si_listen(), ti_getinfo(), ti_bind(),
  svr4_do_putmsg(), svr4_do_getmsg(), svr4_stream_ti_ioctl().

Some fixes obtain from OpenBSD.
2003-10-20 10:38:48 +00:00
imp
c4a81a0b77 Update to using a 56k modem connection, plus add some verbage about
what the entry does for people that are not used to reading
/etc/remote files every day.  Keep arpavax, because it is a cool name,
but remove the phone number listed.  arpavax hasn't been answering
that number for a while :-)
2003-10-20 10:26:54 +00:00
imp
72bc57cbed White space only changes. Put each sentence on a line by itself, per
our normal practice.  In anticipation of bigger changes to this file.
2003-10-20 10:04:55 +00:00
sos
f891cc943b We dont support CDROMREADAUDIO anymore. 2003-10-20 09:51:00 +00:00
sos
f4e3c94db4 Remove no longer existant CDIOCREADAUDIO ioctl. 2003-10-20 09:29:40 +00:00
phk
b9aaeaeac1 When a driver successfully created a device on demand, we can directly
pick up the DEVFS inode number from the dev_t and find our directory
entry from that, we don't need to scan the directory to find it.

This also solves an issue with on-demand devices in subdirectories.

Submitted by:	cognet
2003-10-20 07:04:09 +00:00
alc
dd411c2fd3 - Synchronize access to a vm page's valid field using the containing
vm object's lock.
2003-10-20 05:57:55 +00:00
marcel
62a2ac3ad5 Put the RSE backing store at a fixed address. This change is triggered
by libguile that needs to know the base of the RSE backing store. We
currently do not export the fixed address to userland by means of a
sysctl so user code needs to hardcode it for now. This will be revisited
later.

The RSE backing store is now at the bottom of region 4. The memory stack
is at the top of region 4. This means that the whole region is usable
for the stacks, giving a 61-bit stack space.

Port: lang/guile (depended of x11/gnome2)
2003-10-20 05:34:10 +00:00
alc
68f12077da - Remove comments referring to functions that no longer exist. 2003-10-20 05:16:27 +00:00
deischen
88c6727a53 This test relies on the concurrency level being 1; make it so. 2003-10-20 04:23:49 +00:00
cognet
9a3b3d44bc Various style and type fixes in my last commit.
Suggested by:	mux
2003-10-20 04:10:20 +00:00
alc
cf82ee0544 - Hold the vm object's lock around calls to vm_page_set_validclean(). 2003-10-20 04:05:24 +00:00
jmg
79fc0d6268 document the fact that kqueue will immediately return and not timeout when
nevents is 0.

PR:		kern/45291
2003-10-20 02:29:16 +00:00
silby
ee5009bf03 Fix m_head handling in sis_encap so that the correct mbuf is always handed
to BPF_MTAP.
2003-10-19 23:28:02 +00:00
silby
6d3a60e81d Fix a problem where m_defrag would allocate a new mbuf to replace the
chain passed into dc_encap, which dc_start was unaware of.  This caused
the old (now invalid) mbuf to be passed to BPF_MTAP.

Spotted by:	Kenjiro Cho <kjc@csl.sony.co.jp>
2003-10-19 23:05:19 +00:00