Commit Graph

2347 Commits

Author SHA1 Message Date
takawata
b89280c404 Add pcib_if location to list of *.m files. 2000-10-31 02:25:20 +00:00
phk
103fe7d4ab Comment out the (old) acpi stuff, it breaks LINT. 2000-10-30 20:35:31 +00:00
phk
db841f6fcc Remove unneeded <stddef.h> #includes. 2000-10-29 16:57:42 +00:00
phk
e96f5ed9b3 Add a hook for doing #include magic (for src/tools/tools/kerninclude). 2000-10-29 09:47:50 +00:00
non
3808f87c58 Add hints for ISA cards (such as TMC1610M) which use stg driver.
The values has been given by Arai Mikio <m-arai@sco.bekkoame.ne.jp>.
2000-10-29 05:51:46 +00:00
cg
d8ad9a1bc1 add commented-out entries for the new sb8 and sb16 drivers 2000-10-28 19:24:14 +00:00
msmith
b31d4f9996 Add some verbiage about the new ACPICA code. Note that this probably
breaks building this config, as the old ACPI code will conflict.  The
old code will be going away shortly, so this should not be an issue.
2000-10-28 07:07:02 +00:00
msmith
de46dd5596 Connect the new ACPICA code to the 'acpica' device. 2000-10-28 07:03:39 +00:00
dougb
1b7ba5be36 Expand on the reasons for and against defining NO_F00F_HACK. This is one of
those options that is frequently misunderstood, and ends up on -questions.

PR:		21852
2000-10-27 10:57:33 +00:00
markm
6458d733a9 As the blocking model has seems to be troublesome for many, disable
it for now with an option.

This option is already deprecated, and will be removed when the
entropy-harvesting code is fast enough to warrant it.
2000-10-27 06:06:04 +00:00
jhb
55ee2dc4c7 Add and document the WITNESS_SKIPSPIN and WITNESS_DDB kernel options. 2000-10-27 03:00:28 +00:00
n_hibma
71ac041c16 The USB scanner driver. To be used together with SANE. 2000-10-25 10:34:38 +00:00
msmith
a020bb21aa Major update to the 'twe' driver.
- Layout reorganisation to enhance portability.  The driver now has
   a relatively MI 'core' and a FreeBSD-specific layer over the top.
   Since the NetBSD people have already done their own port, this is
   largely just to help me with the BSD/OS port.

 - Request ID allocation changed to improve performance (I'd been
   considering switching to this approach after having failed to come
   up with a better way to dynamically allocate request IDs, and seeing
   Andy Doran use it in the NetBSD port of the driver convinced me
   that I was wasting my time doing it any other way).  Now we just
   allocate all the requests up front.

 - Maximum request count bumped back to 255 after characterisation
   of a firmware issue (off-by-one causing it to crash with 256
   outstanding commands).

 - Control interface implemented.  This allows 3ware's '3dm' utility to
   talk to the controller.  3dm will be available from 3ware shortly.

 - Controller soft-reset feature added; if the controller signals a
   firmware or protocol error, the controller will be reset and all
   outstanding commands will be retried.
2000-10-25 06:59:06 +00:00
babkin
436bad9bc2 Added lines for the wds driver.
Approved by:	gibbs
2000-10-24 03:38:28 +00:00
non
8e8d8815fa Add PC-Card/ISA SCSI host adpater drivers from NetBSD/pc98
(a NetBSD port for NEC PC-98x1 machines). They are ncv for NCR 53C500,
nsp for Workbit Ninja SCSI-3, and stg for TMC 18C30 and 18C50.

I thank NetBSD/pc98 and bsd-nomads people.

Obtained from:	NetBSD/pc98
2000-10-23 12:55:51 +00:00
jhb
d61f6536d5 Catch up to SMP_DEBUG -> MUTEX_DEBUG. 2000-10-20 07:41:50 +00:00
jhb
f671832d76 - Make the mutex code almost completely machine independent. This greatly
reducues the maintenance load for the mutex code.  The only MD portions
  of the mutex code are in machine/mutex.h now, which include the assembly
  macros for handling mutexes as well as optionally overriding the mutex
  micro-operations.  For example, we use optimized micro-ops on the x86
  platform #ifndef I386_CPU.
- Change the behavior of the SMP_DEBUG kernel option.  In the new code,
  mtx_assert() only depends on INVARIANTS, allowing other kernel developers
  to have working mutex assertiions without having to include all of the
  mutex debugging code.  The SMP_DEBUG kernel option has been renamed to
  MUTEX_DEBUG and now just controls extra mutex debugging code.
- Abolish the ugly mtx_f hack.  Instead, we dynamically allocate
  seperate mtx_debug structures on the fly in mtx_init, except for mutexes
  that are initiated very early in the boot process.   These mutexes
  are declared using a special MUTEX_DECLARE() macro, and use a new
  flag MTX_COLD when calling mtx_init.  This is still somewhat hackish,
  but it is less evil than the mtx_f filler struct, and the mtx struct is
  now the same size with and without mutex debugging code.
- Add some micro-micro-operation macros for doing the actual atomic
  operations on the mutex mtx_lock field to make it easier for other archs
  to override/optimize mutex ops if needed.  These new tiny ops also clean
  up the code in some places by replacing long atomic operation function
  calls that spanned 2-3 lines with a short 1-line macro call.
- Don't call mi_switch() from mtx_enter_hard() when we block while trying
  to obtain a sleep mutex.  Calling mi_switch() would bogusly release
  Giant before switching to the next process.  Instead, inline most of the
  code from mi_switch() in the mtx_enter_hard() function.  Note that when
  we finally kill Giant we can back this out and go back to calling
  mi_switch().
2000-10-20 07:26:37 +00:00
jon
4580b26b32 NEWCARD/Cardbus -
This commit adds support for Xircom X3201 based cardbus cards.
Support for the TDK 78Q2120 MII is also added.
IBM Etherjet, Intel and Xircom cards uses these chips.

Note that as a result of this commit, some Intel/DEC 21143 based cardbus
cards will also attach, but not get link.  That is being looked at.
2000-10-19 08:34:32 +00:00
hm
b7114d984c Add ifpnp driver to list of i4b hardware drivers. 2000-10-18 09:16:30 +00:00
jon
9764ffea10 Initial commit of NEWCARD cardbus side (that actually compiles and works)
Files:
	dev/cardbus/cardbus.c
	dev/cardbus/cardbusreg.h
	dev/cardbus/cardbusvar.h
	dev/cardbus/cardbus_cis.c
	dev/cardbus/cardbus_cis.h
	dev/pccbb/pccbb.c
	dev/pccbb/pccbbreg.h
	dev/pccbb/pccbbvar.h
	dev/pccbb/pccbb_if.m

This should support:
  - cardbus controllers:
    * TI 113X
    * TI 12XX
    * TI 14XX
    * Ricoh 47X
    * Ricoh 46X
    * ToPIC 95
    * ToPIC 97
    * ToPIC 100
    * Cirrus Logic CLPD683x
  - cardbus cards
    * 3c575BT
    * 3c575CT
    * Xircom X3201 (includes IBM, Xircom and, Intel cards)
    [ 3com support already in kernel, Xircom will be committed real soon now]

This doesn't work with 16bit pccards under NEWCARD.

Enable in your config by having "device pccbb" and "device cardbus".
(A "device pccard" will attach a pccard bus, but it means you system have
a high chance of panicing when a 16bit card is inserted)

It should be fairly simple to make a driver attach to cardbus under
NEWCARD -- simply add an entry for attaching to cardbus on a new
DRIVER_MODULE and add new device IDs as necessary.  You should also make
sure the card can be detached nicely without the interrupt routine doing
something weird, like going into an infinite loop.  Usually that should
entail adding an additional check when a pci register or the bus space is
read to check if it equals 0xffffffff.

Any problems, please let me know.

Reviewed by: imp
2000-10-18 03:25:13 +00:00
roger
daa0904c4a Add new bktr options 2000-10-17 07:59:56 +00:00
dfr
b0c15b2eae Add section for building ia64 kernels. 2000-10-16 20:04:52 +00:00
markm
a8d2363750 After some complaints about the dir names, the random device is
now in dirs called sys/*/random/ instead of sys/*/randomdev/*.

Introduce blocking, but only at startup; the random device will
block until the first reseed happens to prevent clients from
using untrustworthy output.

Provide a read_random() call for the rest of the kernel so that
the entropy device does not need to be present. This means that
things like IPX no longer need to have "device random" hardcoded
into thir kernel config. The downside is that read_random() will
provide very poor output until the entropy device is loaded and
reseeded. It is recommended that developers do NOT use the
read_random() call; instead, they should use arc4random() which
internally uses read_random().

Clean up the mutex and locking code a bit; this makes it possible
to unload the module again.
2000-10-14 10:59:56 +00:00
phk
4dcc092204 Duh! LINT is called NOTES these days.
Make sure LINT checks profiling code as well.
2000-10-14 08:40:47 +00:00
phk
362242ba16 Make it possible to specify profiling in the kernel config file.
Do so for LINT.
2000-10-14 08:33:22 +00:00
adrian
0458054c4e Initial commit of IFS - a inode-namespaced FFS. Here is a short
description:

How it works:
--

Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.)
I didn't see the need in duplicating all of sys/ufs/ffs to get this
off the ground.

File creation is done through a special file - 'newfile' . When newfile
is called, the system allocates and returns an inode. Note that newfile
is done in a cloning fashion:

fd = open("newfile", O_CREAT|O_RDWR, 0644);
fstat(fd, &st);

printf("new file is %d\n", (int)st.st_ino);

Once you have created a file, you can open() and unlink() it by its returned
inode number retrieved from the stat call, ie:

fd = open("5", O_RDWR);

The creation permissions depend entirely if you have write access to the
root directory of the filesystem.

To get the list of currently allocated inodes, VOP_READDIR has been added
which returns a directory listing of those currently allocated.

--

What this entails:

* patching conf/files and conf/options to include IFS as a new compile
  option (and since ifs depends upon FFS, include the FFS routines)

* An entry in i386/conf/NOTES indicating IFS exists and where to go for
  an explanation

* Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS
  routines require (ffs_mount() and ffs_reload())

* a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS
  routines. IFS replaces some of the vfsops, and a handful of vnops -
  most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR().
  Any other directory operation is marked as invalid.

What this results in:

* an IFS partition's create permissions are controlled by the perm/ownership of
  the root mount point, just like a normal directory

* Each inode has perm and ownership too

* IFS does *NOT* mean an FFS partition can be opened per inode. This is a
  completely seperate filesystem here

* Softupdates doesn't work with IFS, and really I don't think it needs it.
  Besides, fsck's are FAST. (Try it :-)

* Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC).
  Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against
  this particular inode, and unravelling THAT code isn't trivial. Therefore,
  useful inodes start at 3.

Enjoy, and feedback is definitely appreciated!
2000-10-14 03:02:30 +00:00
msmith
3de1cbc079 Whoops, add the 'twe' files.
Submitted by:	Chris Faulhaber <jedgar@fxp.org>
2000-10-14 01:23:29 +00:00
sos
5a17a227ad Add ata-raid.c to the ata driver 2000-10-13 15:42:58 +00:00
sos
0deeba0d76 Add the ar ATA pseudo RAID driver 2000-10-13 13:02:17 +00:00
jasone
db944ecf00 For lockmgr mutex protection, use an array of mutexes that are allocated
and initialized during boot.  This avoids bloating sizeof(struct lock).
As a side effect, it is no longer necessary to enforce the assumtion that
lockinit()/lockdestroy() calls are paired, so the LK_VALID flag has been
removed.

Idea taken from:	BSD/OS.
2000-10-12 22:37:28 +00:00
archie
4475180c1f Add missing option NETGRAPH_ETHER.
PR:		kern/20288
2000-10-12 17:51:24 +00:00
hm
c3dfecf123 correct "device iwic0" to "device iwic" 2000-10-10 14:23:04 +00:00
kato
c8d6c53930 Merged from sys/conf/{files.i386,options.i386} revisions 1.334 and
1.140, respectively.
2000-10-10 08:12:15 +00:00
hm
5e620e567f update to i4b version 0.95.04 2000-10-09 15:41:15 +00:00
hm
bee0dc7d0d update to i4b version 0.95.04 2000-10-09 13:41:07 +00:00
phk
68d0f3f4de A couple of negative options was not commented out in NOTES/LINT. This
obscured a #include bug in syscons.
2000-10-09 07:29:41 +00:00
bde
b587783ac1 Unbreak detection of breakage in cy driver. 2000-10-08 14:46:04 +00:00
phk
ef375bd217 Cy driver doesn't compile and nobody seems to care. 2000-10-07 10:07:36 +00:00
archie
9226f07233 Driver for the Intel 82801AA (ICH) SMBus controller and compatibles.
Obtained from:	Whistle source tree
2000-10-06 00:09:46 +00:00
gibbs
abbeb4eb79 Correct the dependency for aicasm. 2000-10-05 04:07:06 +00:00
dfr
5135c38a27 Next round of fixes to the ia64 code. This includes simulated clock and
disk drivers along with a load of fixes to context switching, fork
handling and a load of other stuff I can't remember now. This takes us as
far as start_init() before it dies. I guess now I will have to finish off
the VM system and syscall handling :-).
2000-10-04 17:53:03 +00:00
obrien
619341766f Blah rev 1.208 got bits of the proposed "I want the file /kernel to be
the kernel" patch.

This commit is only the "Do not prepend `DESTDIR' to `KMODDIR' as
sys/conf/kmod.mk already does that for us" change.
2000-10-03 20:09:51 +00:00
obrien
5e185d1bd4 Do not prepend DESTDIR' to KMODDIR' as sys/conf/kmod.mk already does
that for us.
2000-10-03 20:05:36 +00:00
wpaul
c01b4ed351 Add the pcn device to NEWCARD and NOTES. 2000-10-03 18:30:15 +00:00
sos
dddf40beaa add ATA_ENABLE_TAGS option 2000-10-03 18:06:24 +00:00
sos
7efcbf6838 Add ATA_ENABLE_TAGS options description 2000-10-03 15:00:11 +00:00
peter
75d3da548c Move the ata/atapi files to the common area. They were the same on all
platforms.

While here, work around a strange quirk in config(8) that I do not yet
understand.  Rearrange which atapi* files have 'optional' vs. 'count'
so that you can have atapifd without atapicd.  The only difference should
be that this works instead of having a link error because atapi-all.o got
left out of the kernel.
2000-10-03 09:23:49 +00:00
jhb
030e1f307a Move sys/dev/nulldev to sys/dev/null to be more consistent with naming
under sys/dev.
2000-10-02 20:16:37 +00:00
nyan
bd4026ebae Added NEC PC-9801-83, 84, PC-9801-103, 104, PC-9801N-25 and PC-9801N-J02R
support which use National Semiconductor DP8393X (SONIC) as ethernet
controller. Currently, this driver is used on only PC-98.

Submitted by:	Motomichi Matsuzaki <mzaki@e-mail.ne.jp>
Obtained from:	NetBSD/pc98
2000-10-02 14:27:20 +00:00
kato
5ef2146972 Merged from sys/conf/files.i386 revision 1.332. 2000-10-02 08:51:45 +00:00