Commit Graph

28097 Commits

Author SHA1 Message Date
Luigi Rizzo
cc33247e33 Fix a problem with unnumbered rules introduced in latest commit.
Reported by: des
2001-10-01 17:35:54 +00:00
Ruslan Ermilov
32eef9aeb1 mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
Søren Schmidt
7a845ac23c Change the way DAO/TAO mode is init'ed.
Fix a bogon introduced in the previous commit, that broke CDIOREADSUBCHANNEL.
2001-10-01 14:59:52 +00:00
Søren Schmidt
19a7ba3ed2 Add test_write element. 2001-10-01 14:56:56 +00:00
Kazutaka YOKOTA
b827a63aa6 Fix the function CD(): "Clear to the end of the screen".
- When the video BIOS is called to clear the region (x, y)-(79, 24)
  (by scrolling), the slashed region in Fig.1 is cleared.  CD() is
  supposed to clear the region shown in Fig.2.
        x                 x
    +-------+         +-------+
    |       |         |       |
   y|   ////|        y|   ////|
    |   ////|         |///////|
    |   ////|         |///////|
    +-------+         +-------+
      Fig.1             Fig.2

- Don't move the cursor during this operation.
2001-10-01 11:48:02 +00:00
Kazutaka YOKOTA
6c8e596705 This is white-space only change. No functional difference.
- Be consistent about placing spaces around keywords and
  operators; don't mix statements like "if(A==B)" and "if (X == Y)",
  "return(0)" and "return (-1)", "P=10" and "Q = 0", etc.

- Consitently indent lines. It's not good to indent by 8 columns
  in one part of the file, and by 4 columns in the other part.
2001-10-01 11:42:25 +00:00
Matthew Dillon
b5810bab2d After extensive testing it has been determined that adding complexity
to avoid removing higher level directory vnodes from the namecache has
no perceivable effect and will be removed.  This is especially true
when vmiodirenable is turned on, which it is by default now.  ( vmiodirenable
makes a huge difference in directory caching ).  The vfs.vmiodirenable and
vfs.nameileafonly sysctls have been left in to allow further testing, but
I expect to rip out vfs.nameileafonly soon too.

I have also determined through testing that the real problem with numvnodes
getting too large is due to the VM Page cache preventing the vnode from
being reclaimed.  The directory stuff made only a tiny dent relative
to Poul's original code, enough so that some tests succeeded.  But tests
with several million small files show that the bigger problem is the VM Page
cache.  This will have to be addressed by a future commit.

MFC after:	3 days
2001-10-01 04:33:35 +00:00
Dag-Erling Smørgrav
e4fea9d1dd Catch up with the visibility callback stuff, and give up trying to keep the
file definitions on single lines.
2001-10-01 04:31:05 +00:00
Dag-Erling Smørgrav
24efa9d3fa [the previous commit to pseudofs_vncache.c got the wrong log message]
YA pseudofs megacommit, part 2:

 - Merge the pfs_vnode and pfs_vdata structures, and make the vnode cache
   a doubly-linked list.  This eliminates the need to walk the list in
   pfs_vncache_free().

 - Add an exit callout which revokes vnodes associated with the process
   that just exited.  Since it needs to lock the cache when it does this,
   pfs_vncache_mutex needs MTX_RECURSE.
2001-10-01 04:26:33 +00:00
Dag-Erling Smørgrav
198bc14b1d YA pseudofs megacommit, part 1:
- Add a third callback to the pfs_node structure.  This one simply returns
   non-zero if the specified requesting process is allowed to access the
   specified node for the specified target process.  This is used in
   addition to the usual permission checks, e.g. when certain files don't
   make sense for certain (system) processes.

 - Make sure that pfs_lookup() and pfs_readdir() don't yap about files
   which aren't pfs_visible().  Also check pfs_visible() before performing
   reads and writes, to prevent the kind of races reported in SA-00:77 and
   SA-01:55 (fork a child, open /proc/child/ctl, have that child fork a
   setuid binary, and assume control of it).

 - Add some more trace points.
2001-10-01 04:22:20 +00:00
Matt Jacob
53036e9289 Begin to implement target mode that for Fibre Channel has a private
per-command component that we *don't* try and pass thru CAM. CAM just
is too risky and too much of a pain- structures get copied, but not
all info of interest can be considered safely transported thru all
consumers (including user space) from the incoming ATIO to the outgoing
CTIO- it's just much safer to have a buddy structure, identified by the
command's tag which *does* make it thru safely.

Pay attention to link speed and report 200MB/s xfer speed for a
23XX card in 2GPs mode.

MFC after:	1 week
2001-10-01 03:48:42 +00:00
Matt Jacob
c507669af4 Implement a call to get the actual link data rate (if 23XX) so we can
set whether it's a 2Gps or 1Gps link.

MFC after:	1 week
2001-10-01 03:45:54 +00:00
Jake Burkholder
5792b5403b Add identcpu.c. 2001-09-30 21:35:32 +00:00
Matthew Dillon
e2505aa676 Add __FBSDID's to libalias 2001-09-30 21:03:33 +00:00
Jake Burkholder
fc67f24833 Add contents to struct *reg. 2001-09-30 19:59:07 +00:00
Jake Burkholder
fa753b0bcb Optimize bcopy and bzero etc to use 64 bit loads and stores if possible.
Handle overlap in bcopy.
Add routines for copying and zeroing pages using physical addresses
directly.
Remove all the hacks to account for calling the firmware on its own
trap table, we use the kernel trap table.  There is still a problem
with OF_exit().
2001-09-30 19:50:39 +00:00
Jake Burkholder
c4bc2cc714 Use %ver to identify the cpu instead of openfirmware.
Submitted by:	robert
2001-09-30 19:45:34 +00:00
Jake Burkholder
92767809a8 Remove some debug code, add traces. 2001-09-30 19:44:19 +00:00
Jake Burkholder
6b75800a1e Return EIO for procfs_*_dbregs. 2001-09-30 19:43:18 +00:00
Dag-Erling Smørgrav
a73a153aff Specify readability and / or writeability for all nodes that need it. 2001-09-30 19:42:41 +00:00
Jake Burkholder
b34f88ee74 Add a place holder for PSTATE_SECURE, which detects if user code it
trying to set bad pstate bits.
2001-09-30 19:42:34 +00:00
Dag-Erling Smørgrav
7d8f809f00 pseudofs.h:
- Rearrange the flag constants a little to simplify specifying and testing
    for readability and writeability.

pseudofs_vnops.c:

  - Track the aforementioned change.

  - Add checks to pfs_open() to prevent opening read-only files for writing
    or vice versa (pfs_{read,write} would block the actual reads and writes,
    but it's still a bug to allow the open() to succeed).  Also, return
    EOPNOTSUPP if the caller attempts to lock the file.

  - Add more trace points.
2001-09-30 19:41:29 +00:00
Jake Burkholder
e5e8823f37 Split the low level trap code into trap, interrupt and syscall, its
easier and hopefully this code is done changing radically.

Don't use the mmu tlb register to address the kernel page table, nor
the 8k pointer register.  The hardware will do some of the page table
lookup by storing the the base address in an internal register and
calculating the address of the tte in the table.  However it is limited
to a 1 meg tsb, which only maps 512 megs.  The kernel page table only
has one level, so its easy to just do it by hand, which has the advantage
of supporting abitrary amounts of kvm and only costs a few more instructions.

Increase kvm to 1 gig now that its easy to do so and so we don't waste
most of a 4 meg page.

Fix some traces.  Fix more proc locking.

Call tsb_stte_promote if we get a soft fault on a mapping in the upper
levels of the tsb.  If there is an invalid or unreferenced mapping
in the primary tsb, it will be replaced.

Immediately fail for faults occuring in {f,s}uswintr.
2001-09-30 19:41:20 +00:00
Jake Burkholder
15b39a57a5 Implement sysarch(). 2001-09-30 19:06:45 +00:00
Jake Burkholder
c92d1bd289 Fix some traces. td->p_comm doesn't exist. 2001-09-30 19:05:30 +00:00
Jake Burkholder
956856ae06 Move the kernel to end of the first 4 gigabytes of address space, so that
one 4 meg page can map both the kernel and the openfirmware mappings.
Add the openfirmware mappings to the kernel tsb so we can call the firmware
on the kernel trap table and access kernel memory normally.
Implement pmap_swapout_proc, pmap_swapin_proc, pmap_swapout_thread,
pmap_swapin_thread, pmap_activate, pmap_page_exists, and pmap_phys_address.
2001-09-30 19:03:22 +00:00
Jake Burkholder
954f0d930e Add a macro to get the context from a tte tag, not necesarily a whole
tte.  Remove the old inline.
2001-09-30 18:55:05 +00:00
Jake Burkholder
ba0eb60597 Include <machine/setjmp.h> instead of <setjmp.h>. 2001-09-30 18:52:56 +00:00
Jake Burkholder
b71c31cefa Don't use types that require other headers. 2001-09-30 18:52:17 +00:00
Jake Burkholder
6df08a9593 Wrap hardware trap types in ifdef _kernel. 2001-09-30 18:51:18 +00:00
Jake Burkholder
18ef271232 Move the pcb the to the top of the kernel stack.
Add a guard page at the bottom of the kernel stack.  Its unclear how easy
it will be to detect these faults and do something useful.
Setup the registers on exec how the c runtime expects.
Implement various {fill,set}_*regs.
Fix proc locking.
2001-09-30 18:48:37 +00:00
Jake Burkholder
75c6786401 Don't overflow the ktr buffer <gulp>. 2001-09-30 18:42:56 +00:00
Jake Burkholder
c81f893d0c Implement PCPU_ADDR. Align functions on 16 bytes boundaries. 2001-09-30 18:41:57 +00:00
Jonathan Lemon
1a6fc8ef63 When FREE()ing kqueue related structures, charge them to the correct bucket.
Submitted by: iedowse
Forgotten by: jlemon
2001-09-30 17:00:56 +00:00
Wilko Bulte
031f57cf9c Add AlphaPC64 to comments. Correct names (ds10 -> DS10 etc) 2001-09-30 12:09:50 +00:00
Poul-Henning Kamp
40739c02ae The behaviour of whiteout'ing symlinks were too confusing, instead
remove them when asked to.
2001-09-30 08:43:33 +00:00
Ian Dowse
c5f4a9409b Add a change I forgot when adding ED_NO_MIIBUS. This will likely
be backed out with the rest of ED_NO_MIIBUS when the general miibus
code makes proper use of newbus.
2001-09-30 01:59:11 +00:00
Bosko Milekic
70a61707f6 Re-enable mbtypes statistics in the mbuf allocator. I disabled these
when I changed the allocator bits. This implements per-CPU mbtypes
stats by keeping net number of decrements/increments of a given mbtype
per-CPU and then summing all of the per-CPU mbtypes to produce the total
net number of allocated mbufs of the given mbtype.
Counters are carefully balanced to avoid/prevent underflows/overflows.

mbtypes stats are re-enabled with the idea that we may occasionally
(although very rarely) observe slight inconsistencies in the stat
reporting. Most of the time, we should be fine, though.

Also make appropriate modifications to netstat(1) and systat(1) to do
the necessary reporting.

Submitted by: Jiangyi Liu <jyliu@163.net>
2001-09-30 01:58:39 +00:00
Ian Dowse
9b04180c2c Add an option ED_NO_MIIBUS, which causes the `ed' driver to be
built without support for miibus PHYs. Most ed cards don't need
miibus support, so it's useful to be able to avoid the bloat of
all the mii devices for small fixed-purpose kernels.
2001-09-29 22:32:03 +00:00
Dag-Erling Smørgrav
2bb3ce0c47 Adapt to pseudofs version 2. Sorry about the breakage - I had this ready
to commit along with the pseudofs patches, but just plain forgot.
2001-09-29 22:07:13 +00:00
Matt Jacob
83548830a7 When calling isp_reset, set the request/response in/out pointers all at
once so there isn't a window with the ones for the 23XX cards being wrong.

When being verbose, print out some more FC NVRAM values (like framesize).

MFC after:	1 week
2001-09-29 19:37:49 +00:00
Jonathan Lemon
b256187110 Do not call mii_polltick() immediately after mii_tick().
Poiinted out by: wpaul
2001-09-29 19:31:29 +00:00
Jonathan Lemon
cd62a9cb38 Do not call mii_pollstat() from within device tick routines; the status
information is updated by mii_tick().

Pointed out by: wpaul (a while back)
2001-09-29 19:28:31 +00:00
Jonathan Lemon
d9730b8b53 Cleanup pass for mii drivers.
. Make internal service routines static.
   . Use a consistent ordering of checks in MII_TICK.  Do the work in the
     mii_phy_tick() subroutine if appropriate.
   . Call mii_phy_update() to trigger the callbacks.
2001-09-29 19:18:52 +00:00
Jonathan Lemon
105cb0c6a9 Change the order that we print the media options during device probe to
match the other mii drivers.
2001-09-29 18:59:17 +00:00
Jonathan Lemon
babc535e85 Add field for last active status, as well as function prototypes. 2001-09-29 18:48:52 +00:00
Jonathan Lemon
eb3a764866 Add new device method miibus_linkchg, along with a service routine. 2001-09-29 18:40:06 +00:00
Jonathan Lemon
9a2a57a1de Add ability to attach knotes to network devices.
Introduce EVFILT_NETDEV to report network device changes.
2001-09-29 18:32:35 +00:00
Jonathan Lemon
0217f5c71e Have EVFILT_TIMERS allocate their callouts via malloc() instead of using
the static callout list allocated by the system.

Change malloc type from M_TEMP to M_KQUEUE to better track memory.

Add a kern.kq_calloutmax to globally limit the amount of kernel memory
that can be allocated by callouts.

Submitted by: iedowse  (items 1, 2)
2001-09-29 17:48:39 +00:00
Jonathan Lemon
01a5f19070 Nuke unused (and incorrect) #define of INADDR_HMASK.
Spotted by: ru
2001-09-29 14:59:20 +00:00
George C A Reid
8c65132c76 Add another pnpid for the AWE64
PR:		30909
Submitted by:	Kinji Itoh <kinji-i@gray.plala.or.jp>
MFC after:	7 days
2001-09-29 12:38:58 +00:00
Doug Rabson
9d3b72ece5 Add various file relating to firmware interfaces and make SKI support
optional.
2001-09-29 11:46:22 +00:00
Doug Rabson
89dbc365be Support for SKI is now an option. 2001-09-29 11:45:33 +00:00
Doug Rabson
47d032e595 Make sio0 a console device. 2001-09-29 11:45:07 +00:00
Doug Rabson
f17bd83f5f Add a couple of arguments to ia64_init. I'll use them later to improve
the method of passing bootinfo from the loader.
2001-09-29 11:44:35 +00:00
Doug Rabson
cf1a145b08 Various changes to use the firmware on a real machine. 2001-09-29 11:43:37 +00:00
Doug Rabson
940bcd77bd * Read parameters for ptc.e instruction from PAL Code.
* Add pmap_unmapdev().
2001-09-29 11:41:23 +00:00
Doug Rabson
3ebae4bf00 Fake PAL Code for SKI. 2001-09-29 11:40:32 +00:00
Doug Rabson
625768e4a0 Start hooking up devices. 2001-09-29 11:11:18 +00:00
Doug Rabson
9a6f25fd59 Add pmap_unmapdev(). 2001-09-29 11:02:06 +00:00
Doug Rabson
ddead4655a Fill out the firmware interfaces somewhat. 2001-09-29 11:01:24 +00:00
Doug Rabson
63e057656e Add code to initialise firmware resources (and to fake them if we are
running in simulation).
2001-09-29 11:00:24 +00:00
Doug Rabson
965c805d64 Add shims for calling PAL Code in physical mode. 2001-09-29 10:59:07 +00:00
Doug Rabson
a3c9f0dc11 Add some move definitions. 2001-09-29 10:24:09 +00:00
Doug Rabson
ee82e0d5f8 Call cpu_boot from cpu_reset. 2001-09-29 10:23:21 +00:00
Doug Rabson
f184b2654b Give up on the backtrace if the calculated pc isn't in region 7. 2001-09-29 10:22:57 +00:00
Doug Rabson
3cf08d5025 Use PAGE_SHIFT instead of a hardcoded constant for log2(PAGE_SIZE). 2001-09-29 09:55:30 +00:00
Doug Rabson
27272270e8 * Preserve ar.rsc in ia64_change_mode.
* Convert sp to/from physical in ia64_change_mode.
* Add a shim for calling EFI procedures in virtual mode.
2001-09-29 09:54:42 +00:00
Doug Rabson
0e671be22e Change END(locorestart) to END(__start). 2001-09-29 09:53:38 +00:00
Cameron Grant
11149a9ac8 release isa dma channels on unload. 2001-09-29 08:01:42 +00:00
Cameron Grant
374e1c5baa allow the hardware buffer size to be controlled with hints
release isa dma channels on unload (ad1816, ess, sb8)
2001-09-29 07:57:07 +00:00
Jonathan Lemon
a931d7ed29 Make the INADDR_TO_IFP macro use the IP address hash lookup instead of
walking the entire list of IP addresses.

Pointed out by: bfumerola
2001-09-29 06:16:02 +00:00
Jonathan Lemon
f13ad20660 Introduce network device nodes. Network devices will now automatically
appear in /dev.  Interface hardware ioctls (not protocol or routing) can
be performed on the descriptor.  The SIOCGIFCONF ioctl may be performed
on the special /dev/network node.
2001-09-29 05:55:04 +00:00
Jonathan Lemon
a35b06c555 Change sysctl_iflist() so it has a single point of return. This will
assist any future locking efforts.
2001-09-29 05:08:04 +00:00
Jonathan Lemon
cf912c8943 Use in_ifaddrhashtbl instead of in_ifaddrhead to look up IP address. 2001-09-29 05:02:36 +00:00
Jonathan Lemon
750c427849 Add support for 28800 baud to sio.
PR: 30906
Submitted by: "Daniel O'Connor" <darius@chowder.dons.net.au>
2001-09-29 04:49:11 +00:00
Jonathan Lemon
ca925d9c17 Add a hash table that contains the list of internet addresses, and use
this in place of the in_ifaddr list when appropriate.  This improves
performance on hosts which have a large number of IP aliases.
2001-09-29 04:34:11 +00:00
Jonathan Lemon
9a10980e2a Centralize satosin(), sintosa() and ifatoia() macros in <netinet/in.h>
Remove local definitions.
2001-09-29 03:23:44 +00:00
Dag-Erling Smørgrav
80a3cef87d Pseudofs take 2:
- Remove hardcoded uid, gid, mode from struct pfs_node; make pfs_getattr()
   smart enough to get it right most of the time, and allow for callbacks
   to handle the remaining cases.  Rework the definition macros to match.

 - Add lots of (conditional) debugging output.

 - Fix a long-standing bug inherited from procfs: don't pretend to be a
   read-only file system.  Instead, return EOPNOTSUPP for operations we
   truly can't support and allow others to fail silently.  In particular,
   pfs_lookup() now treats CREATE as LOOKUP.  This may need more work.

 - In pfs_lookup(), if the parent node is process-dependent, check that
   the process in question still exists.

 - Implement pfs_open() - its only current function is to check that the
   process opening the file can see the process it belongs to.

 - Finish adding support for writeable nodes.

 - Bump module version number.

 - Introduce lots of new bugs.
2001-09-29 00:49:29 +00:00
Dag-Erling Smørgrav
5b6db47748 Add a couple of API functions I need for my pseudofs WIP. Documentation
will follow when I've decided whether to keep this API or ditch it in
favor of something slightly more subtle.
2001-09-29 00:32:46 +00:00
Bill Paul
0189c944e2 Set the 'no pseudo header checksum' option for RX checksums, otherwise
we may botch UDP checksums on receive, which will break NFS.
2001-09-28 18:56:57 +00:00
Dag-Erling Smørgrav
b4056ade84 The previous commit introduced some references to "curproc" which should have
been references to "curthread".  Correct this.
2001-09-28 12:36:54 +00:00
Peter Wemm
b9b0e19206 Unwind some more macros. NFSMADV() was kinda silly since it was right
next to equivalent m_len adjustments.  Move the nfsm_subs.h macros
into groups depending on which phase they are used in, since that
affects the error recovery requirements.  Collect some of the common error
checking into a single macro as preparation for unwinding some more.
Have nfs_rephead return a value instead of secretly modifying args.
Remove some unused function arguments that were being passed around.
Clarify nfsm_reply()'s error handling (I hope).
2001-09-28 04:37:08 +00:00
Peter Wemm
ac25bcab72 Oops. I forgot to cvs rm this before. There is a common nfsproto.h.
This was a repo copy leftover.
2001-09-28 04:31:23 +00:00
Marcel Moolenaar
9b130a99cf Remove linux_getpgid(). We map the syscall natively now.
PR: kern/21402
2001-09-28 01:40:51 +00:00
Marcel Moolenaar
08107ee9e6 o Remove the linux_setpgid() stub.
o  Stop using linux_getpgid(); use getpgid() instead.

PR: kern/21402
2001-09-28 01:39:19 +00:00
Marcel Moolenaar
e4383d97be Stop using linux_getpgid(). The implementation at this time is
broken and fixing it only creates a duplicate of what is already
in the FreeBSD kernel. Therefore, map the syscall directly to
getpgid().

PR: kern/21402
Submitted by: Christian Weisgerber <naddy@mips.inka.de>

While here, redefine the second entry for setpgid() so that we
don't need a stub. This is achieved by giving the second instance
the type NODEF.
2001-09-28 01:36:45 +00:00
Marcel Moolenaar
745190dc80 Regen: Stop using linux_getpgid(). Use the native getpgid()
instead.

PR: kern/21402
2001-09-28 01:32:27 +00:00
Marcel Moolenaar
52e9761e22 Stop using linux_getpgid(). The implementation at this time is
broken and fixing it only creates a duplicate of what is already
in the FreeBSD kernel. Therefore, map the syscall directly to
getpgid().

PR: kern/21402
Submitted by: Christian Weisgerber <naddy@mips.inka.de>
2001-09-28 01:30:59 +00:00
Marcel Moolenaar
4166877345 Make the NODEF type usable. A syscall of type NODEF will only
have its entry in the syscall table added. Nothing else is
done. This differs from type NOPROTO in that NOPROTO adds a
definition to syscall.h besides adding a sysent. A syscall can
now have multiple entries without conflict. Note that the
argssize is fixed and depends on the syscall name.
2001-09-28 01:21:57 +00:00
Marcel Moolenaar
ac23cf236b Swap the src and dst arguments of the bcopy added in the
previous commit. It ain't memcpy... *cough*
2001-09-28 01:15:30 +00:00
Luigi Rizzo
be8e1fea0e namei.h: move "struct componentname" definition outside "struct nameidata",
and provide a valid STDC/C++ definition for function NDINIT

queue.h libkern.h: put explicit casts from void * in insque, remque and memset

(for the records, these changes are necessary to let the files
compile with g++, which is used to build a FreeBSD module
for "Click" -- see www.pdos.lcs.mit.edu/click/ .
Given that they have zero impact on our code, it is worthwhile
to have them in.

MFC after: 3 days
2001-09-28 00:05:11 +00:00
Brooks Davis
7360079ab3 Remove a couple unintentional mentions of Ethernet that crept in from
ng_ether.c.
2001-09-28 00:02:50 +00:00
Bill Paul
95d674824f Add device driver support for the Broadcom BCM570x family of gigabit
ethernet controllers. This adds support for the 3Com 3c996-T, the
SysKonnect SK-9D21 and SK-9D41, and the built-in gigE NICs on
Dell PowerEdge 2550 servers. The latter configuration hauls ass:
preliminary measurements show TCP speeds of over 900Mbps using
only normal size frames.

TCP/IP checksum offload, jumbo frames and VLAN tag insertion/stripping
are supported, as well as interrupt moderation.

Still need to fix autonegotiation support for 1000baseSX NICs, but
beyond that, driver is pretty solid.
2001-09-27 23:55:28 +00:00
Luigi Rizzo
830cc17841 Two main changes here:
+ implement "limit" rules, which permit to limit the number of sessions
   between certain host pairs (according to masks). These are a special
   type of stateful rules, which might be of interest in some cases.
   See the ipfw manpage for details.

 + merge the list pointers and ipfw rule descriptors in the kernel, so
   the code is smaller, faster and more readable. This patch basically
   consists in replacing "foo->rule->bar" with "rule->bar" all over
   the place.
   I have been willing to do this for ages!

MFC after: 1 week
2001-09-27 23:44:27 +00:00
Peter Wemm
1290984b33 Make nfsm_dissect() have an obvious return value. 2001-09-27 22:40:38 +00:00
Brooks Davis
373791582d Add the new ng_gif, ng_gif_demux, and ng_ip_input nodes to NOTES so they
get compiled with LINT.
2001-09-27 22:11:37 +00:00
Brooks Davis
c2eed10556 Add ng_ip_input. A new netgraph node for queuing IP packets into the
main IP input processing code.
2001-09-27 21:54:27 +00:00
John Baldwin
eb46fac565 - Fix some minor whitespace nits.
- Move the SPECIAL_FLAG #define up next to the NOHOLDER #define and fix a
  little nit that caused it to be defined as -(sizeof (struct thread) + 1)
  instead of -2.
2001-09-27 21:04:13 +00:00
John Baldwin
254e2611cf Restore this file to style(9). Mostly consists of whitespace fixes in the
structure definitions.  There were some older whitespace bogons as well.
2001-09-27 20:39:52 +00:00
John Baldwin
12141bb1c8 Fix a whitespace style nit. 2001-09-27 20:33:15 +00:00
John Baldwin
bf2965ed32 Disable the check in icu_setup() to see if a handler was already used as
the current interrupt thread routines will guarantee the condition this is
checking for at a higher level but inthand_add() and inthand_remove() as
they currently exist don't satisfy this condition.  (Which does need to be
fixed but which will take a bit more work.)  This fixes shared interrupts.
2001-09-27 19:03:52 +00:00
Bill Paul
245dd946e3 Fix typo: BGGPHY -> BRGPHY in one of the #defines I added the other day. 2001-09-27 17:32:49 +00:00
Jonathan Lemon
3a163803b7 Gate low level console output on mtx_lock_spin(&sio_lock), if the
sio_lock has been initialized.  This prevents the low level console
output (kernel printf) from clobbering the sio settings if the system
happens to be in the middle of comstart().
2001-09-27 17:00:25 +00:00
Luigi Rizzo
88f6feee74 Fix typo in a comment.
MFC-after: 3 days
2001-09-27 12:01:57 +00:00
Luigi Rizzo
832d32eb5b Remove unused (and duplicate) struct ip_opts which is never used,
not referenced in Stevens, and does not compile with g++.
There is an equivalent structure, struct ipoption in ip_var.h
which is actually used in various parts of the kernel, and also referenced
in Stevens.

Bill Fenner also says:
... if you want the trivia, struct ip_opts was introduced
in in.h SCCS revision 7.9, on 6/28/1990, by Mike Karels.
struct ipoption was introduced in ip_var.h SCCS revision 6.5,
on 9/16/1985, by... Mike Karels.

MFC-after: 3 days
2001-09-27 11:53:22 +00:00
Murray Stokely
fd197202f9 Update a comment to reflect the param.c -> subr_param.c move.
PR:		kern/30766
Submitted by:	Kevin Way <kevin.way@overtone.org>
2001-09-27 09:58:30 +00:00
Alfred Perlstein
e93d0738f5 This driver can talk to the Rio600 as well, make it happen.
Hardware (and patience) provided by: Andrew J Caines <A.J.Caines@halplant.com>
2001-09-27 06:01:20 +00:00
Jonathan Lemon
fe16674a74 Return EINVAL if the passed intr is out of bounds.
PR: 30857
Submitted by: David Xu <davidx@viasoft.com.cn>
MFC: 1 week
2001-09-27 02:46:47 +00:00
Peter Wemm
ea7fe289fe Tidy up nfsm_build usage. This is only partially finished. 2001-09-27 02:33:36 +00:00
Brooks Davis
cf776d8152 The initial commit contained an error in the license, this is the
correct one.
2001-09-27 00:04:29 +00:00
Peter Wemm
c7f9a7e8ae Oops, forgot to rm this last time. 2001-09-26 23:57:25 +00:00
Brooks Davis
94408d94c3 /home/brooks/ng_gif.message 2001-09-26 23:50:17 +00:00
Brooks Davis
20af0ffaa1 Use LIST_ macros instead of TAILQ_ macros to be more like NetBSD.
Obtained from:	NetBSD
2001-09-26 23:37:15 +00:00
Brooks Davis
efacde1bcc The number of ccd(4) devices is no longer set at compile time so stop
trying to do it in the examples and config files.
2001-09-26 22:41:02 +00:00
Brooks Davis
2862fc7a49 Call securelevel_gt with a credential. Also, s/p/td->td_proc/.
Submitted by:	LINT
2001-09-26 22:02:01 +00:00
Brooks Davis
49c024e373 Include sys/proc.h for the definition of securelevel_ge().
Submitted by:	LINT
2001-09-26 21:53:20 +00:00
Robert Watson
57358f1e93 o Re-enable support of system file flags in jail() by adding back the
PRISON_ROOT to the suser_xxx() check.  Since securelevels may now
  be raised in specific jails, use of system flags can still be
  restricted in jail(), but in a more configurable way.
o Users of jail() expecting system flags (such as schg) to restrict
  jail()'s should be sure to set the securelevel appropriately in
  jail()'s.
o This fixes activities involving automated system flag removal in
  jail(), including installkernel and friends.

Obtained from:	TrustedBSD Project
2001-09-26 20:44:41 +00:00
Robert Watson
87fce2bb96 o When performing a securelevel check as part of securelevel_ge() or
securelevel_gt(), determine first if a local securelevel exists --
  if so, perform the check based on imax(local, global).  Otherwise,
  simply use the global value.
o Note: even though local securelevels might lag below the global one,
  if the global value is updated to higher than local values, maximum
  will still be used, making the global dominant even if there is local
  lag.

Obtained from:	TrustedBSD Project
2001-09-26 20:41:48 +00:00
Robert Watson
8a528812a0 o Modify kern.securelevel MIB entry to return a local securelevel, if
one is present in the current jail, otherwise, to return the global
  securelevel.
o If the securelevel is being updated, require that it be greater than
  the maximum of local and global, if a local securelevel exists,
  otherwise, just maximum of the global.  If there is a local
  securelevel, update the local one instead of the global one.
o Note: this does allow local securelevels to lag behind the global one
  as long as the local one is not updated following a global increase.

Obtained from:	TrustedBSD Project
2001-09-26 20:39:48 +00:00
Robert Watson
567931c8f6 o Initialize per-jail securelevel from global securelevel as part of
jail creation.

Obtained from:	TrustedBSD Project
2001-09-26 20:37:15 +00:00
Robert Watson
bda63e26d8 o Introduce pr_securelevel, which holds a per-jail securelevel.
Obtained from:	TrustedBSD Project
2001-09-26 20:36:08 +00:00
Robert Watson
6748bcc51e o Modify ufs_setattr() so that it uses securelevel_gt() instead of
direct variable access.

Obtained from:	TrustedBSD Project
2001-09-26 20:31:37 +00:00
Robert Watson
8c5d4fe829 o Modify access control checks in mmap() to use securelevel_gt() instead
of direct variable access.

Obtained from:	TrustedBSD Project
2001-09-26 20:29:39 +00:00
Robert Watson
3026f29e34 o securelevel_gt() patches came from pre-KSE alpha -- this revision
fixes the compile and uses td->td_proc instead of p.

Obtained from:	TrustedBSD Project
2001-09-26 20:27:23 +00:00
Robert Watson
e8a340cd9a o Modify pc98 syscons code to use securelevel_gt() instead of
direct variable checks.  (Yet another API to perform direct hardware I/O).

Obtained from:	TrustedBSD Project
2001-09-26 20:26:32 +00:00
Robert Watson
b9c6f21493 o Modify the access control checks for the ia64 /dev/mem (and friends)
to use securelevel_gt() instead of direct variable checks.

Obtained from:	TrustedBSD Project
2001-09-26 20:24:23 +00:00
Robert Watson
41c42188c8 o Modify access control checks in linux_iopl() to use securelevel_gt()
rather than direct variable checks.  (Yet another API to perform
  direct hardware I/O.)

Obtained from:	TrustedBSD Project
2001-09-26 20:22:38 +00:00
Robert Watson
ce3a32b6da o Modify pcvt ioctl() security checks to use securelevel_gt() instead
of direct securelevel variable checks.  (Yet another API to perform
  direct hardware I/O using KDENABIO.)

Obtained from:	TrustedBSD Project
2001-09-26 20:21:28 +00:00
Robert Watson
9997f52470 o Modify spigot_open() to use securelevel_gt() instead of direct
securelevel variable checks.

Obtained from:	TrustedBSD Project
2001-09-26 20:20:05 +00:00
Robert Watson
f86cf763ef o Modify generic specfs device open access control checks to use
securelevel_ge() instead of direct securelevel variable checks.

Obtained from:	TrustedBSD Project
2001-09-26 20:18:26 +00:00
Robert Watson
8c7cc7234e o Modify syscons ioctl securelevel checks to use securelevel_gt() (oh look,
yet another API to do direct hardware I/O access.)

Obtained from:	TrustedBSD Project
2001-09-26 20:17:15 +00:00
Robert Watson
19f1565901 o Modify open() and close() for /dev/random to use securelevel_gt() instead
of direct securelevel variable checks.

Obtained from:	TrustedBSD Project
2001-09-26 20:15:42 +00:00
Robert Watson
8002488bd9 o Modify access control code for /dev/pci device to use securelevel_gt()
instead of direct securelevel variable test.

Obtained from:	TrustedBSD Project
2001-09-26 20:14:03 +00:00
Robert Watson
f7312ca2a9 o Modify access control code for the CAM SCSI pass-through device to
use securelevel_gt() instead of direct securelevel variable test.

Obtained from:	TrustedBSD Project
2001-09-26 20:13:16 +00:00
Robert Watson
330e78897a o Modify i386_set_ioperm() to use securelevel_gt() instead of
direct securelevel variable checks.

Obtained from:	TrustedBSD Project
2001-09-26 20:08:15 +00:00
Robert Watson
1851c8fd41 o Modify device open access control for /dev/mem and friends to use
securelevel_gt() instead of direct securelevel variable checks.

Obtained from:	TrustedBSD Project
2001-09-26 20:08:02 +00:00
Robert Watson
785f9ffca3 o Modify IPFW and DUMMYNET administrative setsockopt() calls to use
securelevel_gt() to check the securelevel, rather than direct access
  to the securelevel variable.

Obtained from:	TrustedBSD Project
2001-09-26 19:58:29 +00:00
Robert Watson
d501d04b9e o Modify static settime() to accept the proc * for the process requesting
a time change, and callers so that they provide td->td_proc.
o Modify settime() to use securevel_gt() for securelevel checking.

Obtained from:	TrustedBSD Project
2001-09-26 19:53:57 +00:00
Robert Watson
c2f413af19 o Modify sysctl access control check to use securelevel_gt(), and
clarify sysctl access control logic.

Obtained from:	TrustedBSD Project
2001-09-26 19:51:25 +00:00
Matthew Dillon
46cad5761c Enable vmiodirenable by default. Remove incorrect comment from sysctl.conf.
MFC after:	1 week
2001-09-26 19:35:04 +00:00
Doug Rabson
fa129a40db Tidy up and fix a runtime warning. 2001-09-26 16:15:20 +00:00
Matthew Dillon
3418ebebfe Make uio_yield() a global. Call uio_yield() between chunks
in vn_rdwr_inchunks(), allowing other processes to gain an exclusive
lock on the vnode.  Specifically: directory scanning, to avoid a race to the
root directory, and multiple child processes coring simultaniously so they
can figure out that some other core'ing child has an exclusive adv lock and
just exit instead.

This completely fixes performance problems when large programs core.  You
can have hundreds of copies (forked children) of the same binary core all
at once and not notice.

MFC after:	3 days
2001-09-26 06:54:32 +00:00
Marcel Moolenaar
b18013f823 The arg parameter is passed by value in Linux, but not in FreeBSD.
We still have to account for a copyin. Make sure the copyin will
succeed by passing the FreeBSD syscall a pointer to userspace,
albeit one that's automagically mapped into kernel space.

Reported by: mr, Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>
Tested by: Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>
2001-09-26 05:39:59 +00:00
Paul Saab
88b1d98f31 Lock the vnode while truncating the corefile. This fixes a panic
with softupdates dangling deps.

Submitted by:	peter
MFC:		ASAP :)
2001-09-26 01:24:07 +00:00
Brooks Davis
9efaa0ae62 Add a standard hack in the spirit of PCI_ENABLE_IO_MODES to allow systems
with weird PCI-PCI bridge configurations to work.  Defining
PCI_ALLOW_UNSUPPORTED_IO_RANGE causes the sanity checks to pass even
with out of range values.

Reviewed by:	msmith
2001-09-26 01:11:33 +00:00
Bill Fenner
bd5b9e17b0 Fix (typo? pasteo?): panic("ffs_mountroot..." -> panic("ntfs_mountroot...") 2001-09-26 00:36:33 +00:00
Peter Wemm
4d7552180d Make this 'make obj' safe 2001-09-26 00:13:08 +00:00
John Baldwin
21377ce065 Remove superflous parens after de-macroizing. 2001-09-26 00:05:18 +00:00
John Baldwin
6b12d30f28 Include sys/ktr.h before sys/_lock.h to ensure LOCK_DEBUG is set to its
proper value.
2001-09-25 23:52:30 +00:00