Commit Graph

1153 Commits

Author SHA1 Message Date
Marcel Moolenaar
2a9fc22645 This commit was generated by cvs2svn to compensate for changes in r115013,
which included commits to RCS files with non-trunk default branches.
2003-05-15 05:04:44 +00:00
Warner Losh
0f78c17f6f Fix halt -p. I've done this with an import because kochi-san reports
this is fixed in a newer version of ACPICA and I don't want to take
this off the vendor branch for a trivial reason.  This patch was
applied to NetBSD by kochi-san, who also posted the patch to
acpi-jp@jp.freebsd.org.

# My Dell Inspiron 8000 now powers off!

Submitted by: takayoshi kochi-san kochi at netbsd dot org
2003-05-03 17:16:40 +00:00
Warner Losh
d2d8d8cf9d This commit was generated by cvs2svn to compensate for changes in r114584,
which included commits to RCS files with non-trunk default branches.
2003-05-03 17:16:40 +00:00
John Baldwin
e0f7366574 Restore local changes accidentally lost in the last import.
Reviewed by:	njl
2003-05-01 20:40:03 +00:00
Nate Lawson
adfda8d3b3 Resolve conflicts. 2003-04-29 19:11:00 +00:00
Nate Lawson
f6c1dddac5 Updated import-preparation script. It now removes vendor paths from header
info.  With these changes, no manual prep of the dist was necessary.
2003-04-29 18:48:17 +00:00
Nate Lawson
b1684d35da Resolve conflicts 2003-04-29 18:46:31 +00:00
Nate Lawson
d0a7944aac Import of Intel ACPI 20030228 vendor distribution 2003-04-29 18:39:30 +00:00
Nate Lawson
94c7fa9ffd This commit was generated by cvs2svn to compensate for changes in r114239,
which included commits to RCS files with non-trunk default branches.
2003-04-29 18:39:30 +00:00
Nate Lawson
17b7010ddc Import of Intel ACPI 20030228 vendor distribution 2003-04-29 18:39:29 +00:00
Nate Lawson
77c1b96631 This commit was generated by cvs2svn to compensate for changes in r114237,
which included commits to RCS files with non-trunk default branches.
2003-04-29 18:39:29 +00:00
David E. O'Brien
152385d122 Explicitly declare 'int' parameters. 2003-04-21 16:27:46 +00:00
Poul-Henning Kamp
891619a66d Use bioq_flush() to drain a bio queue with a specific error code.
Retain the mistake of not updating the devstat API for now.

Spell bioq_disksort() consistently with the remaining bioq_*().

#include <geom/geom_disk.h> where this is more appropriate.
2003-04-01 15:06:26 +00:00
Poul-Henning Kamp
b4b138c27f Including <sys/stdint.h> is (almost?) universally only to be able to use
%j in printfs, so put a newsted include in <sys/systm.h> where the printf
prototype lives and save everybody else the trouble.
2003-03-18 08:45:25 +00:00
Matthew N. Dodd
2d6bcb381e Catch up with recent infrastructure changes. 2003-03-16 00:24:18 +00:00
Matthew N. Dodd
669404e48e Register module dependencies. 2003-03-15 23:26:41 +00:00
Matthew N. Dodd
c8fa3105ce G/C unused varilable. 2003-03-15 23:21:32 +00:00
Matthew N. Dodd
326231bc52 Catch up with recent changes. 2003-03-15 23:20:10 +00:00
Poul-Henning Kamp
60794e0478 Centralize the devstat handling for all GEOM disk device drivers
in geom_disk.c.

As a side effect this makes a lot of #include <sys/devicestat.h>
lines not needed and some biofinish() calls can be reduced to
biodone() again.
2003-03-08 08:01:31 +00:00
Jonathan Lemon
1cafed3941 Update netisr handling; Each SWI now registers its queue, and all queue
drain routines are done by swi_net, which allows for better queue control
at some future point.  Packets may also be directly dispatched to a netisr
instead of queued, this may be of interest at some installations, but
currently defaults to off.

Reviewed by: hsu, silby, jayanth, sam
Sponsored by: DARPA, NAI Labs
2003-03-04 23:19:55 +00:00
Poul-Henning Kamp
7ac40f5f59 Gigacommit to improve device-driver source compatibility between
branches:

Initialize struct cdevsw using C99 sparse initializtion and remove
all initializations to default values.

This patch is automatically generated and has been tested by compiling
LINT with all the fields in struct cdevsw in reverse order on alpha,
sparc64 and i386.

Approved by:    re(scottl)
2003-03-03 12:15:54 +00:00
Poul-Henning Kamp
d0083ea9ce NO_GEOM cleanup:
Move to "struct disk *" centric use of disk_* API.

Remove NOOP ioctl, spl*() and some debug printfs.
2003-02-22 09:32:57 +00:00
Warner Losh
a163d034fa Back out M_* changes, per decision of the TRB.
Approved by: trb
2003-02-19 05:47:46 +00:00
Darren Reed
7ae7a6c4f7 fix bug in updating of interface pointers when resyncing state 2003-02-15 06:47:27 +00:00
Darren Reed
aeb497128e Commit import changed from vendor branch of ipfilter to -current head 2003-02-15 06:25:25 +00:00
Darren Reed
32c7da78f7 Commit import changed from vendor branch of ipfilter to -current head 2003-02-15 06:23:45 +00:00
Darren Reed
d2c988ba46 sometimes i hate it when you leave temp files in a directory you import from 2003-02-15 06:21:14 +00:00
Darren Reed
46e22717ef Import IPFilter 3.4.31 into -current 2003-02-15 06:18:25 +00:00
Darren Reed
8732fffb9b This commit was generated by cvs2svn to compensate for changes in r110911,
which included commits to RCS files with non-trunk default branches.
2003-02-15 06:18:25 +00:00
Poul-Henning Kamp
eb3543e4cc Mark our struct disk with DISKFLAG_CANDELETE instead of the cdevsw with
D_CANFREE.
2003-02-11 12:35:01 +00:00
Alfred Perlstein
8deebb0160 Consolidate MIN/MAX macros into one place (param.h).
Submitted by: Hiten Pandya <hiten@unixdaemons.com>
2003-02-02 13:17:30 +00:00
Alfred Perlstein
44956c9863 Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
2003-01-21 08:56:16 +00:00
Jeffrey Hsu
b30a244c34 SMP locking for ifnet list. 2002-12-22 05:35:03 +00:00
Mitsuru IWASAKI
21b5fd3cfd Resolve conflicts arising from the ACPI CA 20021118 import. 2002-11-27 18:09:20 +00:00
Mitsuru IWASAKI
716b1ee2b9 Vendor import of the Intel ACPI CA 20021118 drop.
Approved by:	re
2002-11-27 18:07:48 +00:00
Mitsuru IWASAKI
360aac4e22 This commit was generated by cvs2svn to compensate for changes in r107325,
which included commits to RCS files with non-trunk default branches.
2002-11-27 18:07:48 +00:00
Sam Leffler
6fc32a2495 network interface and link layer changes:
o on input don't strip the Ethernet header from packets
o input packet handling is now done with if_input
o track changes to ether_ifattach/ether_ifdetach API
o track changes to bpf tapping
o call ether_ioctl for default handling of ioctl's
o use constants from net/ethernet.h where possible

Reviewed by:	many
Approved by:	re
2002-11-15 00:00:15 +00:00
Sam Leffler
5d84645305 Replace aux mbufs with packet tags:
o instead of a list of mbufs use a list of m_tag structures a la openbsd
o for netgraph et. al. extend the stock openbsd m_tag to include a 32-bit
  ABI/module number cookie
o for openbsd compatibility define a well-known cookie MTAG_ABI_COMPAT and
  use this in defining openbsd-compatible m_tag_find and m_tag_get routines
o rewrite KAME use of aux mbufs in terms of packet tags
o eliminate the most heavily used aux mbufs by adding an additional struct
  inpcb parameter to ip_output and ip6_output to allow the IPsec code to
  locate the security policy to apply to outbound packets
o bump __FreeBSD_version so code can be conditionalized
o fixup ipfilter's call to ip_output based on __FreeBSD_version

Reviewed by:	julian, luigi (silent), -arch, -net, darren
Approved by:	julian, silence from everyone else
Obtained from:	openbsd (mostly)
MFC after:	1 month
2002-10-16 01:54:46 +00:00
Mitsuru IWASAKI
17341d1011 Resolve conflicts arising from the ACPI CA 20021002 import. 2002-10-04 20:09:19 +00:00
Mitsuru IWASAKI
07a5b5c0b6 Vendor import of the Intel ACPI CA 20021002 drop. 2002-10-04 20:07:58 +00:00
Mitsuru IWASAKI
2bff3f6b33 This commit was generated by cvs2svn to compensate for changes in r104470,
which included commits to RCS files with non-trunk default branches.
2002-10-04 20:07:58 +00:00
Poul-Henning Kamp
7812d86f03 (This commit touches about 15 disk device drivers in a very consistent
and predictable way, and I apologize if I have gotten it wrong anywhere,
getting prior review on a patch like this is not feasible, considering
the number of people involved and hardware availability etc.)

If struct disklabel is the messenger: kill the messenger.

Inside struct disk we had a struct disklabel which disk drivers used to
communicate certain metrics to the disklayer above (GEOM or the disk
mini-layer).  This commit changes this communication to use four
explicit fields instead.

Amongst the benefits is that the fields do not get overwritten by
wrong or bogus on-disk disklabels.

Once that is clear, <sys/disk.h> which is included in the drivers
no longer need to pull <sys/disklabel.h> and <sys/diskslice.h> in,
the few places that needs them, have gotten explicit #includes for
them.

The disklabel inside struct disk is now only for internal use in
the disk mini-layer, so instead of embedding it, we malloc it as
we need it.

This concludes (modulus any mistakes) the series of disklabel related
commits.

I belive it all amounts to a NOP for all the rest of you :-)

Sponsored by:   DARPA & NAI Labs.
2002-09-20 19:36:05 +00:00
Poul-Henning Kamp
78bc4b68cc Don't call dkunit() to find our unit number, it is in our softc.
Sponsored by:	DARPA & NAI Labs.
2002-09-20 16:26:12 +00:00
Mitsuru IWASAKI
c4d2c0a1de Fix kernel build breakage when ACPI_DEBUG option is specified. 2002-08-29 08:31:06 +00:00
Mitsuru IWASAKI
d62ab2f4a1 Resolve conflicts arising from the ACPI CA 20020815 import. 2002-08-29 01:52:27 +00:00
Mitsuru IWASAKI
2d12e67c7d Vendor import of the Intel ACPI CA 20020815 drop. 2002-08-29 01:51:24 +00:00
Mitsuru IWASAKI
b7a95606db This commit was generated by cvs2svn to compensate for changes in r102550,
which included commits to RCS files with non-trunk default branches.
2002-08-29 01:51:24 +00:00
Darren Reed
ecae20848a Finally merge in the changes from ipfilter 3.4.29 to freebsd-current.
Main changes here are related to the ftp proxy and making that work better.
2002-08-28 13:41:36 +00:00
Darren Reed
4ba500330a Import IPfilter 3.4.29. Main purpose is to address ftp proxy problems. 2002-08-28 13:26:02 +00:00
Darren Reed
39cf61414c Import IPfilter 3.4.29. Main purpose is to address ftp proxy problems. 2002-08-28 13:26:01 +00:00
Archie Cobbs
7d151849d0 Don't use "NULL" when "0" is really meant.
But in this case, "-1" is really meant.

Reviewed by:	darrenr
2002-08-23 20:07:19 +00:00
Mitsuru IWASAKI
173ff9844f Prepare for importing newer version of ACPI CA. 2002-08-22 15:21:15 +00:00
Mitsuru IWASAKI
b69ed3f4c6 Resolve conflicts arising from the ACPI CA 20020725 import. 2002-07-30 19:35:32 +00:00
Mitsuru IWASAKI
da9df8d45e Vendor import of the Intel ACPI CA 20020725 drop. 2002-07-30 19:33:39 +00:00
Mitsuru IWASAKI
432a633569 This commit was generated by cvs2svn to compensate for changes in r100966,
which included commits to RCS files with non-trunk default branches.
2002-07-30 19:33:39 +00:00
Mitsuru IWASAKI
98479b041b Resolve conflicts arising from the ACPI CA 20020611 import. 2002-07-09 17:54:02 +00:00
Mitsuru IWASAKI
7174287062 Vendor import of the Intel ACPI CA 20020611 drop. 2002-07-09 17:51:31 +00:00
Mitsuru IWASAKI
155ce7bfa3 This commit was generated by cvs2svn to compensate for changes in r99679,
which included commits to RCS files with non-trunk default branches.
2002-07-09 17:51:31 +00:00
Mitsuru IWASAKI
74fc979a09 Resolve conflicts arising from the ACPI CA 20020404 import. 2002-06-30 17:53:12 +00:00
Mitsuru IWASAKI
3f12fee6bc Vendor import of the Intel ACPI CA 200200404 drop. 2002-06-30 17:50:46 +00:00
Mitsuru IWASAKI
733e46c474 This commit was generated by cvs2svn to compensate for changes in r99146,
which included commits to RCS files with non-trunk default branches.
2002-06-30 17:50:46 +00:00
Mitsuru IWASAKI
0305323763 - Add sanity check for argument.
- Add new entry to stripdirs.  The `generate' directory appeared in
  acpica-unix-20020517.
2002-06-12 14:55:19 +00:00
Darren Reed
aafab58b58 Import IPFilter 3.4.28 2002-06-07 08:58:22 +00:00
Darren Reed
fde76f025d Commit changes that happened in IPFilter versions 3.4.27 - 3.4.28 2002-06-07 08:56:30 +00:00
Darren Reed
7df187a3ad Merge updates from 3.4.26 - 3.4.27. 2002-04-27 16:56:25 +00:00
Darren Reed
635ff71d68 Import version 3.4.27 2002-04-27 16:52:49 +00:00
Darren Reed
37d55dca34 bring in changes from 3.4.26. 2002-04-25 03:31:39 +00:00
Darren Reed
43ba65e60d Import IPFilter 3.4.26 kernel sources, including H.323 proxy.
Include the licence file for both IPFilter and the H.323 proxy (from QNX),
for convienence.
2002-04-25 03:23:53 +00:00
Darren Reed
39252e7612 This commit was generated by cvs2svn to compensate for changes in r95415,
which included commits to RCS files with non-trunk default branches.
2002-04-25 03:23:53 +00:00
Darren Reed
13114a18ac Import IPFilter 3.4.26 kernel sources, including H.323 proxy.
Include the licence file for both IPFilter and the H.323 proxy (from QNX),
for convienence.
2002-04-25 03:23:52 +00:00
Ruslan Ermilov
f791219e02 We don't need ip_ipsec_pxy.c in userland. 2002-03-26 13:42:09 +00:00
Alfred Perlstein
205c9d4c30 fix blockno printf formatting warnings. 2002-03-19 20:46:30 +00:00
Darren Reed
40c407243f do not include the missing ip_h323_pxy.c 2002-03-19 15:14:18 +00:00
Darren Reed
b38f3fb061 fix conflicts (mostly damn rcs id's) generated by import 2002-03-19 11:44:16 +00:00
Darren Reed
b90bc1632d This file is being removed pending the all clear on its licence by someone
else.
2002-03-19 11:42:12 +00:00
Darren Reed
76531d9f8d Import IPFilter 3.4.25 (last version 3.4.20) 2002-03-19 11:30:23 +00:00
Darren Reed
f72fae2740 This commit was generated by cvs2svn to compensate for changes in r92680,
which included commits to RCS files with non-trunk default branches.
2002-03-19 11:30:21 +00:00
Darren Reed
28613e5584 Import IPFilter 3.4.25 (last version 3.4.20) 2002-03-19 11:30:21 +00:00
Doug Rabson
789327f183 Remove a couple of stray linuxisms to make this work for FreeBSD/ia64. 2002-03-18 10:16:57 +00:00
Mike Smith
fd87aacdcc Merge local changes for the 20020308 ACPI CA update. 2002-03-16 02:23:30 +00:00
Mike Smith
6ff98c910d Import of the 20020308 Intel ACPI CA update. 2002-03-16 02:18:13 +00:00
Mike Smith
f3964aad0d This commit was generated by cvs2svn to compensate for changes in r92388,
which included commits to RCS files with non-trunk default branches.
2002-03-16 02:18:13 +00:00
Mike Smith
e7bb0990c0 Import of the 20020308 Intel ACPI CA update. 2002-03-16 02:18:04 +00:00
Mike Smith
6c3ac087b5 This commit was generated by cvs2svn to compensate for changes in r92386,
which included commits to RCS files with non-trunk default branches.
2002-03-16 02:18:04 +00:00
Mike Barcroft
27aba6a42a Change two occurrences of HTONS() to use htons(). 2002-02-28 09:56:31 +00:00
Peter Wemm
b4925b6514 Fix warning (unused variable)
Submitted by:	LINT, -Werror
2002-02-27 23:32:45 +00:00
Mike Smith
e941505796 Move some debugger-only symbols around; this patch didn't make it into
the commit resolution for some reason.  Fixes ACPI_DEBUG.
2002-02-24 07:51:46 +00:00
Mike Smith
afa56f0b6d Resolve conflicts arising from the ACPI CA 20020217 import. 2002-02-23 05:16:34 +00:00
Mike Smith
857591c3aa Vendor import of the Intel ACPI CA 20020217 drop. 2002-02-23 05:10:40 +00:00
Mike Smith
8f296b2e5d This commit was generated by cvs2svn to compensate for changes in r91116,
which included commits to RCS files with non-trunk default branches.
2002-02-23 05:10:40 +00:00
Mike Smith
aafdbb39dc Add a helper script used to take an Intel-supplied ACPI CA drop and make it
ready for importing.  This should save me from my own over-cleanliness.
2002-02-08 02:16:45 +00:00
Alfred Perlstein
20125be8b1 Backout inclusion of queue.h since rev 1.38 sys/file.h now has it
included in the right order.
2002-01-14 09:07:15 +00:00
Alfred Perlstein
9e209b124a Include sys/_lock.h and sys/_mutex.h to reduce namespace pollution.
Requested by: jhb
2002-01-13 21:37:49 +00:00
Darren Reed
13a14b9aa9 Import this patch to address user concerns.
PR:		 27615
Submitted by:	Andria Thomas <andria@tovaris.com>
Approved by:	Me.
MFC after:	7 days
2002-01-04 12:32:34 +00:00
Mitsuru IWASAKI
c573e654b7 Add OS layer ACPI mutex and threading support.
- Temporary fix a bug of Intel ACPI CA core code.
 - Add OS layer ACPI mutex support.  This can be disabled by
   specifying option ACPI_NO_SEMAPHORES.
 - Add ACPI threading support.  Now that we have a dedicate taskqueue for
   ACPI tasks and more ACPI task threads can be created by specifying option
   ACPI_MAX_THREADS.
 - Change acpi_EvaluateIntoBuffer() behavior slightly to reuse given
   caller's buffer unless AE_BUFFER_OVERFLOW occurs.  Also CM battery's
   evaluations were changed to use acpi_EvaluateIntoBuffer().
 - Add new utility function acpi_ConvertBufferToInteger().
 - Add simple locking for CM battery and temperature updating.
 - Fix a minor problem on EC locking.
 - Make the thermal zone polling rate to be changeable.
 - Change minor things on AcpiOsSignal(); in ACPI_SIGNAL_FATAL case,
   entering Debugger is easier to investigate the problem rather than panic.
2001-12-22 16:05:41 +00:00
Guido van Rooij
9a0ad4c91a Fix initialisation of struct nat entry, to solve a panic that occurs
when reloading a nat table after reboot

Submitted by:	Arjan de Vet <devet@devet.org>
Reviewed by:	IP Filter mailing list
MFC after:	3 days
2001-12-05 10:46:24 +00:00
Mike Smith
1b3eb6b30c Merge local changes.
Add a fix for a minor error in the PCI routing table creation handler
where the correct size for the buffer is not returned.
2001-11-28 04:34:52 +00:00
Mike Smith
de87ee3ada Vendor import of the Intel ACPI CA 20011120 snapshot. 2001-11-28 04:29:40 +00:00
Mike Smith
89709a06f9 This commit was generated by cvs2svn to compensate for changes in r87031,
which included commits to RCS files with non-trunk default branches.
2001-11-28 04:29:40 +00:00
Brian Feldman
cd11f7bf9f Reference lomac in its new location. 2001-11-19 22:36:40 +00:00
Brian Feldman
21180f280b Use appropriaate include path for syscall_gate.h 2001-11-19 18:12:12 +00:00
Brian Feldman
5f57403b19 Fix a license and change $Id$s to $FreeBSD$s.
Obtained from:	DARPA, NAI Labs (CBOSS project)
2001-11-19 04:56:36 +00:00
Brian Feldman
5eca824ab0 This commit was generated by cvs2svn to compensate for changes in r86567,
which included commits to RCS files with non-trunk default branches.
2001-11-19 04:50:51 +00:00
Brian Feldman
ae3a37e4a0 Initial import of the LOMAC (Low-Watermark Mandatory Access Control)
module port to FreeBSD.

Obtained from:	NAI Labsx
2001-11-19 04:50:51 +00:00
Mitsuru IWASAKI
8d2d52e43a Apply a local change to ACPICA.
Some BIOSes don't set WAK_STS at all,
give up waiting for wakeup if we time out.
2001-11-11 15:36:35 +00:00
Mitsuru IWASAKI
1611ea8727 Add S4BIOS sleep (BIOS hibernation) and DSDT overriding support.
- Add S4BIOS sleep implementation.  This will works well if MIB
   hw.acpi.s4bios is set (and of course BIOS supports it and hibernation
   is enabled correctly).
 - Add DSDT overriding support which is submitted by takawata originally.
   If loader tunable acpi_dsdt_load="YES" and DSDT file is set to
   acpi_dsdt_name (default DSDT file name is /boot/acpi_dsdt.aml),
   ACPI CA core loads DSDT from given file rather than BIOS memory block.
   DSDT file can be generated by iasl in ports/devel/acpicatools/.
 - Add new files so that we can add our proposed additional code to Intel
   ACPI CA into these files temporary.  They will be removed when
   similar code is added into ACPI CA officially.
2001-11-06 15:00:30 +00:00
Mike Smith
21479890f4 Merge local changes, add new files and remove obsoleted ones. 2001-10-31 02:34:45 +00:00
Mike Smith
0c794f3213 Import the Intel ACPI CA 20011018 snapshot 2001-10-31 02:32:29 +00:00
Mike Smith
cc668aa9a0 This commit was generated by cvs2svn to compensate for changes in r85756,
which included commits to RCS files with non-trunk default branches.
2001-10-31 02:32:29 +00:00
Mike Smith
831a948d29 Import the Intel ACPI CA 20011018 snapshot 2001-10-31 02:32:28 +00:00
Mike Smith
8d78e0794c This commit was generated by cvs2svn to compensate for changes in r85754,
which included commits to RCS files with non-trunk default branches.
2001-10-31 02:32:28 +00:00
Mike Smith
fca4f5a848 Actually delete this file; aborting 'cvs delete -f' has unexpeted results... 2001-10-05 09:24:34 +00:00
Mike Smith
18c217d174 Kill a couple of files off the vendor branch, as suggested by ru. 2001-10-05 09:23:41 +00:00
Mike Smith
828ac44151 Remove file obsoleted by the 20010920 snapshot. 2001-10-04 23:17:35 +00:00
Mike Smith
947ff3286e Merge our local patches into the 20010920 snapshot. Note that the
"implicit return" hack in psparse.c was resubmitted by Iwasaki-san.

Submitted by:	iwasaki
2001-10-04 23:15:26 +00:00
Mike Smith
4de815b5b2 Import of the Intel ACPI CA 20010920 snapshot. 2001-10-04 23:12:14 +00:00
Mike Smith
875063d979 This commit was generated by cvs2svn to compensate for changes in r84493,
which included commits to RCS files with non-trunk default branches.
2001-10-04 23:12:14 +00:00
Mike Smith
584be850df Import of the Intel ACPI CA 20010920 snapshot. 2001-10-04 23:12:13 +00:00
Mike Smith
93b8a677a3 This commit was generated by cvs2svn to compensate for changes in r84491,
which included commits to RCS files with non-trunk default branches.
2001-10-04 23:12:13 +00:00
Darren Reed
c0c3937c8f IPFilter munges multicast address packets on the loopback interface.
Submitted by:	Frank Zolf
Approved by:	jkh
MFC after:	0
2001-09-12 22:06:36 +00:00
cvs2svn
fb1ae013ab This commit was manufactured by cvs2svn to create branch
'VENDOR-sys-ipfilter'.
2001-09-12 22:00:04 +00:00
Darren Reed
5a014fea7e Add IPFLITER.LICENCE to the kernel (requested by rwatson) 2001-09-12 22:00:03 +00:00
Julian Elischer
b40ce4165d KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after:    ha ha ha ha
2001-09-12 08:38:13 +00:00
Mike Smith
0aa8447171 Merge our local branch changes with the 20010831 snapshot. 2001-09-07 02:52:26 +00:00
Mike Smith
7fb2c1c616 Vendor-branch import of the Intel ACPI CA 20010831 snapshot. 2001-09-07 01:22:25 +00:00
Mike Smith
1cf610caba This commit was generated by cvs2svn to compensate for changes in r83174,
which included commits to RCS files with non-trunk default branches.
2001-09-07 01:22:25 +00:00
Mike Smith
2780a616d6 Nuke the Windows platform defines; we don't need them. 2001-08-26 22:46:28 +00:00
Mike Smith
9d7b18c207 Merge local changes. 2001-08-26 22:45:42 +00:00
Mike Smith
2ee2f9cb74 Vendor import of the Intel ACPI CA 20010816 update. 2001-08-26 22:28:18 +00:00
Mike Smith
d142fbb1b8 This commit was generated by cvs2svn to compensate for changes in r82367,
which included commits to RCS files with non-trunk default branches.
2001-08-26 22:28:18 +00:00
Darren Reed
31f3bf83f6 fix import/merge related code problems 2001-07-30 10:53:23 +00:00
Darren Reed
354699e12f fix conflicts created by import 2001-07-28 11:58:26 +00:00
Darren Reed
49ca018991 Import version 3.4.20 of IPFilter 2001-07-28 11:42:17 +00:00
Peter Wemm
4f12dbc3f6 Commit the hwsleep.c patch for suspend/resume onto the vendor branch.
This has supposedly been incorporated into the Intel code already, so this
will get cleanly replaced with the "official" version when it is next
imported and will not cause any conflicts or hiccups.
2001-07-25 22:10:56 +00:00
Peter Wemm
e3d1d61f10 This commit was generated by cvs2svn to compensate for changes in r80357,
which included commits to RCS files with non-trunk default branches.
2001-07-25 22:10:56 +00:00
Mike Smith
0b920e45df Merge local changes with the ACPI CA 20010717 import. 2001-07-21 03:57:37 +00:00
Mike Smith
9d5c013ca4 Vendor import of the Intel ACPI CA 20010717 snapshot. 2001-07-21 03:55:17 +00:00
Mike Smith
4ad41296a7 This commit was generated by cvs2svn to compensate for changes in r80062,
which included commits to RCS files with non-trunk default branches.
2001-07-21 03:55:17 +00:00
Mike Smith
2e5c56cb6b Vendor import of the Intel ACPI CA 20010717 snapshot. 2001-07-21 03:55:15 +00:00
Mike Smith
bb83d65cfd This commit was generated by cvs2svn to compensate for changes in r80060,
which included commits to RCS files with non-trunk default branches.
2001-07-21 03:55:15 +00:00
Mike Smith
a5934d76a8 We haven't had AcpiSetSystemSleepState for a while now, clean out the
prototype.
2001-07-20 08:49:17 +00:00
Mike Smith
47d9ea1be8 Merge FreeBSD-specific changes. 2001-06-29 20:19:59 +00:00
Mike Smith
ae027f1237 Vendor import of the Intel ACPI CA 20010615 snapshot. 2001-06-29 20:11:04 +00:00
Mike Smith
12c1e8d4b6 This commit was generated by cvs2svn to compensate for changes in r78986,
which included commits to RCS files with non-trunk default branches.
2001-06-29 20:11:04 +00:00
Joerg Wunsch
d6287c5081 Do only call oltr_stop() if we are not already in OL_STOPPED state.
This avoids a null pointer deref panic in TRlldClose() inside the
vendor-supplied object code.  It's now possible to unload the driver
at all.

Implement deallocation of malloc()ed memory regions.

MFC after:	2 months
2001-06-14 15:08:40 +00:00
Jonathan Lemon
0a52f59c36 Move IPFilter into contrib. 2001-06-07 05:13:35 +00:00
Mike Smith
d87e8fe891 Remove old ACPI CA code. These will be drained from the repo at some
future date.
2001-05-29 20:22:11 +00:00
Mike Smith
4bccc7175f - wbinvd isn't an inline on ia64.
- includes are not in subdirectories.
2001-05-29 20:03:32 +00:00
Mike Smith
6d804030e6 Merge FreeBSD-specific changes with the ACPI CA 20010518 release. 2001-05-29 19:56:18 +00:00
Mike Smith
0065eb1222 Import the 20010518 Intel ACPI CA release. Note that Intel's directory layout
keeps changing, so to reduce repository thrash everything has been moved into
a single directory.  (repo copy involved)
2001-05-29 19:52:40 +00:00
Mike Smith
7ba3a4a9c7 This commit was generated by cvs2svn to compensate for changes in r77424,
which included commits to RCS files with non-trunk default branches.
2001-05-29 19:52:40 +00:00
Mike Smith
a9a41ca37c Import the 20010518 Intel ACPI CA release. Note that Intel's directory layout
keeps changing, so to reduce repository thrash everything has been moved into
a single directory.  (repo copy involved)
2001-05-29 19:52:32 +00:00
Mike Smith
060724d12a This commit was generated by cvs2svn to compensate for changes in r77422,
which included commits to RCS files with non-trunk default branches.
2001-05-29 19:52:32 +00:00
Poul-Henning Kamp
a468031ce8 Actually biofinish(struct bio *, struct devstat *, int error) is more general
than the bioerror().

Most of this patch is generated by scripts.
2001-05-06 20:00:03 +00:00
Poul-Henning Kamp
8a9d06dcfb Update the DiskOnChip firmware to OSAK version 4.1.
Sponsored by:	Redfern Broadband Networks (www.RedFernNetworks.com)
2001-05-06 12:37:42 +00:00
Poul-Henning Kamp
f83880518b Send the remains (such as I have located) of "block major numbers" to
the bit-bucket.
2001-03-26 12:41:29 +00:00
Matthew N. Dodd
af1ac47537 Move configuration of work_memory to oltr_init() rather than
oltr_pci_attach().  This only affects the OC-3139 and OC-3540.

MFC candidate.

PR:		kern/24074
2001-03-08 01:38:58 +00:00
Mike Smith
497b08a07e Resolve merge conflicts. 2001-03-05 02:16:51 +00:00
Mike Smith
7f97233002 Belated vendor update to the Intel ACPI CA 20010208 snapshot. 2001-03-05 02:15:19 +00:00
Mike Smith
25ef32a97a This commit was generated by cvs2svn to compensate for changes in r73561,
which included commits to RCS files with non-trunk default branches.
2001-03-05 02:15:19 +00:00
Darren Reed
d42c04169e Update IP Filter kernel source 2001-02-04 14:15:48 +00:00
Mike Smith
6548daa8aa Patch the reintroduced (~0 << 32) == 1 bug with a cryptic but functional
version.  This should fix the read-before-write problem again.

Obtained from:	"Adam J. Richter" <adam@yggdrasil.com>
2001-02-02 08:31:50 +00:00
Mike Smith
520334620f Merge conflicts from the ACPI CA 20010125 import. 2001-01-31 09:44:45 +00:00
Mike Smith
d736d5c6ae Remove obsoleted files. 2001-01-31 09:25:42 +00:00
Mike Smith
838fd87dd9 Update to the 20010125 ACPI CA snapshot. 2001-01-31 09:17:50 +00:00
Mike Smith
3cb266413f This commit was generated by cvs2svn to compensate for changes in r71867,
which included commits to RCS files with non-trunk default branches.
2001-01-31 09:17:50 +00:00
Mitsuru IWASAKI
673f959b2b Disable strstr() if ACPICA is compiled in userland.
Reviewed by:	msmith
2001-01-10 19:28:03 +00:00
Mike Smith
88c6b9ae21 Resolve conflicts from the ACPI CA 20001215 vendor import. 2000-12-21 07:04:32 +00:00
Mike Smith
68466b4675 Update to the Intel 20001215 ACPI CA snapshot. 2000-12-21 06:56:46 +00:00
Mike Smith
7f33f28ba4 This commit was generated by cvs2svn to compensate for changes in r70243,
which included commits to RCS files with non-trunk default branches.
2000-12-21 06:56:46 +00:00
David Malone
7cc0979fd6 Convert more malloc+bzero to malloc+M_ZERO.
Submitted by:	josh@zipperup.org
Submitted by:	Robert Drehmel <robd@gmx.net>
2000-12-08 21:51:06 +00:00
Poul-Henning Kamp
959b7375ed Staticize some malloc M_ instances. 2000-12-08 20:09:00 +00:00
Mike Smith
aa3f504fb9 Resolve conflicts from the 20001201 merge. 2000-12-08 09:22:18 +00:00
Mike Smith
f6402773ea Update to the 20001201 ACPI CA snapshot. 2000-12-08 09:20:40 +00:00
Mike Smith
a68cef92af This commit was generated by cvs2svn to compensate for changes in r69746,
which included commits to RCS files with non-trunk default branches.
2000-12-08 09:20:40 +00:00
Mike Smith
3a55bc5d5b Remove duplicate definition. 2000-12-01 12:10:06 +00:00
Mike Smith
96e38a0b8b Update local changes for new hardware register interface. 2000-12-01 12:09:18 +00:00
Mike Smith
8b7f715dd3 Resolve conflicts from the vendor update. 2000-12-01 09:49:35 +00:00
Mike Smith
f2ed5750af Update to the 20001115 Intel ACPI CA snapshot. 2000-12-01 09:36:25 +00:00
Mike Smith
de17efd5b3 This commit was generated by cvs2svn to compensate for changes in r69450,
which included commits to RCS files with non-trunk default branches.
2000-12-01 09:36:25 +00:00
Mike Smith
a61a28f04c We should include <machine/stdarg.h> not <stdarg.h>
Submitted by:	phk
2000-10-28 08:32:43 +00:00
Mike Smith
683212b993 Some AML code assumes that a function without an explicit ReturnOp will
return the last value returned by a nested method call.  This violates
the ACPI spec, but is implemented by the Microsoft interpreter, and thus
vendors can (and do) get away with it.

Intel's stance is that this is illegal and should not be supported.
As they put it, however, we have to live in the real world.  So go ahead
and implement it.

Submitted by:	Mitsaru IWASAKI <iwasaki@jp.freebsd.org>
2000-10-28 07:32:13 +00:00
Mike Smith
31239e0d37 FreeBSD-specific customisations:
- Set debugger options for kernel build
 - Define some missing functions
 - Bring in GCC defines
 - Disable the 'wbinvd' macro as it conflicts with our inline
2000-10-28 07:29:08 +00:00
Mike Smith
975e9c4c52 Add some extra fuctions:
- AcpiGetProcessorID (fetch the ACPI processor ID for a given ACPI_HANDLE)
 - AcpiSetSystemSleepState (set the Sx sleeping state, proposed by Intel
   but not actually implemented)
2000-10-28 07:26:48 +00:00
Mike Smith
926328c406 Initial import of the Intel-maintained ACPI Component Architecture. This
is Intel's reference implementation of the core operating-system ACPI
support.  (This import is on the vendor branch.)
2000-10-28 05:01:06 +00:00
Mike Smith
ee1c50ab3a This commit was generated by cvs2svn to compensate for changes in r67754,
which included commits to RCS files with non-trunk default branches.
2000-10-28 05:01:06 +00:00
Poul-Henning Kamp
db7e3af111 Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
Larry Lile
e658d924da o Change TX_BUFFER_LEN from 512 to 2048.
o Remove bogus "spurious interrupt" message.

o Ring buffer head and avail were incorrectly calculated.

o Fix fragment count.

o Fix ring entry for single station, default to 16Mbit.

o Don't complain about long frames.
2000-10-10 00:54:02 +00:00
Poul-Henning Kamp
8611ec86ba remove unused #include. 2000-10-07 19:38:31 +00:00
Poul-Henning Kamp
a164712178 Remove SMP hack. 2000-09-16 18:57:18 +00:00
Kris Kennaway
0f336aa5db Install mode 644, not mode 664 during kernel compile. Yes, Peter, I am
psycho :-)
2000-08-15 11:06:56 +00:00
Peter Wemm
c1a4ed010b Remove these here, these were repocopied to src/sys/ufs/ffs. 2000-06-23 00:11:32 +00:00
Kirk McKusick
858c16fab8 Update to new copyright. 2000-06-22 00:29:53 +00:00
Kirk McKusick
6019e6208f When running with quotas enabled on a filesystem using soft updates,
the system would panic when a user's inode quota was exceeded (see
PR 18959 for details). This fixes that problem.

PR:		18959
Submitted by:	Jason Godsey <jason@unixguy.fidalgo.net>
2000-06-18 22:14:28 +00:00
Kirk McKusick
d3abb52714 Some additional performance improvements. When freeing an inode
check to see if it has been committed to disk. If it has never
been written, it can be freed immediately. For short lived files
this change allows the same inode to be reused repeatedly.
Similarly, when upgrading a fragment to a larger size, if it
has never been claimed by an inode on disk, it too can be freed
immediately making it available for reuse often in the next slowly
growing block of the same file.
2000-06-18 22:05:57 +00:00
Poul-Henning Kamp
7523681895 ARGH! I have too many source trees :-(
Fix prototype errors in last commit.
2000-06-16 13:00:33 +00:00
Poul-Henning Kamp
a2e7a027a7 Virtualizes & untangles the bioops operations vector.
Ref: Message-ID: <18317.961014572@critter.freebsd.dk> To: current@
2000-06-16 08:48:51 +00:00
Peter Wemm
409985322c Unused include: #include "fla.h" 2000-06-10 11:05:17 +00:00
Peter Wemm
0db05e09fc Fix a reference to an old FreeBSD 2.2 register name.
s/PCI_COMMAND_STATUS_REG/PCIR_COMMAND/
2000-05-28 16:21:45 +00:00
Jake Burkholder
e39756439c Back out the previous change to the queue(3) interface.
It was not discussed and should probably not happen.

Requested by:		msmith and others
2000-05-26 02:09:24 +00:00
Jake Burkholder
740a1973a6 Change the way that the queue(3) structures are declared; don't assume that
the type argument to *_HEAD and *_ENTRY is a struct.

Suggested by:	phk
Reviewed by:	phk
Approved by:	mdodd
2000-05-23 20:41:01 +00:00
Poul-Henning Kamp
9626b608de Separate the struct bio related stuff out of <sys/buf.h> into
<sys/bio.h>.

<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall
not be made a nested include according to bdes teachings on the
subject of nested includes.

Diskdrivers and similar stuff below specfs::strategy() should no
longer need to include <sys/buf.> unless they need caching of data.

Still a few bogus uses of struct buf to track down.

Repocopy by:    peter
2000-05-05 09:59:14 +00:00
Poul-Henning Kamp
e2463c20b3 Enforce and respect the 8 unit limit. 2000-04-23 09:10:09 +00:00
Poul-Henning Kamp
8177437d85 Complete the bio/buf divorce for all code below devfs::strategy
Exceptions:
        Vinum untouched.  This means that it cannot be compiled.
        Greg Lehey is on the case.

        CCD not converted yet, casts to struct buf (still safe)

        atapi-cd casts to struct buf to examine B_PHYS
2000-04-15 05:54:02 +00:00
Robert Watson
a64ed08955 Introduce extended attribute support for FFS, allowing arbitrary
(name, value) pairs to be associated with inodes.  This support is
used for ACLs, MAC labels, and Capabilities in the TrustedBSD
security extensions, which are currently under development.

In this implementation, attributes are backed to data vnodes in the
style of the quota support in FFS.  Support for FFS extended
attributes may be enabled using the FFS_EXTATTR kernel option
(disabled by default).  Userland utilities and man pages will be
committed in the next batch.  VFS interfaces and man pages have
been in the repo since 4.0-RELEASE and are unchanged.

o ufs/ufs/extattr.h: UFS-specific extattr defines
o ufs/ufs/ufs_extattr.c: bulk of support routines
o ufs/{ufs,ffs,mfs}/*.[ch]: hooks and extattr.h includes
o contrib/softupdates/ffs_softdep.c: extattr.h includes
o conf/options, conf/files, i386/conf/LINT: added FFS_EXTATTR

o coda/coda_vfsops.c: XXX required extattr.h due to ufsmount.h
(This should not be the case, and will be fixed in a future commit)

Currently attributes are not supported in MFS.  This will be fixed.

Reviewed by:	adrian, bp, freebsd-fs, other unthanked souls
Obtained from:	TrustedBSD Project
2000-04-15 03:34:27 +00:00
Poul-Henning Kamp
c244d2de43 Move B_ERROR flag to b_ioflags and call it BIO_ERROR.
(Much of this done by script)

Move B_ORDERED flag to b_ioflags and call it BIO_ORDERED.

Move b_pblkno and b_iodone_chain to struct bio while we transition, they
will be obsoleted once bio structs chain/stack.

Add bio_queue field for struct bio aware disksort.

Address a lot of stylistic issues brought up by bde.
2000-04-02 15:24:56 +00:00
Larry Lile
ba5d95967f o Get basic if_media support working.
o Add more diagnostic and status messages.

o General clean up of old debug messages and
  small style fixes.
2000-03-26 23:56:15 +00:00
Poul-Henning Kamp
b99c307a21 Rename the existing BUF_STRATEGY() to DEV_STRATEGY()
substitute BUF_WRITE(foo) for VOP_BWRITE(foo->b_vp, foo)

substitute BUF_STRATEGY(foo) for VOP_STRATEGY(foo->b_vp, foo)

This patch is machine generated except for the ccd.c and buf.h parts.
2000-03-20 11:29:10 +00:00
Poul-Henning Kamp
21144e3bf1 Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new
field in struct buf: b_iocmd.  The b_iocmd is enforced to have
exactly one bit set.

B_WRITE was bogusly defined as zero giving rise to obvious coding
mistakes.

Also eliminate the redundant struct buf flag B_CALL, it can just
as efficiently be done by comparing b_iodone to NULL.

Should you get a panic or drop into the debugger, complaining about
"b_iocmd", don't continue.  It is likely to write on your disk
where it should have been reading.

This change is a step in the direction towards a stackable BIO capability.

A lot of this patch were machine generated (Thanks to style(9) compliance!)

Vinum users:  Greg has not had time to test this yet, be careful.
2000-03-20 10:44:49 +00:00
Larry Lile
34b62638d9 o Fix typo in the RapidFire 3540 adapter name
4/16/100 -> 100/16/4 so that it matches all of the others.

o Since we went to all the trouble of getting the correct
  working memory size actually use it.

* Submitted by: Nikolai Saoukh <nms@otdel-1.org>
2000-03-19 15:08:39 +00:00
Larry Lile
49ec367311 o Replace the old "oltr" driver with the completely re-written
new-bus Olicom driver, previously known as "ol".  The new
  driver unfortunately does not support ISA cards yet.

o Update the microcode files, interface library and include files
  to the latest PowerMACH works version.  Force even byte alignment
  of adapter microcode.

o Roll in some of the patches from Nikolai Saoukh <nms@ethereal.ru>.
2000-03-18 23:51:54 +00:00
Kirk McKusick
4434ff1d38 When writing out bitmap buffers, need to skip over ones that already
have a write in progress. Otherwise one can get in an infinite loop
trying to get them all flushed.

Submitted by:	Matthew Dillon <dillon@apollo.backplane.com>
2000-01-30 20:32:59 +00:00
Peter Wemm
cc5bdb7978 Remove a somewhat odd #if that is always true (NOLTR will be always
1 or more if this file is being compiled)
2000-01-29 18:38:31 +00:00
Kirk McKusick
57a91f6fb0 During fastpath processing for removal of a short-lived inode, the
set of restrictions for cancelling an inode dependency (inodedep)
is somewhat stronger than originally coded. Since this check appears
in two places, we codify it into the function check_inode_unwritten
which we then call from the two sites, one freeing blocks and the
other freeing directory entries.

Submitted by:	Steinar Haug via Matthew Dillon
2000-01-18 01:33:05 +00:00
Kirk McKusick
4c6adb0622 Need to reorganize the flushing of directory entry (pagedep) dependencies
so that they never try to lock an inode corresponding to ".." as this
can lead to deadlock. We observe that any inode with an updated link count
is always pushed into its buffer at the time of the link count change, so
we do not need to do a VOP_UPDATE, but merely find its buffer and write it.
The only time we need to get the inode itself is from the result of a
mkdir whose name will never be ".." and hence locking such an inode will
never request a lock above us in the filesystem tree. Thanks to Brian
Fundakowski Feldman for providing the test program that tickled soft updates
into hanging in "inode" sleep.

Submitted by:	Brian Fundakowski Feldman <green@FreeBSD.org>
2000-01-18 01:30:03 +00:00
Kirk McKusick
105ef72c55 Better bounding on softdep_flushfiles; other minor tweeks to checks. 2000-01-17 06:35:11 +00:00
Kirk McKusick
107d5039ef Must track multiple uncommitted renames until one ultimately gets
committed to disk or is removed.
2000-01-17 06:28:18 +00:00
Matthew Dillon
173cce7c8e Non-operational change, fix compiler warning.
Reviewed by:  mckusick
2000-01-14 04:39:28 +00:00
Kirk McKusick
d7127837a2 Confirming Peter's fix (locking 101: release the lock before you go
to sleep). Locking 101, part 2: do not look at buffer contents after
you have been asleep. There is no telling what wonderous changes may
have occurred.
2000-01-13 20:03:22 +00:00
Peter Wemm
7f473504e6 Free the global softupdates lock prior to tsleep() in getdirtybuf().
This seems to be responsible for a bunch of panics where the process
sleeps and something else finds softupdates "locked" when it shouldn't
be.  This commit is unreviewed, but has been a big help here.
Previously my boxes would panic pretty much on the first fsync() that
wrote something to disk.
2000-01-13 18:48:12 +00:00
Kirk McKusick
1c2ceb2880 Because cylinder group blocks are now written in background,
it is no longer sufficient to get a lock on a buffer to know
that its write has been completed. We have to first get the
lock on the buffer, then check to see if it is doing a
background write. If it is doing background write, we have
to wait for the background write to finish, then check to see
if that fullfilled our dependency, and if not to start another
write. Luckily the explanation is longer than the fix.
2000-01-13 07:20:01 +00:00
Kirk McKusick
94313add1f A panic occurs during an fsync when a dirty block associated with
a vnode has not been written (which would clear certain of its
dependencies). The problems arises because fsync with MNT_NOWAIT
no longer pushes all the dirty blocks associated with a vnode. It
skips those that require rollbacks, since they will just get instantly
dirty again. Such skipped blocks are marked so that they will not be
skipped a second time (otherwise circular dependencies would never
clear). So, we fsync twice to ensure that everything will be written
at least once.
2000-01-13 07:17:39 +00:00
Kirk McKusick
10767f840b We cannot proceed to free the blocks of the file until the dependencies
have been cleaned up by deallocte_dependencies(). Once that is done, it
is safe to post the request to free the blocks. A similar change is also
needed for the freefile case.
2000-01-11 06:52:35 +00:00
Poul-Henning Kamp
ba4ad1fcea Give vn_isdisk() a second argument where it can return a suitable errno.
Suggested by:	bde
2000-01-10 12:04:27 +00:00
Kirk McKusick
26e5527c86 Missing FREE_LOCK call before handle_workitem_freeblocks.
Submitted by:	"Kenneth D. Merry" <ken@kdm.org>
2000-01-10 08:39:03 +00:00
Kirk McKusick
cf60e8e4bf Several performance improvements for soft updates have been added:
1) Fastpath deletions. When a file is being deleted, check to see if it
   was so recently created that its inode has not yet been written to
   disk. If so, the delete can proceed to immediately free the inode.
2) Background writes: No file or block allocations can be done while the
   bitmap is being written to disk. To avoid these stalls, the bitmap is
   copied to another buffer which is written thus leaving the original
   available for futher allocations.
3) Link count tracking. Constantly track the difference in i_effnlink and
   i_nlink so that inodes that have had no change other than i_effnlink
   need not be written.
4) Identify buffers with rollback dependencies so that the buffer flushing
   daemon can choose to skip over them.
2000-01-10 00:24:24 +00:00
Kirk McKusick
f0f7d38386 Keep tighter control of removal dependencies by limiting the number
of dirrem structure rather than the collaterally created freeblks
and freefile structures. Limit the rate of buffer dirtying by the
syncer process during periods of intense file removal.
2000-01-09 23:35:38 +00:00
Kirk McKusick
3f5b28bc07 Reorganize softdep_fsync so that it only does the inode-is-flushed
check before the inode is unlocked while grabbing its parent directory.
Once it is unlocked, other operations may slip in that could make
the inode-is-flushed check fail. Allowing other writes to the inode
before returning from fsync does not break the semantics of fsync
since we have flushed everything that was dirty at the time of the
fsync call.
2000-01-09 23:14:57 +00:00
Kirk McKusick
83aaf63ab2 Make static non-exported functions from soft updates. 2000-01-09 22:40:09 +00:00
Eivind Eklund
568d8f8e26 Garbage collect oltr_pci_shutdown 1999-12-21 08:21:36 +00:00
Kirk McKusick
6a4152243f The function request_cleanup() had a tsleep() with PCATCH. It is
quite dangerous, since the process may hold locks at the point,
and if it is stopped in that tsleep the machine may hang. Because
the sleep is so short, the PCATCH is not required here, so it has
been removed. For the future, the FreeBSD team needs to decide
whether it is still reasonable to stop a process in tsleep, as that
may affect any other code that uses PCATCH while holding kernel locks.

Submitted by:	Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
Reviewed by:	Kirk McKusick <mckusick@mckusick.com>
1999-12-16 22:02:09 +00:00
Eivind Eklund
6bdfe06ad9 Lock reporting and assertion changes.
* lockstatus() and VOP_ISLOCKED() gets a new process argument and a new
  return value: LK_EXCLOTHER, when the lock is held exclusively by another
  process.
* The ASSERT_VOP_(UN)LOCKED family is extended to use what this gives them
* Extend the vnode_if.src format to allow more exact specification than
  locked/unlocked.

This commit should not do any semantic changes unless you are using
DEBUG_VFS_LOCKS.

Discussed with:	grog, mch, peter, phk
Reviewed by:	peter
1999-12-11 16:13:02 +00:00
Kenneth D. Merry
86b2c8466d Revamp the devstat priority system. All disks now have the same priority.
The same goes for CD drivers and tape drivers.  In systems with mixed IDE
and SCSI, devices in the same priority class will be sorted in attach
order.

Also, the 'CCD' priority is now the 'ARRAY' priority, and a number of
drivers have been modified to use that priority.

This includes the necessary changes to all drivers, except the ATA drivers.
Soren will modify those separately.

This does not include and does not require any change in the devstat
version number, since no known userland applications use the priority
enumerations.

Reviewed by:	msmith, sos, phk, jlemon, mjacob, bde
1999-12-08 04:45:23 +00:00
Bill Fumerola
cfa5001489 Fix typo, add $FreeBSD$ 1999-12-03 00:34:26 +00:00
Peter Wemm
df9349420e Fix a stray (ifdef'ed) reference to a non-existing file. 1999-11-29 13:31:02 +00:00
Poul-Henning Kamp
38224dcd59 Convert various pieces of code to use vn_isdisk() rather than checking
for vp->v_type == VBLK.

In ccd: we don't need to call VOP_GETATTR to find the type of a vnode.

Reviewed by:    sos
1999-11-22 10:33:55 +00:00
Poul-Henning Kamp
0429e37ade struct mountlist and struct mount.mnt_list have no business being
a CIRCLEQ.  Change them to TAILQ_HEAD and TAILQ_ENTRY respectively.

This removes ugly  mp != (void*)&mountlist  comparisons.

Requested by:   phk
Submitted by:   Jake Burkholder jake@checker.org
PR:             14967
1999-11-20 10:00:46 +00:00
Poul-Henning Kamp
4698bc76a2 Finding root devices is a much more sane thing now. 1999-11-10 10:50:51 +00:00
Doug Rabson
25afb89b1c * Add struct resource_list* argument to resource_list_alloc and
resource_list_release. This removes the dependancy on the
  layout of ivars.

* Move set_resource, get_resource and delete_resource from
  isa_if.m to bus_if.m.

* Simplify driver code by providing wrappers to those methods:

     bus_set_resource(dev, type, rid, start, count);
     bus_get_resource(dev, type, rid, startp, countp);
     bus_get_resource_start(dev, type, rid);
     bus_get_resource_count(dev, type, rid);
     bus_delete_resource(dev, type, rid);

* Delete isa_get_rsrc and use bus_get_resource_start instead.

* Fix a stupid typo in isa_alloc_resource reported by Takahashi
  Yoshihiro <nyan@FreeBSD.org>.

* Print a diagnostic message if we can't assign resources to a PnP
  device.

* Change device_print_prettyname() so that it doesn't print
  "(no driver assigned)-1" for anonymous devices.
1999-10-12 21:35:51 +00:00
Poul-Henning Kamp
66bd4eb7cf remove unused #includes. 1999-10-11 19:12:30 +00:00
Poul-Henning Kamp
d6a0e38a1b Remove five now unused fields from struct cdevsw. They should never
have been there in the first place.  A GENERIC kernel shrinks almost 1k.

Add a slightly different safetybelt under nostop for tty drivers.

Add some missing FreeBSD tags
1999-09-25 18:24:47 +00:00
Poul-Henning Kamp
46783fb897 Remove NBPF conditionality of bpf calls in most of our network drivers.
This means that we will not have to have a bpf and a non-bpf version
of our driver modules.

This does not open any security hole, because the bpf core isn't loadable

The drivers left unchanged are the "cross platform" drivers where the respective
maintainers are urged to DTRT, whatever that may be.

Add a couple of missing FreeBSD tags.
1999-09-25 12:06:01 +00:00
Poul-Henning Kamp
2186cd9e8d Use devstat_end_transaction_buf() rather than Use devstat_end_transaction() 1999-09-18 21:30:27 +00:00
Poul-Henning Kamp
2016e4e906 Bite the bullet and allocate the devsw entry at compile time. 1999-09-12 20:40:29 +00:00
Poul-Henning Kamp
3febdd8fb8 Use a different tactic when creating the devsw so that disk_create()
doesn't need to malloc.
1999-09-12 09:16:00 +00:00
Poul-Henning Kamp
2170da8f8b Update docs for 3.3-R
OK'ed by:	jkh
1999-09-08 12:42:15 +00:00
Peter Wemm
bacfaa9d3c Clean $Log$ debris. 1999-09-06 07:26:52 +00:00
Poul-Henning Kamp
8684f73af8 Improve the micro "disk" layer after gaining more experience with it. 1999-09-01 05:38:09 +00:00
Poul-Henning Kamp
f5988870ce Remove unneeded slice element. 1999-08-29 14:52:02 +00:00
Poul-Henning Kamp
9a7f910b84 Convert to use the new "disk" layer.
A few cleanups while here.
1999-08-29 13:29:29 +00:00
Poul-Henning Kamp
10af1a2b5f We don't need to pass the diskname argument all over the diskslice/label
code, we can find the name from any convenient dev_t
1999-08-28 14:33:44 +00:00
Peter Wemm
280652828b $Id$ -> $FreeBSD$ 1999-08-28 02:16:32 +00:00
Poul-Henning Kamp
e3eb5947f3 SMP: Release the giant lock while we work the flash array
Use splbio() rather than fiddling the hardware interrupts.
Remove the compatibility stuff for older FreeBSD versions.
Add devstat support.
1999-08-15 14:30:09 +00:00
Poul-Henning Kamp
49ff4debd3 Spring cleaning around strategy and disklabels/slices:
Introduce BUF_STRATEGY(struct buf *, int flag) macro, and use it throughout.
please see comment in sys/conf.h about the flag argument.

Remove strategy argument from all the diskslice/label/bad144
implementations, it should be found from the dev_t.

Remove bogus and unused strategy1 routines.

Remove open/close arguments from dssize().  Pick them up from dev_t.

Remove unused and unfinished setgeom support from diskslice/label/bad144 code.
1999-08-14 11:40:51 +00:00
Poul-Henning Kamp
0ef1c82630 Decommision miscfs/specfs/specdev.h. Most of it goes into <sys/conf.h>,
a few lines into <sys/vnode.h>.

Add a few fields to struct specinfo, paving the way for the fun part.
1999-08-08 18:43:05 +00:00
Bruce Evans
e15fab6177 Fixed a bogus include pathname which broke compiling in an obj directory. 1999-08-07 13:11:12 +00:00
Bruce Evans
a837386e81 Fixed syntax errors. Code should be tested before committing it, or at
least before enabling it in LINT and merging it into RELENG_3.
1999-08-07 13:09:30 +00:00
Poul-Henning Kamp
f767942c7c Better way to circumvent the boot problem on older versions.
Submitted by:	Larry Baird <lab@gta.com>
1999-08-06 17:06:49 +00:00
Poul-Henning Kamp
d4ebee28d2 Add driver support for M-systems DiskOnChip Products.
Sponsored by:	M-systems Inc.	http://www.m-sys.com
1999-08-06 15:59:07 +00:00
Dag-Erling Smørgrav
6b5ca0d83e Rename bpfilter to bpf. 1999-07-06 19:23:32 +00:00
Larry Lile
ed9a818dfc Update to latest version of PowerMACH Works from Olicom. 1999-07-05 17:47:50 +00:00
Kirk McKusick
48703fedf1 No longer need to set B_ASYNC flag since BUF_KERNPROC now
unconditionally sets the identity of the buffer.
1999-06-29 15:57:40 +00:00
Peter Wemm
a6451da76b Keep the inlines for <sys/buf.h> happy.. 1999-06-27 13:26:23 +00:00
Kirk McKusick
67812eacd7 Convert buffer locking from using the B_BUSY and B_WANTED flags to using
lockmgr locks. This commit should be functionally equivalent to the old
semantics. That is, all buffer locking is done with LK_EXCLUSIVE
requests. Changes to take advantage of LK_SHARED and LK_RECURSIVE will
be done in future commits.
1999-06-26 02:47:16 +00:00
Kirk McKusick
f9c8cab591 Add a vnode argument to VOP_BWRITE to get rid of the last vnode
operator special case. Delete special case code from vnode_if.sh,
vnode_if.src, umap_vnops.c, and null_vnops.c.
1999-06-16 23:27:55 +00:00
Kirk McKusick
e4ab40bcb6 Get rid of the global variable rushjob and replace it with a function in
kern/vfs_subr.c named speedup_syncer() which handles the speedup request.
Change the various clients of rushjob to use the new function.
1999-06-15 23:37:29 +00:00
Julian Elischer
2e897e94b6 Cosmetic changes to make it compile without errors in gcc -Wall 1999-05-22 04:43:04 +00:00
Kirk McKusick
c2606ec5c6 Add a hook to ffs_fsync to allow soft updates to get first chance at doing
a sync on the block device for the filesystem. That allows it to push the
bitmap blocks before the inode blocks which greatly reduces the number of
inode rollbacks that need to be done.
1999-05-14 01:26:46 +00:00
Kirk McKusick
71a0942aca Put back changes that might be causing trouble on Alpha. 1999-05-09 19:39:54 +00:00
Peter Wemm
579f45fa60 Simplify the COMPAT_PCI_DRIVER/DATA_SET hack. We can add:
#define COMPAT_PCI_DRIVER(name,data) DATA_SET(pcidevice_set,data)
.. to 2.2.x and 3.x if people think it's worth it.  Driver writers can do
this if it's not defined.  (The reason for this is that I'm trying to
progressively eliminate use of linker_sets where it hurts modularity and
runtime load capability, and these DATA_SET's keep getting in the way.)
1999-05-09 17:07:30 +00:00
Kirk McKusick
36cfb417de Whitespace cleanup. 1999-05-07 05:21:16 +00:00
Kirk McKusick
7957996abd Get rid of random debugging cruft; sync up with latest version. 1999-05-07 05:11:31 +00:00
Kirk McKusick
224a6aa241 Severe slowdowns have been reported when creating or removing many
files at once on a filesystem running soft updates. The root of
the problem is that soft updates limits the amount of memory that
may be allocated to dependency structures so as to avoid hogging
kernel memory. The original algorithm just waited for the disk I/O
to catch up and reduce the number of dependencies. This new code
takes a much more aggressive approach. Basically there are two
resources that routinely hit the limit. Inode dependencies during
periods with a high file creation rate and file and block removal
dependencies during periods with a high file removal rate. I have
attacked these problems from two fronts. When the inode dependency
limits are reached, I pick a random inode dependency, UFS_UPDATE
it together with all the other dirty inodes contained within its
disk block and then write that disk block. This trick usually
clears 5-50 inode dependencies in a single disk I/O. For block and
file removal dependencies, I pick a random directory page that has
at least one remove pending and VOP_FSYNC its directory. That
releases all its removal dependencies to the work queue. To further
hasten things along, I also immediately start the work queue process
rather than waiting for its next one second scheduled run.
1999-05-07 02:26:47 +00:00
Peter Wemm
38a67d80b4 Use COMPAT_PCI_DRIVER() for registration if it exists. This shouldn't
hurt the driver portability to 3.x too much for where drivers are shared.
1999-04-24 20:24:02 +00:00
Peter Wemm
bfc0d41b33 As I understand it, these register_intr()'s shouldn't be here. The isa
driver attaches the interupt itself.
1999-04-21 07:02:19 +00:00
Julian Elischer
92bff1289a Need to include /contrib/dev/oltr/... not dev/oltr/... 1999-03-10 17:45:26 +00:00
Julian Elischer
fda82fc2b9 Submitted by: Larry Lile
Move the Olicom token ring driver to the officially sanctionned location of
/sys/contrib. Also fix some brokenness in the generic token ring support.

Be warned that if_dl.h has been changed and SOME programs might
like recompilation.
1999-03-10 10:11:43 +00:00
Kirk McKusick
38e28fd66b Reorganize locking to avoid holding the lock during calls to bdwrite
and brelse (which may sleep in some systems).

Obtained from:	Matthew Dillon <dillon@apollo.backplane.com>
1999-03-02 06:38:07 +00:00
Kirk McKusick
4cbb89d95d Ensure that softdep_sync_metadata can handle bmsafemap and mkdir entries
if they ever arise (which should not happen as softdep_sync_metadata is
currently used).
1999-03-02 00:19:47 +00:00
Kirk McKusick
133ff2619a fix double LIST_REMOVE; other cosmetic changes to match version 9.32.
Obtained from: Jeffrey Hsu <hsu@FreeBSD.ORG>
1999-02-17 20:01:20 +00:00
David Greenman
8ab2fa0073 Gutted softdep_deallocate_dependencies and replaced it with a panic. It
turns out to not be useful to unwind the dependencies and continue in
the face of a fatal error.
Also changed the log() to a printf() in softdep_error() so that it will
be output in the case of a impending panic.
Submitted by:	Kirk McKusick <mckusick@mckusick.com>
1999-01-22 09:07:32 +00:00
Bruce Evans
de5d1ba57c Don't pass unused unused timestamp args to UFS_UPDATE() or waste
time initializing them.  This almost finishes centralizing (in-core)
timestamp updates in ufs_itimes().
1999-01-07 16:14:19 +00:00
Bruce Evans
4591d9bb7e UFS_UPDATE() takes a boolean `waitfor' arg, so don't pass it the value
MNT_WAIT when we mean boolean `true' or check for that value not being
passed.  There was no problem in practice because MNT_WAIT had the
magic value of 1.
1999-01-06 18:18:06 +00:00
Julian Elischer
1f35e8c8da Remove some compiler warnings. 1998-12-10 20:11:47 +00:00
Peter Wemm
2ec07c6614 Change dirty block list handling to use TAILQ macros. 1998-10-31 15:33:32 +00:00
Jordan K. Hubbard
2dcc2f0693 Clarify a rather ambiguous debugging message. 1998-10-28 10:37:54 +00:00
Nate Williams
ed8d80c2de Fix 'noatime' bug that was unrelated to use of noatime.
The problem is caused when a directory block is compacted.  When this
occurs, softdep_change_directoryentry_offset() is called to relocate each
directory entry and adjust its matching diradd structure, if any, to match
the new location of the entry.  The bug is that while
softdep_change_directoryentry_offset() correctly adjusts the offsets of
the diradd structures on the pd_diraddhd[] lists (which are not yet ready
to be committed to disk), it fails to adjust the offsets of the diradd
structures on the pd_pendinghd list (which are ready to be committed to
disk).  This causes the dependency structures to be inconsistent with
the buf contents.  Now, if the compaction has moved a directory entry to
the same offset as one of the diradd structures on the pd_pendinghd list
*and* a syscall is done that tries to remove this directory entry before
this directory block has been written to disk (which would empty
pd_pendinghd), a sanity check in newdirrem() will call panic() when it
notices that the inode number in the entry that it is to be removed doesn't
match the inode number in the diradd structure with that offset of that
entry.

Reviewed by:	Kirk McKusick <mckusick@McKusick.COM>
Submitted by:	Don Lewis <Don.Lewis@tsc.tdk.com>
1998-10-03 19:17:11 +00:00
Luoqi Chen
e266594c25 Eliminate a race in VOP_FSYNC() when softupdates is enabled.
Submitted by:	Kirk McKusick	<mckusick@McKusick.COM>
Two minor changes are also included,
1. Remove gratuitious checks for error return from vn_lock with LK_RETRY set,
   vn_lock should always succeed in these cases.
2. Back out change rev. 1.36->1.37, which unnecessarily makes async mount
   a little more unstable. It also keeps us in sync with other BSDs.
Suggested by:	Bruce Evans	<bde@zeta.org.au>
1998-09-24 15:02:46 +00:00
Julian Elischer
55d80b2df1 Handle the case of moving a directory onto the top of a sibling's
child of the same name.

Submitted by:	Kirk Mckusick with fixes from luoqi Chen
Obtained from:   Whistle test tree.
1998-08-12 20:46:47 +00:00
Julian Elischer
28ed032673 Note which version of Kirk's sources this corresponds to. 1998-06-12 21:21:26 +00:00
Julian Elischer
aa75cb86b4 Fix the case when renaming to a file that you've just created and deleted,
that had an inode that has not yet been written to disk, when the inode of the
new file is also not yet written to disk, and your old directory entry is not
yet on disk but you need to remove it and the new name exists in memory
but has been deleted but the transaction to write the deleted name to disk
exists and has not yet been cancelled by the request to delete the non
existant name.  I don't know how kirk could have missed such a glaring
problem for so long. :-) Especially since the inconsitency survived on
the disk for a whole 4 second on average before being fixed by other code.
This was not a crashing bug but just led to filesystem inconsitencies
if you crashed.

Submitted by: Kirk McKusick (mckusick@mckusick.com)
1998-06-12 20:48:30 +00:00
Julian Elischer
6d0ba44288 Add B_NOCACHE to several cases where BSD4.4 only required a B_INVAL.
Change worked out by john and kirk in consort.
1998-06-11 17:44:32 +00:00
Julian Elischer
8c221701c3 Fix for "live inode" panic.
Submitted by: Kirk McKusick <mckusick@McKusick.COM>
Reviewed by: yeah right...
1998-06-10 20:45:46 +00:00
Julian Elischer
4af0bb0f9e Remove buggy debugging code. 1998-06-10 20:03:16 +00:00
Julian Elischer
3942b533f8 Add a reference to the Ganger/Patt paper 1998-06-02 01:27:27 +00:00
Julian Elischer
b8cf4de4c8 A fix to a debug test from Kirk. 1998-05-27 03:32:23 +00:00
Julian Elischer
25db4e8a66 Bring up-to-date with Whistle's current version
Includes some debugging code.
1998-05-19 23:07:25 +00:00
Julian Elischer
46e752be05 Merge with Kirk's version as of Feb 20
His version 9.23 == our version 1.5 of ffs_softdep.c
His version 9.5 ==  our version 1.4 of softdep.c
1998-05-19 22:54:53 +00:00
Julian Elischer
62e12c760c Merge in Kirk's changes to stop softupdates from hogging all of memory. 1998-05-19 21:45:53 +00:00
Julian Elischer
b6dad36385 Change to stop a silly panic. This should be understood better.
Change a buffer swizzle trick to a bcopy. It would be nice if the efficient
trick could be used in the future.
1998-05-19 20:50:41 +00:00
Julian Elischer
987614a910 First published FreeBSD version of soft updates Feb 5. 1998-05-19 20:18:42 +00:00
Julian Elischer
00316b421a Import the next version received from kirk after some
FreeBSD feedback.
1998-05-19 20:03:29 +00:00
Julian Elischer
6b689f7645 Import the earliest version of the soft update code that I have. 1998-05-19 19:47:22 +00:00