Commit Graph

42077 Commits

Author SHA1 Message Date
marcel
a48e8d72dc In aic_reconnect()i, initialize scb. On ia64 the compiler warns about
a possible uninitialized variable.
2003-08-23 09:00:56 +00:00
marcel
c2a6d01cc9 o Explicitly cast the second argument to bus_space_set_region_#()
to intptr_t. This fixes a compiler warning (integer from pointer
   without cast) in scvgarndr.c when SC_PIXEL_MODE is defined.
o  Define readb() and writeb(). Both are used in scvgarndr.c when,
   guess what, SC_PIXEL_MODE is defined.

Both changes are ia64 specific.

Found by: LINT
2003-08-23 08:52:52 +00:00
marcel
0663329f6f On ia64 time_t is 64 bit. Explicitly cast tv_sec to long and change
the corresponding format specifier to %ld in a call to printf() in
function softclock(). The printf() is conditional upon DIAGNOSTIC.

Found by: LINT
2003-08-23 08:31:32 +00:00
alc
06fbefe190 To implement the sequential access optimization, vm_fault() may need to
reacquire the "first" object's lock while a backing object's lock is held.
Since this is a lock-order reversal, vm_fault() uses trylock to acquire
the first object's lock, skipping the sequential access optimization in
the unlikely event that the trylock fails.
2003-08-23 06:52:32 +00:00
marcel
edbda376e1 Also define VM_PAGE_BITS_ALL for 16K and 32K pages. Make the constant
unsigned for all page sizes and unsigned long for 32K pages.
2003-08-23 06:30:47 +00:00
imp
a2ab73ca67 s=gem/foo=dev/gem/foo= 2003-08-23 06:30:21 +00:00
marcel
0dfb8cd786 Add support for 16K and 32K page sizes. The valid and dirty maps
in struct vm_page are defined as u_int for 16K pages and u_long
for 32K pages, with the implied assumption that long will at least
be 64 bits wide on platforms where we support 32K pages.
2003-08-23 06:24:00 +00:00
nyan
ce8950904e MFi386: revisions 1.202 and 1.203. 2003-08-23 06:06:55 +00:00
marcel
aebc177e7f s#<mk48txx/mk48txxreg.h>#<dev/mk48txx/mk48txxreg.h># 2003-08-23 05:56:58 +00:00
marcel
9ac1b1963f s#<foo/bar.h>#<dev/foo/bar.h>#g 2003-08-23 05:51:03 +00:00
marcel
1e48408730 Add compilation support for extfs on ia64, primarily to support LINT.
The functions in ia64-bitops.h merely call panic() for now. They need
to be implemented some day, just not today.
2003-08-23 03:58:11 +00:00
marcel
0a0d516cca Remove PAGE_SIZE_4K, PAGE_SIZE_8K and PAGE_SIZE_16K and replace them
with LOG2_PAGE_SIZE. A single option is better to LINT than multiple
mutual exclusive ones.
2003-08-23 03:39:55 +00:00
marcel
e353031056 Picking PAGE_SHIFT as a global option is a bad idea. Instead call the
option LOG2_PAGE_SIZE.
2003-08-23 03:38:36 +00:00
marcel
390694cdc8 Remove PAGE_SIZE_4K, PAGE_SIZE_8K and PAGE_SIZE_16K and replace
them with PAGE_SHIFT. A single option is better to LINT than
multiple mutual exclusive ones.
2003-08-23 03:22:41 +00:00
marcel
9abec0fde8 Add rules for font.h and ukbdmap.h. Needed for LINT. 2003-08-23 02:33:36 +00:00
marcel
ea112163f8 Revert previous change for ncrreg.h. The header really lives in
sys/pci.
2003-08-23 02:25:04 +00:00
peter
e521e29fca Turn on the MTRR driver. 2003-08-23 00:59:26 +00:00
peter
d023b0fa93 Complete the switch to the common 32 bit support code. 2003-08-23 00:58:33 +00:00
peter
f8a98096f4 AMD64 mtrr driver. 2003-08-23 00:27:58 +00:00
marcel
8a3c15df3b DEV_ACPI is an unused option. 2003-08-23 00:14:32 +00:00
imp
dabeba3f55 s=include <ofw/=include <dev/ofw/= to reflect removal of -I$S/dev 2003-08-23 00:11:16 +00:00
marcel
3d03264769 Remove unused inclusion of opt_acpi.h 2003-08-23 00:07:52 +00:00
peter
e95056563d Switch to using the emulator in the common compat area.
Still work-in-progress.
2003-08-23 00:04:53 +00:00
marcel
e1826522f9 Both CLK_USE_I8254_CALIBRATION and TIMER_FREQ have ceased to be options
on ia64 after the cleanup of the clock code.
2003-08-23 00:02:18 +00:00
peter
aecc3981a1 Initial sweep at dividing up the generic 32bit-on-64bit kernel support
from the ia32 specific stuff.  Some of this still needs to move to the MI
freebsd32 area, and some needs to move to the MD area.  This is still
work-in-progress.
2003-08-22 23:19:02 +00:00
peter
e2c08ea16b Initial sweep to de-i386-ify this 2003-08-22 23:07:28 +00:00
peter
2c79c9e29b Regen 2003-08-22 22:52:04 +00:00
peter
763024f66d Begin attempting to consolidate the two different i386 emulations
on ia64 and amd64.  I'm attempting to keep the generic 32bit-on-64bit
binary support seperate from the i386 support and the MD backend support.
2003-08-22 22:51:48 +00:00
alc
62095d6563 Use the requested page's object field instead of the vnode's. In some
cases, the vnode's object field is not initialized leading to a NULL
pointer dereference when the object is locked.

Tested by:	rwatson
2003-08-22 17:50:32 +00:00
rwatson
f62e7b4be7 Make the elements argument to mac_prepare() be const.
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-08-22 17:49:59 +00:00
rwatson
74cad7031c Add prototype for new libc function mac_prepare_type().
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-08-22 17:39:39 +00:00
njl
f7301e0c62 Add the DA_Q_NO_PREVENT quirk which keeps da(4) from sending PREVENT/ALLOW
commands.  Add a quirk for the Creative Nomad MuVo USB device that uses
it as well as NO_SYNCHRONIZE_CACHE.

PR:		kern/53094
Submitted by:	Richard Nyberg <rnyberg@it.su.se>
MFC after:	3 days
2003-08-22 16:35:53 +00:00
imp
171bbbf23b Now that the pci include file location migration has been completed,
remove the -I$S/dev and -I@/dev which were there only for pci.

# If I've broken something, please let me know.
2003-08-22 15:41:44 +00:00
imp
43f22bacb5 fix reference to pci/pcireg.h 2003-08-22 15:35:37 +00:00
imp
d804accbc1 Prefer new location of pci include files (which have only been in the
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
2003-08-22 15:28:22 +00:00
imp
938b032745 Prefer new location of pci include files (which have only been in the
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
2003-08-22 15:06:24 +00:00
rwatson
3cf3b40a91 Correct typo introduced during manual merge: hook up the reflect_tcp
test to the reflect_tcp entry point, rather than the reflect_icmp
entry point.

Submitted by:	naddy
2003-08-22 12:32:07 +00:00
ps
3f7f2a4cfc Change the the size fields to daddr_t to support greater than 2TB ccd volumes.
Reviewed by:	phk
2003-08-22 11:21:06 +00:00
phk
57ee24a70a Make CCD unloadable. 2003-08-22 11:04:47 +00:00
phk
ec0641f616 Don't panic over the fact that unloading failed if we already knew that. 2003-08-22 11:00:54 +00:00
phk
0955331370 Block all GETATTR calls hitting the CCD, we wouldn't know which child
device should handle them.

This prevents for instance GEOM::ioctl requests from reaching a
lower BSDlabel node, which ps@ found would confuse newfs(8).
2003-08-22 10:28:19 +00:00
phk
d2368e58de Check for null softc pointers, these happens when a ccd is withering.
Found by:	 David Schultz <dschultz@OCF.Berkeley.EDU>
2003-08-22 10:22:46 +00:00
imp
53f32078e5 Add newly discovered ENE Technologies CardBus bridges to the list:
CB710, CB720, CB1211, CB1225, CB1410 and CB1420
These are likely licensed designed from TI, and the Linux PCMCIA code
treats them as TI chips.

Add comment, but no ID for the 711E1 from O2Micro.
2003-08-22 08:49:56 +00:00
imp
18625a197e Prefer new location of pci include files (which have only been in the
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
2003-08-22 07:39:05 +00:00
simokawa
65a4971103 Make this compiled on RELENG_4. 2003-08-22 07:33:20 +00:00
simokawa
ae2b85209f Comment out verbose debug messages. 2003-08-22 07:30:41 +00:00
imp
fdead95125 Prefer new location of pci include files (which have only been in the
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
2003-08-22 07:20:27 +00:00
imp
bf11908ab7 Prefer new location of pci include files (which have only been in the
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
2003-08-22 07:08:17 +00:00
imp
f13e5622e8 Prefer new location of pci include files (which have only been in the
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
2003-08-22 06:42:59 +00:00
imp
c38da55945 Define a module version. 2003-08-22 06:28:45 +00:00
imp
ed7e4f2ae7 Prefer new location of pci include files (which have only been in the
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
2003-08-22 06:17:16 +00:00
imp
d29b0e3442 Prefer new location of pci include files (which have only been in the
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
2003-08-22 06:06:16 +00:00
imp
e0b1369473 Prefer new location of pci include files (which have only been in the
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
2003-08-22 06:00:27 +00:00
njl
815966c39b Quirk for Jungsoft NEXDISK USB flash key. Fails to mount without
NO_SYNCHRONIZE_CACHE.

PR:		kern/54737
Submitted by:	David Thiel <lx@redundancy.redundancy.org>
MFC after:	3 days
2003-08-22 05:58:23 +00:00
njl
41ba46ea6e SHUTTLE_INIT quirk for EXATELECOM i-Bead mp3 player 2003-08-22 05:54:57 +00:00
imp
c23aaeeba4 Prefer new location of pci include files (which have only been in the
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
2003-08-22 05:54:52 +00:00
alc
15f81fe316 Eliminate the last (direct) use of vm_page_lookup() on the pte object. 2003-08-22 05:49:29 +00:00
njl
525c9f0a38 Add quirks for the EXATELECOM i-Bead mp3 player.
PR:		kern/51675
Submitted by:	Nicolas Jombart <ecu@ipv42.net>
MFC after:	3 days
2003-08-22 05:43:30 +00:00
imp
9806bd63e5 Prefer new location for dev/pci/pci*.h 2003-08-22 05:11:30 +00:00
imp
8ff8ec76e6 Prefer the new location of dev/pci/pci*.h. 2003-08-22 05:09:35 +00:00
imp
f37dce1869 Prefer the uintXX_t to the u_intXX_t names. 2003-08-22 03:11:53 +00:00
imp
9213e54d95 Many newer CF do not handle having the entire track read from them at
boot time.  Instead, read it a sector at a time.  While this sounds
like a significant slowdown, I've not been able to measure any
signficant difference.

Submitted by: luigi
Reviewed by: jhb, sam (both a while ago)
MFC After: 3 days
2003-08-22 01:59:28 +00:00
orion
3474251a8e Additional VT1616 id.
Submitted by: Greg Lewis
2003-08-21 23:22:51 +00:00
alc
9e89497b7d Assert that the vm object's lock is held on entry to vm_page_grab(); remove
code from this function that was needed when vm object locking was
incomplete.
2003-08-21 20:59:07 +00:00
rwatson
dd0b6b7e28 Introduce two new MAC Framework and MAC policy entry points:
mac_reflect_mbuf_icmp()
  mac_reflect_mbuf_tcp()

These entry points permit MAC policies to do "update in place"
changes to the labels on ICMP and TCP mbuf headers when an ICMP or
TCP response is generated to a packet outside of the context of
an existing socket.  For example, in respond to a ping or a RST
packet to a SYN on a closed port.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-08-21 18:39:16 +00:00
rwatson
32ed1a62a8 Introduce two new MAC Framework and MAC policy entry points:
mac_reflect_mbuf_icmp()
  mac_reflect_mbuf_tcp()

These entry points permit MAC policies to do "update in place"
changes to the labels on ICMP and TCP mbuf headers when an ICMP or
TCP response is generated to a packet outside of the context of
an existing socket.  For example, in respond to a ping or a RST
packet to a SYN on a closed port.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-08-21 18:21:22 +00:00
rwatson
0ebed43e99 Correct logic for filling out a "new" label during a credential
change in mac_lomac: if both flags are set on the new label, we
may not need to always fill out the label (only if one flag is
set, not both).  Avoid stomping on a section of the label if we
are in fact modifying both elements.

Because we know that both flags will be set, we don't need to
test whether the range or single are set in later consistency
checks of the range and single -- just test them.

By checking the range of the new vs. the range of the old label
before testing the single against the new range, we implicitly
test that the new single is in the old range.  Document this
with a comment.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-08-21 18:07:52 +00:00
imp
7988908976 Sync 2003-08-21 18:05:55 +00:00
imp
cd24abf0c8 Sort the vendors into three sections. First section is for those
vendors that list the vendor ID in the proper byte order.  The second
section is for vendors that get it backwards.  The third is for what
appear to be 'random' ones (although 0xcxxx appears to be coherent
enough that maybe somebody else is assigning those numbers).
2003-08-21 18:05:35 +00:00
imp
b0e392e66c Add a comment saying it might be Paralon 2003-08-21 17:51:17 +00:00
imp
54ff07d4ba Sync to 1.68 2003-08-21 17:50:26 +00:00
imp
8a10259068 Compaq's ID is 0x138. However, it looks like they also released
something with the vendor ID of 0x183.  That could be a typo, or it
could be Paralon Technologies.  Add an entry for Paralon, but don't
use it yet.
2003-08-21 17:49:50 +00:00
imp
6eef404849 LINKSYS2 -> BROMAX 2003-08-21 17:40:59 +00:00
imp
3847c28e90 Update to pccarddevs 1.67 2003-08-21 17:40:28 +00:00
imp
ff4bad4bdf Vendor ID 0x274 is Bromax Communications, not Linksys. Linksys sells
them as 'Instant Wireless' cards.
2003-08-21 17:39:56 +00:00
rwatson
e7de110897 Retrofit of mac_test regression and consistency test module for MAC
Framework labels:

- Re-work the label state assertions to use a set of central
  ASSERT_type_LABEL() assertions.

- Test to make sure labels passed to externalize/internalize calls haven't
  been destroyed.

- For access control checks, assert the condition of all labels passed in.

- For life cycle events, assert the condition of all labels passed in.

- Add new entry point implementations for new MAC Framework entry points:
  mac_test_reflect_mbuf_icmp(), mac_test_reflect_mbuf_tcp(),
  mac_test_check_vnode_deleteextattr(), mac_test_check_vnode_listextattr().

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-08-21 17:28:45 +00:00
imp
424518a7fe DSP Solutions, Inc made the XJEM1144 and XJACK ethernet cards. Update
MEGAHERTZ2 to DSPSI.
2003-08-21 17:27:49 +00:00
imp
840ce2ddc5 Sync to 1.66 2003-08-21 17:26:59 +00:00
imp
c912f42983 Vendor ID 0x0128 is registered to DSP Solutions, Inc. Megahertz sold
these under X-Jack and XJEM1144.  Update to reflect this.
2003-08-21 17:26:44 +00:00
imp
b4afe6b7eb Update to reflect NETGEAR_2 -> INTERSIL and INTERSIL -> INTERSIL2
changes to pccarddevs.
2003-08-21 17:13:33 +00:00
rwatson
b5c7bb5ffa Add stub entries for new MAC framework entry points:
mpo_reflect_mbuf_icmp()
  mpo_reflect_mbuf_tcp()
  mpo_check_vnode_deletextattr()
  mpo_check_vnode_listextattr()

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-08-21 17:05:36 +00:00
rwatson
589403136d Hook up mac_stub to the modules Makefile.
Hook up mac_stub in files and options.
Reference mac_stub in NOTES.
2003-08-21 16:48:39 +00:00
imp
bec58bb460 Sync to 1.65 2003-08-21 16:43:27 +00:00
imp
65f199ba32 Change INTERSIL to INTERSIL2 for the -1 case. Chances are good that
this card has a real ID, but I don't know what it is at this time.
2003-08-21 16:43:10 +00:00
imp
e09187300d Regen for 1.64 2003-08-21 16:41:14 +00:00
imp
64ce51d51e Vendor 0xb is intersil, not Netgear. The MA401RA is just Netgear's
modle number, and I continue to use it as a place holder until I find
out what Intersil's name for it is.
2003-08-21 16:40:20 +00:00
eivind
5961dda949 Replace 'OS release date' with 'kernel release date' here, too.
Reminded by:	ru
2003-08-21 16:36:54 +00:00
rwatson
d1de962118 Generally rename things to represent the fact that this is now the
mac_stub policy and no longer mac_none (as found in the repocopy).
Add comment to this effect.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-08-21 16:22:52 +00:00
rwatson
6f69532119 mac_none is now the null policy, not a stub policy, so remove the
stubs.  Add a pointer to mac_stub, which is now the stub policy.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-08-21 16:19:17 +00:00
orion
b73e7cfba2 Apply Rudolf Cejka's patch for:
o AD1980 hook.
o ac97_fix_auxout.

and:

o Associate AC97_MIX_AUXOUT with SOUND_MIXER_OGAIN rather than
SOUND_MIXER_MONITOR.

o Add ac97_fix_tone to remove tone controls from mixer if invalid.
2003-08-21 15:50:32 +00:00
orion
9826d71be0 Add patch for AD198x.
Submitted by: Oleg Sharoiko, Rudolf Cejka.
2003-08-21 15:44:55 +00:00
eivind
ab2c97a462 Change description of kern.osreldate from "Operating system release date" to
"Kernel release date" - userland version is in /usr/include/osreldate.h
2003-08-21 14:47:08 +00:00
rwatson
15931b8285 Implementations of mpo_check_vnode_deleteextattr() and
mpo_check_vnode_listextattr() for Biba, MLS, and BSD Extended.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-08-21 14:34:54 +00:00
jhb
bcd3074e53 Regen. 2003-08-21 14:16:41 +00:00
jhb
c33688e027 Swap sigaction/sigreturn since they are in the wrong order.
Noticed indirectly by:	peter
2003-08-21 14:16:00 +00:00
rwatson
6f522a9e52 Add mac_check_vnode_deleteextattr() and mac_check_vnode_listextattr():
explicit access control checks to delete and list extended attributes
on a vnode, rather than implicitly combining with the setextattr and
getextattr checks.  This reflects EA API changes in the kernel made
recently, including the move to explicit VOP's for both of these
operations.

Obtained from:	TrustedBSD PRoject
Sponsored by:	DARPA, Network Associates Laboratories
2003-08-21 13:53:01 +00:00
simokawa
1c5a183b7d Include order bit in sdev->type. 2003-08-21 08:40:31 +00:00
ambrisko
162a62d2dd Add in a missing device entry that I thought was already in there. This
is from the same PR.  Prompted by the reporter of the PR.

PR:		38372
2003-08-21 03:54:20 +00:00
peter
ba0d622c9f Regen 2003-08-21 03:48:50 +00:00
peter
96b31600a1 This is too funny for words. Swap syscalls 416 and 417 around. It works
better that way when sigaction() and sigreturn() do the right thing.
2003-08-21 03:48:05 +00:00
imp
852364fd42 In my efforts to make checking the CD bits less error-prone, I
introduced an error.  In power_enable_socket, we only return ENODEV if
there isn't a card, not if there is a card.  Ooops.

Pointy hat to: bsdimp
2003-08-20 23:43:20 +00:00
hsu
4904c77f42 Add Protocol Independent Multicast protocol.
Submitted by:	Pavlin Radoslavov <pavlin@icir.org>
2003-08-20 22:11:58 +00:00
alc
f8ecd895b9 Assert that the vm object lock is held in vm_page_alloc(). 2003-08-20 20:24:29 +00:00
alc
d1b230d27b - Lock the pte object when performing vm_page_grab().
- Insure that the page table page is zero filled before adding it
   to the page table.
2003-08-20 20:12:05 +00:00
rwatson
85df7c20ad Remove about 40 lines of #ifdef/#endif by using new macros
MAC_DEBUG_COUNTER_INC() and MAC_DEBUG_COUNTER_DEC() to maintain
debugging counter values rather than #ifdef'ing the atomic
operations to MAC_DEBUG.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-08-20 19:16:49 +00:00
imp
ee0d294c7e bde made a number of suggested improvements to the code. This commit
represents the pruely stylistic changes and should have no net impact
on the rest of the code.

bde's more substantive changes will follow in a separate commit once
we've come to closure on them.

Submitted by: bde
2003-08-20 19:12:46 +00:00
bmilekic
f0a28c0844 In sysctl_vm_zone, do not calculate per-cpu cache stats on
UMA_ZFLAG_INTERNAL zones at all.  Apparently, Wilko's alpha
was crashing while entering multi-user because, I think, we
were calculating the garbage cachefree for pcpu caches that
essentially don't exist for at least the 'zones' zone and it so
happened that we were reading from an unmapped location.

Confirmed to fix crash: wilko
Helped debug: wilko, gallatin
2003-08-20 18:22:06 +00:00
rwatson
4877ee029d Before digging into IGMP locking, do a whitespace and prototype cleanup:
prefer tabs to 8 spaces, focus on consistent indentation, prefer modern
C function prototypes.  Not all the way to style(9), but substantially
closer.
2003-08-20 17:32:17 +00:00
rwatson
606a0352a5 Move from a custom-crafted singly-linked list to the SLIST_* macros
from queue(3).

Improve vertical compactness by using a IGMP_PRINTF() macro rather
than #ifdefing IGMP_DEBUG a large number of debugging printfs.

Reviewed by:	mdodd (SLIST changes)
2003-08-20 17:09:01 +00:00
bms
3af3c5ae44 Add the IP_ONESBCAST option, to enable undirected IP broadcasts to be sent on
specific interfaces. This is required by aodvd, and may in future help us
in getting rid of the requirement for BPF from our import of isc-dhcp.

Suggested by:   fenestro
Obtained from:  BSD/OS
Reviewed by:    mini, sam
Approved by:    jake (mentor)
2003-08-20 14:46:40 +00:00
mux
06152c89ae Fix typo in last commit. 2003-08-20 11:27:58 +00:00
mux
3d4a0b18ee Fix build by correcting a wrong cast. 2003-08-20 08:24:49 +00:00
imp
f52fd79992 Use CBB_CARD_PRESENT instead of checking STATE_CD directly since it is
hard to get right.
2003-08-20 06:13:01 +00:00
alc
f9629cc650 Lock the pmap's tsb object when performing vm_page_grab() on it. 2003-08-20 06:11:39 +00:00
ambrisko
7161a23a29 Fix panic from having multiple locks held when updating firmware. AN_LOCK
was asserted during a tsleep resulting in a panic in tsleep.
2003-08-20 05:52:48 +00:00
imp
c002aea5f8 pc98pcic isn't the name of the media driver. tcic likely will never
happen (unless someone sends one to me).  Kill bogus module depend
that I commented out over a year ago.
2003-08-20 05:50:56 +00:00
imp
8b251db37c When debugging CIS, only print 10 CISTPL_NULLs. Chances are good they
are all bogus, and the cards that don't decode things quite right
often have hundreds of them.  This will fix starvation of small dmesg
buffers and allow better debugging to happen.  I thought about adding
an override, but there is such a thing as too many knobs. :-)
2003-08-20 05:44:55 +00:00
imp
ef7e40c451 Fix an extreme edge case in leap second handling. We need to call
ntp_update_second twice when we have a large step in case that step
goes across a scheduled leap second.  The only way this could happen
would be if we didn't call tc_windup over the end of day on the day of
a leap second, which would only happen if timeouts were delayed for
seconds.  While it is an edge case, it is an important one to get
right for my employer.

Sponsored by: Timing Solutions Corporation
2003-08-20 05:34:27 +00:00
marcel
dd5e41ad29 Undo the mistake made in revision 1.77 of trap.c and which was the
ultimate trigger for the follow-up fixes in revisions 1.78, 1.80,
1.81 and 1.82 of trap.c. I was simply too pre-occupied with the
gateway page and how it blurs kernel space with user space and
vice versa that I couldn't see that it was all a load of bollocks.

It's not the IP address that matters, it's the privilege level that
counts. We never run in user space with lifted permissions and we
sure can not run in kernel space without it. Sure, the gateway page
is the exception, but not if you look at the privilege level. It's
user space if you run with user permissions and kernel space otherwise.

So, we're back to looking at the privilege level like it should be.
There's no other way.

Pointy hat: marcel
2003-08-20 05:30:35 +00:00
alc
5c48e77ef1 - Lock the pte object when performing vm_page_grab().
- Insure that the page table page is zero filled before adding it
   to the page table.
2003-08-20 05:09:55 +00:00
ambrisko
97a4ea7a30 On Dell boxes such as the PE2650 we need to disable 3 led mode for the
link LED to work.

Reviewed by:	wpaul
Obtained from:	Linux driver
2003-08-20 04:06:00 +00:00
ambrisko
fa13e39cc0 - Add support for Cisco latest firmware RID sizes that supports 25 SSIDs!
- Fix up TX speed changes.
- Make mpi-350 cards sort-of work with new firmware.  It RXs okay but TXs
  only work for about 14 packets then fails to get an interrupt.  The
  TX watchdog fires.  It has been reported that my hack for now doesn't
  break cards with the older firmware.  It appears my card has lost
  the ability to RX or TX at all but other peoples cards work.  I assume
  it got damaged in tansport.

MFC:	1 week.
2003-08-20 03:46:05 +00:00
simokawa
d369701769 Fill reserved fields of transmitting packets header with zero.
This fixes the if_fwe problem with 1394b chip.

PR and Tested by: nork
2003-08-20 03:11:37 +00:00
sam
1c1194250d MFp4 changes to fix locking issues and correct reference
count handling of station entries in hostap mode:

Input path:

o driver is now expected to find the node associated with the
  sender of a received frame; use ic_bss if none is located
o driver passes the (referenced) node into ieee80211_input for
  use within the wlan module and is responsible for cleaning up
  on return
o the antenna state is no longer passed up with each frame; this
  is now considered driver-private state and drivers are responsible
  for keeping it in the driver-private part of a node

Output path:

Revamp output path for management frames to eliminate redundant
locking that causes problems and to correct reference counting
bogosity that occurs when stations are timed out due to inactivity
(in AP mode).  On output the refcnt'd node is stashed in the pkthdr's
recvif field (yech) and retrieved by the driver.  This eliminates
an unref/ref scenario and related node table unlock/lock due to the
driver looking up the node.  This is particularly important when
stations are timed out as this causes a lock order reversal that
can result in a deadlock.  As a byproduct we also reduce the overhead
for sending management frames (minimal).  Additional fallout from
this is a change to ieee80211_encap to return a refcn't node for
tieing to the outbound frame.  Node refcnts are not reclaimed until
after a frame is completely processed (e.g. in the tx interrupt
handler).  This is especially important for timed out stations as
this deref will be the final one causing the node entry to be
reclaimed.

Additional semi-related changes:
o replace m_copym use with m_copypacket (optimization)
o add assert to verify ic_bss is never free'd during normal operation
o add comments explaining calling conventions by drivers for frames
  going in each direction
o remove extraneous code that "cannot be executed" (e.g. because
  pointers may never be null)
2003-08-19 22:17:04 +00:00
obrien
d321d4f4df Enable OFW_NEWPCI until jmg's 2003/06/21 18:26:08 PDT bus commit is fixed
that caused a 3-4 times slow down in performance.
(the primary Sparc64 developers are all using OFW_NEWPCI already, so it is
the best code path for users)
2003-08-19 21:57:29 +00:00
sam
20ac20186c o pass control frames up the stack when in monitor mode (the 802.11 layer will
quietly discard them; this just permits them to be collected with bpf)
o add a counter for the number of rate control frames discarded when not in
  monitor mode
o move the rx "too short" statistic in the stat structure so non-error rx stats
  are together (NB: ABI change to apps that collect stats via driver ioctl)
2003-08-19 21:35:08 +00:00
scottl
1da5f51c18 Make aac(4) compile cleanly on 64-bit machines. The code was already 64-bit
safe, but some (unneeded and/or harmless) downcasts were generating warnings.
The driver still is not endian-clean.
2003-08-19 21:31:45 +00:00
sam
c855eab1df o correct beacon frame length calculation and add an assert to catch any future
mistakes (this mistake was not an issue because the length is only used to
  decide whether or not to allocate a cluster)
o while here, move a beacon length comment to the "right place"
2003-08-19 21:28:45 +00:00
sam
cd6c255bc5 maintain a table for mapping hardware rate codes to 802.11 rates for
calculating the rate for each rx'd frame
2003-08-19 21:24:16 +00:00
sam
895f841f53 mark the scan and calibrate callouts MPSAFE 2003-08-19 21:05:47 +00:00
sam
4b1facc273 remove unneeded include files 2003-08-19 21:03:30 +00:00
alc
b97ad4e18b Eliminate a possible race condition for multithreaded applications in
_pmap_allocpte(): Guarantee that the page table page is zero filled before
adding it to the directory.  Otherwise, a 2nd, 3rd, etc. thread could
access a nearby virtual address and use garbage for the address
translation.

Discussed with:	peter, tegge
2003-08-19 18:20:34 +00:00
sam
59ff2ad5c7 Change instances of callout_init that specify MPSAFE behaviour to
use CALLOUT_MPSAFE instead of "1" for the second parameter.  This
does not change the behaviour; it just makes the intent more clear.
2003-08-19 17:51:11 +00:00
sam
c42975683b add R_Zalloc definition that returns pre-zero'd memory 2003-08-19 17:23:07 +00:00
hsu
54fc4fe430 * Bug fix in bw_meter_process(): the periodically processed bins
of bw_meter entries were processed up to one second ahead.
  After an unappropriate rescheduling of some of the bw_meter
  entries, the upcalls weren't delivered.

* pim_register_prepare() uses the appropriate sw_csum flag to
  call ip_fragment() so the IP checksum is computed properly.

* Modify pim_register_prepare() to take care of IP packets that
  don't need fragmentation.

* Add-back in_delayed_cksum() to encap_send(), because it seems it
  should be there.

Submitted by:	Pavlin Radoslavov <pavlin@icir.org>
2003-08-19 17:22:51 +00:00
sam
e7c75a19b0 remove #define no longer used 2003-08-19 17:12:21 +00:00
sam
fb194d508d add missing unlock when in_pcballoc returns an error 2003-08-19 17:11:46 +00:00
sam
f002fc1bb1 use ETHER_IS_MULTICAST instead of explicit check 2003-08-19 17:04:13 +00:00
sam
f8075fb80b "short cable" fix for DP8315
Derived from:	netbsd and tech note at soekris web site
MFC after:	1 week
2003-08-19 16:57:00 +00:00
sam
923b177486 correct typo in comment 2003-08-19 16:41:12 +00:00
cognet
6404cf2aa0 Use bus_child_present() to make sure the card is still there before calling
epstop() in ep_detach().
This fixes a freeze that happens when ejecting a ep(4) pcmcia card.
2003-08-19 14:06:42 +00:00
ps
dce9639a86 Don't tsleep on NULL 2003-08-19 12:22:17 +00:00
des
fe9e1d3126 Add pfs_visible() checks to pfs_getattr() and pfs_getextattr(). This
also fixes pfs_access() since it relies on VOP_GETATTR() which will call
pfs_getattr().  This prevents jailed processes from discovering the
existence, start time and ownership of processes outside the jail.

PR:		kern/48156
2003-08-19 10:26:41 +00:00
simokawa
472beeeb6d Remove unused code. 2003-08-19 08:59:07 +00:00
simokawa
3f81cfafbe Drop too short packets. 2003-08-19 08:50:35 +00:00
simokawa
c05232c451 Allow to access phy registers via ioctl(). 2003-08-19 08:47:49 +00:00
anholt
55fc74037c Update DRM from DRI CVS as of today. Notable changes include Radeon
suspend/resume support and Rage 128 pageflipping support (both of which require
XFree86 from CVS), along with miscellaneous cleanups.
2003-08-19 02:57:31 +00:00
takawata
f9627255ee Update my mail address on copyright notice.
Noticed by: njl
2003-08-19 01:54:34 +00:00
cg
536bf4b18e handle locking when creating or destroying vchans better 2003-08-18 23:20:39 +00:00
cg
a298a7e5b7 try to make really sshort sounds actually play 2003-08-18 23:18:47 +00:00
imp
6e857b8209 The CD bits in the CBB_SOCKET_STATE register are 0 when the card is
present, and non-zero when it is (or may be) absent.  The test
cbb_child_present was backwards.  However, typical usage in the tree
would cause it to do the right thing because the card really wasn't
there the OK flag would be turned on.

Also, assume that if any of these bits are turned on we don't have a
card, rather than requiring both of them in the suspend/resume
routines.

Noticed by: cognet
2003-08-18 21:59:24 +00:00
phk
3ec6a9ddab Replace a homegrown bdone()/bwait() implementation by the real thing 2003-08-18 19:47:16 +00:00
jhb
ed04867a82 Spell the name of the lock right in addition to getting the type right.
Submitted by:	Kim Culhan <kimc@w8hd.org>
2003-08-18 19:23:01 +00:00
jhb
97d2d15dc7 The allproc lock is a sx lock, not a mutex, so fix the assertion. This
asserts that the sx lock is held, but does not specify if the lock is held
shared or exclusive, thus either type of lock satisfies the assertion.
2003-08-18 18:02:33 +00:00
alc
1b98e56063 The previous change necessitates the addition of a new #include. Otherwise,
there is a compilation warning.
2003-08-18 17:27:08 +00:00
jhb
65b4c69d6e Add missing header include for MSR macros.
Submitted by:	bde
2003-08-18 17:01:04 +00:00
obrien
372364ee0f style.Makefile(5) 2003-08-18 15:25:39 +00:00
des
6169ee96f2 Rework pfs_iterate() a bit to eliminate a bug related to process
directories.  Previously, pfs_iterate() would return -1 when it
reached the end of the process list while processing a process
directory node, even if the parent directory contained further nodes
(which is the case for the linprocfs root directory, where the process
directory node is actually first in the list).  With this patch,
pfs_iterate() will continue to traverse the parent directory's node
list after exhausting the process list (as was the intention all
along).  The code should hopefully be easier to read as well.

While I'm here, have pfs_iterate() assert that the allproc lock is
held.
2003-08-18 13:36:09 +00:00
des
1bccee947e Whitespace cleanup. 2003-08-18 13:30:15 +00:00
imp
cb79c715dd Put the clearing of the socket cd interrupt and setting of it under
protection of sc->mtx.  Sometimes multiple insert/ejections could
cause further insertion/removals to not happen due to racing an ISR...
2003-08-18 03:15:44 +00:00
imp
4c787d57b8 Put a band-aide(tm) on the CIS panic problem. This is a similar fix
to what is in NetBSD.  I have a few cards that tickles this bug, and
this just keeps us from panicing.  It doesn't actually fix the problem
(that will happen once I figure out why some cards hate the address
their CIS is mapped to high memory).
2003-08-18 03:07:09 +00:00
alc
8d4e01126d Three unrelated changes to vm_proc_new(): (1) add vm object locking on the
U pages object; (2) reorganize such that the U pages object is created and
filled in one block; and (3) remove an unnecessary clearing of PG_ZERO.
2003-08-18 01:31:43 +00:00
phk
cdcca2ab04 Do not call VOP_BMAP() on our own vnodes.
It is particularly silly when all it does is a minor piece of math.
2003-08-17 23:00:30 +00:00
alc
e24c6c21c0 Acquire the pte object's mutex when performing vm_page_grab(). Note: It is
my long-term objective to eliminate the pte object.  In the near term, this
does, however, enable the addition of some vm object locking assertions.
2003-08-17 22:27:30 +00:00
phk
7ee2cde61d Don't use a VOP_*() function on our own vnodes, go directly to the
relevant internal function, in this case ufs_bmaparray().
2003-08-17 19:26:03 +00:00
ps
52d48fa034 Fix a typo. BGE_HCC_TX_MAX_COAL_BDS_INT is at offset 0x3C24, not 0x3C34 2003-08-17 19:14:02 +00:00
phk
c0688ebf07 Use NULL for 3rd argument of VOP_BMAP() rather than custom cast.
Eliminate unused variable.
2003-08-17 18:54:23 +00:00
phk
ba5950210c It is not an error to have no devices in the kernel: Return the
generation number and start it from one instead of zero.
2003-08-17 12:06:19 +00:00
gordon
d4903b028c Bump __FreeBSD_version due to movement of libraries to /lib and rtld to
/libexec.
2003-08-17 09:10:13 +00:00
gordon
5901302929 Stage 3 of dynamic root support. Make all the libraries needed to run
binaries in /bin and /sbin installed in /lib. Only the versioned files
reside in /lib, the .so symlink continues to live /usr/lib so the
toolchain doesn't need to be modified.
2003-08-17 08:28:46 +00:00
gordon
2456eb188f Fixup the ELF branding information to point to the new home of rtld. 2003-08-17 08:08:38 +00:00
marcel
7db6a715d6 Cleanup <machine/cpu.h> by moving MD prototypes to <machine/md_var.h>
like we have on other platforms. Move savectx() to <machine/pcb.h>.
A lot of files got these MD prototypes through the indirect inclusion
of <machine/cpu.h> and now need to include <machine/md_var.h>. The
number of which is unexpectedly large...

osf1_misc.c especially is tricky because szsigcode is redefined in
one of the osf1 header files. Reordering of the include files was
needed.

linprocfs.c now needs an explicit extern declaration.

Tested with: LINT
2003-08-17 06:42:08 +00:00
alc
93e442c71c In pmap_copy(), since we have the page table page's physical address
in hand, use PHYS_TO_VM_PAGE() rather than vm_page_lookup().
2003-08-17 04:48:21 +00:00
marcel
4194d813c1 In vm_thread_swap{in|out}(), remove the alpha specific conditional
compilation and replace it with a call to cpu_thread_swap{in|out}().
This allows us to add similar code on ia64 without cluttering the
code even more.
2003-08-16 23:15:15 +00:00
bmilekic
e3861386da Use constants less throughout the code and instead use the objsize
variable.  This makes changing the size of an mbuf or cluster for
testing/debugging/whatever purposes easier.

Submitted by: sam
2003-08-16 19:48:52 +00:00
imp
3765cbdfd1 bandaide to make this build again 2003-08-16 17:22:54 +00:00
marcel
c1d4b42a69 Further cleanup <machine/cpu.h> and <machine/md_var.h>: move the MI
prototypes of cpu_halt(), cpu_reset() and swi_vm() from md_var.h to
cpu.h. This affects db_command.c and kern_shutdown.c.

ia64: move all MD prototypes from cpu.h to md_var.h. This affects
madt.c, interrupt.c and mp_machdep.c. Remove is_physical_memory().
It's not used (vm_machdep.c).

alpha: the MD prototypes have been left in cpu.h with a comment
that they should be there. Moving them is left for later. It was
expected that the impact would be significant enough to be done in
a seperate commit.

powerpc: MD prototypes left in cpu.h. Comment added.

Suggested by: bde
Tested with: make universe (pc98 incomplete)
2003-08-16 16:57:57 +00:00
phk
34014d5261 Give timecounters a numeric quality field.
A timecounter will be selected when registered if its quality is
not negative and no less than the current timecounters.

Add a sysctl to report all available timecounters and their qualities.

Give the dummy timecounter a solid negative quality of minus a million.

Give the i8254 zero and the ACPI 1000.

The TSC gets 800, unless APM or SMP forces it negative.

Other timecounters default to zero quality and thereby retain current
selection behaviour.
2003-08-16 08:23:53 +00:00
alc
e40caa9ae7 Revision 1.44 of ufs/ufs/inode.h has made it necessary to add two new
#includes to this file.  Otherwise, it doesn't compile.
2003-08-16 06:15:17 +00:00
alc
8f6b3a6b1b Eliminate pmap_page_lookup() and its uses. Instead, use PHYS_TO_VM_PAGE()
to convert the pte's physical address into a vm page.

Reviewed by:	peter
2003-08-16 03:11:33 +00:00
obrien
48df5c2fbb FICL doesn't build on PowerPC yet, so disable. 2003-08-16 02:48:20 +00:00
marcel
0cde071e2f Fix a range check bug. Don't left-shift the integer argument 'data'.
Sign extension happens after the shift, not before so that boundary
cases like 0x40000000 will not be caught properly.
Instead, right shift ndirty. It is guaranteed to be a multiple of 8.
While here, do some manual code motion and code commoning.

Range check bug pointed out by: iedowse
2003-08-16 01:49:38 +00:00
wpaul
c82e620619 Argh. Last commit only had the __FBSDID() fix. Really add the device ID
for the 8100 this time.
2003-08-15 22:47:55 +00:00
wpaul
e1eceb5931 It appears in some configurations with an on-board RTL8100 chip (in this
case, a "Vortex86" mini PC), the PCI device ID value in the EEPROM (0x8100)
does not agree with the PCI device ID returned by pci_get_device() (0x8139).
This means that while rl_probe() matches the device, rl_attach() doesn't.
Work around this by adding an entry to the rl_devs table for the 8100 with
a device ID of 0x8100.

Also, get rid of extra instance of __FBSDID(). One is enough.
2003-08-15 22:46:47 +00:00
jhb
837193af8e - Various style fixes in both code and comments.
- Update some stale comments.
- Sort a couple of includes.
- Only set 'newcpu' in updatepri() if we use it.
- No functional changes.

Obtained from:	bde (via an old diff I got a long time ago)
2003-08-15 21:29:06 +00:00
phk
74a38e0e00 Eliminate the i_devvp field from the incore UFS inodes, we can
get the same value from ip->i_ump->um_devvp.

This saves a pointer in the memory copies of inodes, which can
easily run into several hundred kilobytes.

The extra indirection is unmeasurable in benchmarks.

Approved by:	mckusick
2003-08-15 20:03:19 +00:00
marcel
965d95c1bd Add ptrace_machdep.c. 2003-08-15 18:01:10 +00:00
rwatson
3a5e99ecfb #ifdef __i386__ the "int slice" definition that became i386-only with
recent Vinum changes.  Fixes non-i386 build on vinumio.c.

Accidental oversight of:	grog
Fix hopefully not minded by:	grog
2003-08-15 17:56:44 +00:00
phk
3ccfe6b622 remove acquire_timer0() and release_timer0() and related stuff. 2003-08-15 15:50:49 +00:00
jhb
b8d8a4046d - Fix a typo in a comment.
- Use macros for MSR register indexes as well as the bitfields in the
  APICBASE MSR.
2003-08-15 15:25:19 +00:00
jhb
df8434f4cc - Add macros describing some new MSR's in the Pentium 4 and some older
MSR's in the original Pentium.
- Add macros describing the bit fields in the APICBASE MSR.
2003-08-15 15:24:23 +00:00
jhb
abb82abe53 - Fix a duplicated typo.
- Add a macro for the logical shift needed to extract an APIC ID from
  either from the local APIC ICR Hi register or the APIC ID registers of
  the local and IO APICs.
2003-08-15 15:23:13 +00:00
jhb
87baae7b76 - Remove redundant <sys/sysctl.h> include.
- Move the <machine/vm86.h> include up to the other <machine/*> includes.
2003-08-15 15:20:27 +00:00
jhb
c2772cebe6 Adjust the style of the #ifdef SMP in casuptr() so that the #ifdef SMP
just covers the lock prefix to match the existing style in other asm files
in i386.
2003-08-15 15:19:21 +00:00
jhb
2211bc4b11 - Update location of PCI headers.
- Use macros for PCI config registers instead of magic numbers.
- Small whitespace nits.
2003-08-15 15:18:29 +00:00
phk
aed7f951ea As warned: Initiate deorbit burn for the pcaudio driver. 2003-08-15 14:56:05 +00:00
jhb
28f9f18fcd Remove a few ushorts I missed in my earlier pass.
Requested by:	bde
2003-08-15 14:55:50 +00:00
phk
ccfd91f9f5 Eliminate unnecessary udev_t variable: we can derive it from the dev_t
when we need it.
2003-08-15 13:14:25 +00:00
phk
8772859979 Make swaponvp() static to the swap_pager. 2003-08-15 12:04:29 +00:00
phk
8eb928cd77 Remove the magic way of configuring NFS backed swap.
This code dates back to the very first diskless support on FreeBSD,
back when swapon(8) couldn't simply be run on a NFS backed file.

Suggested replacement command sequence on the client:

        dd if=/dev/zero of=/swapfile bs=1k count=1 oseek=100000
        swapon /swapfile
        rm -f /swapfile

For whatever value of 100000 you want.
2003-08-15 12:04:02 +00:00
silby
b9fb8b8234 Lock down arc4random so it can be safely called w/o Giant.
Minor code reorganization was required, but the only functional
change was that the first 1024 bytes of output are thrown out
after each reseed, rather than just the initial seed.
2003-08-15 06:34:47 +00:00
njl
963f1a71f8 Revert part of rev. 1.16 -- reinstate system notify handler. It turns out
at least the Casio FIVA requires this.

Requested by:	takawata
2003-08-15 06:33:11 +00:00
imp
0650dcad61 Improve the C3 CPU identification. I didn't notice that the CPU id
was masked.  However KIMURA Yasuhiro-san noticed my mistake and was
kind enough to provide a better patch in PR 55581.  I've merged that
into the routine.  Hopefully I've not overlooked anything this time.

MFC After: 5 days
2003-08-15 06:02:24 +00:00
marcel
cae6951d00 Fix the generation of coredumps. We did not take the dirty registers
that were on the kernel stack into account. For now we write them
out to the register stack of the process before creating the dump.
This however is not the final solution. The problem is that we may
invalidate the coredump by overwriting vital information due to an
invalid backing store pointer. Instead we need to write the dirty
registers to an unused region of VM which will result in a seperate
segment in the coredump. For now we can at least get to all the
registers from a coredump.
2003-08-15 05:52:48 +00:00
marcel
5fbc98d240 Add an instruction group break after the move to application register
and the move to control register to avoid dependency violations when
these functions are used. Note that explicit data and instruction
serialization also need to be in a subsequent instruction group.
This too requires that we have an igrp break here.
2003-08-15 05:46:33 +00:00
marcel
b37a3e34cd Introduce two machine specific ptrace(2) requests: PT_GETKSTACK and
PT_SETKSTACK. These requests allow the tracing process to access the
dirty registers of the traced process that are on the kernel stack.

Note that there's currently no way to access the rnat register for
those dirty registers that are not (yet) covered by a nat collection
point. The interface for this is still being slept on.

Also note that implied by these requests is the division of work:
The tracing process has to keep track of where registers are spilled
and is responsible to figure out where the NaT bit of the stacked
registers are at any time during the execution of the traced process.
The kernel provides the interfaces but will not abstract the fact
that the register stack can be split. This model does not follow
the approach taken in Linux where PT_PEEK and PT_POKE deals with
this automagically.
2003-08-15 05:40:59 +00:00
marcel
77c3cd3d30 Add or finish support for machine dependent ptrace requests. When we
check for permissions, do it for all requests, not the known requests.
Later when we actually service the request we deal with the invalid
requests we previously caught earlier.

This commit changes the behaviour of the ptrace(2) interface for
boundary cases such as an unknown request without proper permissions.
Previously we would return EINVAL. Now we return EBUSY or EPERM.

Platforms need to define __HAVE_PTRACE_MACHDEP when they have MD
requests. This makes the prototype of cpu_ptrace() visible and
introduces a call to this function for all requests greater or
equal to PT_FIRSTMACH.

Silence on: audit
2003-08-15 05:25:06 +00:00
alc
5f9e1c9d2c Extend the scope of the page queues lock in vm_pageout_scan() to cover
the traversal of the PQ_INACTIVE queue.
2003-08-15 05:13:36 +00:00
grog
f7e1e299a6 vinum_scandisk:
Correctly handle additional disks without BIOS partition tables.
  Previously, vinum_scandisk stopped scanning additional disks for
  native partitions after any good partition was found.  This applies
  to all platforms, but was a particular problem on systems without
  BIOS partition tables.

Submitted by: harti
2003-08-15 04:36:53 +00:00
jmg
64bcd88750 if we got this far, we definately don't have an EBADF. Return a more
sane result of EPIPE.

Reported by:	nCircle dev team
MFC after:	3 day
2003-08-15 04:31:01 +00:00
grog
b65c4c7c91 Drop Giant when calling the disk drivers directly, and reacquire
afterwards.  This fixes the Vinum breakage in -CURRENT.

Breakage explained by: phk
2003-08-15 03:57:15 +00:00
cg
62de750667 modify comments 2003-08-15 02:31:13 +00:00
njl
d762c77b6d De-inline functions which do not need to be inline. Move the DEVMETHOD
block to where it is in similar drivers.
2003-08-15 02:18:15 +00:00
njl
7b44cdc074 Don't install a system notify handler. Move the device notify handler
installation to just before we're ready to handle events.  Make a loop
more readable (no functional change).
2003-08-15 02:17:23 +00:00
njl
a387b17a37 Fix a couple changes that were incorrect in updating for 0619. Only unlock
the hardware mutex if it is held.  Re-add calls to Enable/Clear fixed events.

This is not known to have caused problems.  Bug symptoms might have included
instability after an aborted suspend attempt or power/sleep buttons not
being enabled.
2003-08-15 02:10:38 +00:00
cg
056fde928b add a few missing bits for future use 2003-08-15 01:24:36 +00:00
cg
dad4c06c94 disable resume code implementing panic().
this needs to be reimplemented properly.
2003-08-14 22:09:10 +00:00
cg
d647a00dc3 add a read-only sysctl to display the number of entries in the fixed size
kobj global method table; also kassert that the table has not overflowed
when defining a new method.

there are indications that the table is being overflowed in certain
situations as we gain more kobj consumers- this will allow us to check
whether kobj is at fault.  symptoms would be incorrect methods being called.
2003-08-14 21:16:46 +00:00
rwatson
941eda46ed Add p_candebug() check to access a process map file in procfs; limit
access to map information for processes that you wouldn't otherwise
have debug rights on.

Tested by:	bms
2003-08-14 15:26:44 +00:00
imp
3a27620302 Add many new VIA C3 CPU types now that they appear to be available in
machines (at least in Japan).

Submitted by: Masahiko KIMOTO-san
PR: 55578
2003-08-14 15:17:49 +00:00
kan
d822b4a772 Add safe _FOREACH iterators to the rest of the queue.h types. 2003-08-14 14:49:26 +00:00
pb
65a97b4e8a Add support for the newer Moxa PCI 8-port, 16550-compatible based
CP-168U board. It initializes and attaches in the same way as the
older (but higher performance) C168H. The only difference is the
board ID, which is 0x1681.

PR:		kern/53548
Submitted by:	regnauld@catpipe.net
MFC after:	1 week
2003-08-14 14:15:16 +00:00
imp
1ecfde513f trivial optimization: use nameunit here. 2003-08-14 07:15:19 +00:00
imp
17788b6908 Add microsoft mn-520 wlan card.
Submitted by: Kirk Strauser
2003-08-14 06:30:06 +00:00
imp
d969d27534 resync to pcarddevs 1.63 2003-08-14 06:27:48 +00:00
imp
9f56546591 add microsoft mn-520 wlan card.
submitted by: Kirk Strauser
2003-08-14 06:26:58 +00:00
alc
4b0614b3d8 Eliminate pmap_page_lookup() and its uses. Instead, use PHYS_TO_VM_PAGE()
to convert the pte's physical address into a vm page.

Reviewed by:	peter
2003-08-14 05:18:38 +00:00
grehan
e6a3a6744e Update powerpc to use the (old thread,new thread) calling convention
for cpu_throw() and cpu_switch().
2003-08-14 03:56:24 +00:00
joe
52d14db571 Crank down UVISORBUFSIZE from 1024 to 64 to avoid a problem where
the Palm device and the USB host controller deadlock. The USB host
controller is expecting an early-end-of-transmission packet with 0
data, and the Palm doesn't send one because it's already communicated
the amount of data it's going to send in a header (which ucom/uvisor
are oblivious to). This is the problem that has been known on the
pilot-link lists as the "[Free]BSD USB problem", but not understood.

Submitted by:	Nathan J. Williams <nathanw@MIT.EDU>
2003-08-14 00:15:23 +00:00
wpaul
cbd02f7c9f Set the TX hardware checksum offload bits on all the descriptors of a
multi-fragment transmission. I'm not sure if this is a bug or a requirement
that I overlooked with going through the documentation, but the sample
8169 NIC that I have seems to require it at least some of the time or
else it botches TCP checksums on segments that span multiple descriptors.
2003-08-13 22:39:21 +00:00
sam
7945dbb7bd make sure the packets contains a complete inner header
for ip{4,6}-in-ip{4,6} encapsulation; fixes panic
for truncated ip-in-ip over ipsec

Submitted by:	Markus Friedl <markus@openbsd.org>
Obtained from:	OpenBSD (rev 1.66 ipsec_input.c)
2003-08-13 22:36:24 +00:00
sam
af81e4b88b Delay creating ic_bss until after the super-class has a chance
to override the method pointers for manipulating nodes; this fixes
a problem where the ic_bss node was not being created properly
for the ath driver causing the driver to scribble on random memory.

Noticed by:	David Young <dyoung@pobox.com>
2003-08-13 22:09:44 +00:00
sam
e588332388 Use IEEE80211_RATE_MAXSIZE instead of IEEE80211_RATE_SIZE to validate the
rate set element id from an AP.  This allows stations to associate with
AP's that violate the 802.11 spec by sending >8 rates.  This corrects a
recent regression; older code did likewise.
2003-08-13 21:49:35 +00:00
sam
238d3298f5 Close a race where ath_intr is installed and may be called before
the HAL is setup: use sc_invalid to discard such entries into
ath_intr.  This can easily happen if the device is assigned a shared IRQ.
2003-08-13 21:29:35 +00:00
sam
87156e6b9c o add missing {}'s that to safe_dmamap_uniform that caused extraneous copies
for partly-aligned operations through /dev/crypto (unlikely)
o add missing case in iov code that never showed up because of the above bug

Submitted by:	"Jason L. Wright" <jason@thought.net>
MFC after:	3 days
2003-08-13 20:42:53 +00:00
alc
7a81ace60d - The vm_object pointer in pipe_buffer is unused. Remove it.
- Check for successful initialization of pipe_zone in pipeinit()
   rather than every call to pipe(2).
2003-08-13 20:01:38 +00:00
alc
fc28f3bd58 Remove GIANT_REQUIRED from vmspace_alloc(). 2003-08-13 19:23:51 +00:00
bmilekic
3fe501b46e Add LIST_FOREACH_SAFE, which is like LIST_FOREACH but allows you
to walk the list and remove the current item and destroy/free it.

Alexander Kabaev will likely do the equivalent for the other list
types, but I just happened to have this one sitting in a local
non-FreeBSD tree already.
2003-08-13 18:37:25 +00:00
phk
b43271d3a4 Replace a panic with a .1Hz retry loop.
Not a perfect solution, but far cheaper than one.
2003-08-13 12:35:25 +00:00
harti
45f9ef9ca4 The syncache has made use of TCPDEBUG problematic, because the SYN
segments are lost for the application. This broke, for example,
ports/benchmarks/dbs which needs the SYN segment to filter the
contents of the trace buffer for the connection it is interested in.

This patch makes the SYN segments available again. Unfortunately they
are now associated with the listening socket instead of the new one, so
a change to applications is required, but without this patch it wouldn't
work altogether.

PR:		kern/45966
2003-08-13 10:20:57 +00:00
harti
dc2bd41739 The tcp_trace call needs the length of the header. Unfortunately the
code has rotten a bit so that the header length is not correct at
the point when tcp_trace is called. Temporarily compute the correct
value before the call and restore the old value after. This makes
ports/benchmarks/dbs to almost work.

This is a NOP unless you compile with TCPDEBUG.
2003-08-13 08:50:42 +00:00
harti
88c7bba592 A number of patches in the last years have created new return paths
in tcp_input that leave the function before hitting the tcp_trace
function call for the TCPDEBUG option. This has made TCPDEBUG mostly
useless (and tools like ports/benchmarks/dbs not working). Add
tcp_trace calls to the return paths that could be identified in this
maze.

This is a NOP unless you compile with TCPDEBUG.
2003-08-13 08:46:54 +00:00
phk
b35539c7d2 In case we encounter a zero sectorsize provider in g_io_check(), fail
the request with a printf rather than a divide by zero error.
2003-08-13 06:42:56 +00:00
marcel
ec1e7cccba Don't use VM_MIN_KERNEL_ADDRESS to check if the faulting address is
in user space or kernel space. VM_MIN_KERNEL_ADDRESS starts after the
gateway page, which means that improper memory accesses to the gateway
page while in user mode would panic the kernel. Use VM_MAX_ADDRESS
instead. It ends before the gateway page. The difference between
VM_MIN_KERNEL_ADDRESS and VM_MAX_ADDRESS is exactly the gateway page.
2003-08-13 03:20:10 +00:00
alc
23077fe3b5 Reduce the size of the vm map (and by inclusion the vm space) on 64-bit
architectures by moving a field within the structure.
2003-08-13 03:13:22 +00:00
marcel
ad2c7b6428 Put an instruction group break between the move to ar.rnat and the
move to ar.rsc. The RSE must be in enforced lazy mode when writing
to RSE modifyable registers. In this case we restore the RSE NaT
collection register ar.rnat. I have seen 2 general exception faults
on pluto1 now that indicate that the move to ar.rsc has already
happened prior to the move to ar.rnat, meaning that the RSE is not
in enforced lazy mode anymore. The ia64 dependency and instruction
ordering rules seem to allow having both registers written to in
the same instruction group, provided ar.rsc is written to later than
ar.rnat (based on the ordering semantics). It appears that we may
be pushing our luck. For now, put them in seperate cycles (by means
of the instruction group break). If we ever get a general exception
fault on the move to ar.rnat again, we have definite proof that
something else is fishy.
2003-08-13 02:49:50 +00:00
imp
3bc162cfa3 Expand inline the relevant parts of src/COPYRIGHT for Matt Dillon's
copyrighted files.

Approved by: Matt Dillon
2003-08-12 23:24:05 +00:00
ps
f207ea1ade Oops.. Some debugging code snuck in here.
Requeue the request if the controller is busy.
2003-08-12 22:33:49 +00:00
mux
43629d3ba9 Remove extra space. 2003-08-12 20:34:31 +00:00
jhb
510f319f5a Fixup comment. 2003-08-12 20:20:23 +00:00