Commit Graph

2324 Commits

Author SHA1 Message Date
Mark Murray
a6278a2a42 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
Poul-Henning Kamp
1b3c07c893 Duh! LINT is called NOTES these days.
Make sure LINT checks profiling code as well.
2000-10-14 08:40:47 +00:00
Poul-Henning Kamp
412916079c Make it possible to specify profiling in the kernel config file.
Do so for LINT.
2000-10-14 08:33:22 +00:00
Adrian Chadd
0b0c10b48d 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
Mike Smith
d1eefff418 Whoops, add the 'twe' files.
Submitted by:	Chris Faulhaber <jedgar@fxp.org>
2000-10-14 01:23:29 +00:00
Søren Schmidt
7c6d7d5f82 Add ata-raid.c to the ata driver 2000-10-13 15:42:58 +00:00
Søren Schmidt
d851448bbf Add the ar ATA pseudo RAID driver 2000-10-13 13:02:17 +00:00
Jason Evans
9722d88fba 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 Cobbs
46aa8b9b41 Add missing option NETGRAPH_ETHER.
PR:		kern/20288
2000-10-12 17:51:24 +00:00
Hellmuth Michaelis
3374f8cc7d correct "device iwic0" to "device iwic" 2000-10-10 14:23:04 +00:00
KATO Takenori
479cddfad0 Merged from sys/conf/{files.i386,options.i386} revisions 1.334 and
1.140, respectively.
2000-10-10 08:12:15 +00:00
Hellmuth Michaelis
31a539a5bd update to i4b version 0.95.04 2000-10-09 15:41:15 +00:00
Hellmuth Michaelis
925be47cdb update to i4b version 0.95.04 2000-10-09 13:41:07 +00:00
Poul-Henning Kamp
1b1728ad99 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
Bruce Evans
376cb06d7c Unbreak detection of breakage in cy driver. 2000-10-08 14:46:04 +00:00
Poul-Henning Kamp
4bcd76bdd9 Cy driver doesn't compile and nobody seems to care. 2000-10-07 10:07:36 +00:00
Archie Cobbs
3c5656bf03 Driver for the Intel 82801AA (ICH) SMBus controller and compatibles.
Obtained from:	Whistle source tree
2000-10-06 00:09:46 +00:00
Justin T. Gibbs
bb9c344ff7 Correct the dependency for aicasm. 2000-10-05 04:07:06 +00:00
Doug Rabson
8d9761debf 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
David E. O'Brien
32002b3434 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
David E. O'Brien
e48c56aeb6 Do not prepend DESTDIR' to KMODDIR' as sys/conf/kmod.mk already does
that for us.
2000-10-03 20:05:36 +00:00
Bill Paul
41f7d2d51b Add the pcn device to NEWCARD and NOTES. 2000-10-03 18:30:15 +00:00
Søren Schmidt
c8c827cc94 add ATA_ENABLE_TAGS option 2000-10-03 18:06:24 +00:00
Søren Schmidt
a9763f0a52 Add ATA_ENABLE_TAGS options description 2000-10-03 15:00:11 +00:00
Peter Wemm
a6bc3edb3b 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
John Baldwin
005b841fd6 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
Yoshihiro Takahashi
0a917604f0 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 Takenori
d349eee83b Merged from sys/conf/files.i386 revision 1.332. 2000-10-02 08:51:45 +00:00
Mike Smith
12a02d6efd Move the i386 PCI attachment code out of i386/isa back into i386/pci.
Split out the configuration space access primitives, as these are needed
elsewhere as well.
2000-10-02 07:11:13 +00:00
Peter Wemm
2da5dbec3e Put on my nuclear-grade asbestos suit and cvs rm the old, broken, sound
drivers (again).  These drivers have not compiled for 5-6 months.
Now that the new sound code supports MIDI, the major reason we had for
reviving it is gone.  It is a far better investment polishing the new
midi code than trying to keep this on life support.  Come 5.0-REL, if
there are major shortcomings in the pcm sound driver then maybe we can
rethink this, but until then we should focus on pcm.

Remember, these have not been compilable since ~April-May this year.
2000-10-02 03:13:50 +00:00
Mitsuru IWASAKI
3ffcacc9d8 Remove ACPI_NO_OSDFUNC_INLINE option from kernel configuration. Now
that it's enabled in acpireg.h only if DIAGNOSTIC option is specified.
ACPICA OSD functions will be compiled in machine/acpi_machdep.c again
tentatively (if DIAGNOSTIC option is specified).
# Should we have acpica_osd.c ?
2000-10-01 08:17:47 +00:00
Mike Smith
96f5284585 More updates to the ACPI code:
- Move all register I/O into acpi_io.c
 - Move event handling into acpi_event.c
 - Reorganise headers into acpivar/acpireg/acpiio
 - Move find-RSDT and find-ACPI-owned-memory into acpi_machdep
 - Allocate all resources (except those detailed only by AML)
   as real resources.  Add infrastructure that will make adding
   resource support to AML code easy.
 - Remove all ACPI #ifdefs in non-ACPI code
 - Removed unnecessary includes
 - Minor style and commenting fixes

Reviewed by:	iwasaki
2000-09-30 20:12:27 +00:00
David E. O'Brien
f59f3733e1 The `ed' NIC driver has been changed to work on Alpha now. So enable it
on all platforms.

Submitted by:	Alexander Langer <alex@big.endian.de>
2000-09-30 18:23:32 +00:00
Doug Rabson
1ebcad5720 This is the first snapshot of the FreeBSD/ia64 kernel. This kernel will
not work on any real hardware (or fully work on any simulator). Much more
needs to happen before this is actually functional but its nice to see
the FreeBSD copyright message appear in the ia64 simulator.
2000-09-29 13:46:07 +00:00
Warner Losh
0e6d3195bc Add support for pccard attachments of the ex driver. It supports the
Olicom OC-2220 card, and maybe others.

Submitted by: iwasaki
Reviewed by: mdodd
2000-09-29 03:58:06 +00:00
Mitsuru IWASAKI
ff3f2f5ca4 Document the pmtimer driver.
Pointed-out by:	esu@yk.rim.or.jp (Shinya Esu)
2000-09-26 11:27:30 +00:00
Mitsuru IWASAKI
1653e9c321 Formatting fix on ACPI options. Sort them, comment out negative options.
Suggested by:	bde
2000-09-25 02:43:51 +00:00
Cameron Grant
29fa94c796 add feeder_fmt.c 2000-09-23 22:21:39 +00:00
John Baldwin
4d7e8d916d Enable the ESS Maesto driver.
Approved by:	cg
2000-09-23 17:10:40 +00:00
KATO Takenori
5159493b40 Merged from sys/conf/options.i386 revision 1.139. 2000-09-23 06:36:46 +00:00
Paul Saab
7321545f26 Remove the NCPU, NAPIC, NBUS, NINTR config options. Make NAPIC,
NBUS, NINTR dynamic and set NCPU to a maximum of 16 under SMP.

Reviewed by:	peter
2000-09-22 23:40:10 +00:00
Justin T. Gibbs
321ea9d933 Use quoted includes instead of full path references inside the aic7xxx
sequencer files.  Different platforms place the included files in different
locations and it is easier to modify the include path passed as arguments
to the assembler than adding #ifdef support to the assembler.
2000-09-22 22:06:28 +00:00
Mitsuru IWASAKI
fe44e2ea94 Fix LINT breakage by options ACPI_NO_OSDFUNC_INLINE.
Also space/tab-fix in NOTE.
Grrr, my bad.

Pointed-out by:	eivind
2000-09-21 13:01:19 +00:00
John Baldwin
1fe4c660db Add in and document two new debugging options used in the mutex code:
SMP_DEBUG and WITNESS.
2000-09-21 06:56:11 +00:00
John Baldwin
c508c1b632 Add in documentation and examples of the KTR kernel config options.
Prompted by:	phk's kernel include script
2000-09-21 06:50:02 +00:00
Bill Paul
73334a4329 Add a new driver for the AMD PCnet/FAST, FAST+ and Home PCI adapters.
Previously, these cards were supported by the lnc driver (and they
still are, but the pcn driver will claim them first), which is fine
except the lnc driver runs them in 16-bit LANCE compatibility mode.
The pcn driver runs these chips in 32-bit mode and uses the RX alignment
feature to achieve zero-copy receive. (Which puts it in the same
class as the xl, fxp and tl chipsets.) This driver is also MI, so it
will work on the x86 and alpha platforms. (The lnc driver is still
needed to support non-PCI cards. At some point, I'll need to newbusify
it so that it too will me MI.)

The Am79c978 HomePNA adapter is also supported.
2000-09-20 17:30:22 +00:00
Bill Paul
b54acb744c Add a homePNA PHY driver. This is really only a stub: MII-based homePNA
PHYs tend to look like 10mbps PHYs with no autonegotiation. This allows
us to display the proper media type and link status however.
2000-09-20 17:04:30 +00:00
Mike Smith
ead270f1e3 Mention the AAC_COMPAT_LINUX option 2000-09-19 23:56:27 +00:00
Eivind Eklund
c16dc61bd2 Document ENABLE_VFS_IOOPT 2000-09-19 10:36:19 +00:00
Poul-Henning Kamp
3a1c157588 I have no idea how a '#' became a '*'...
Spotted by:	Bernd Walter <ticso@cicely5.cicely.de>
2000-09-16 20:45:11 +00:00