Commit Graph

3707 Commits

Author SHA1 Message Date
Scott Long
5f23c2b5c4 We are at 5.1-CURRENT now 2003-06-02 04:58:43 +00:00
David E. O'Brien
dfb835396a Fix a style nit.
Submitted by:	ru
2003-06-02 03:26:03 +00:00
David E. O'Brien
5345d76f4a Be sloppier about the miidevs.h dependency. This reduces the maintenance
effort at the expense of making miidevs.h a dependency for very .o.

Requested by:	imp
2003-06-01 20:47:46 +00:00
Poul-Henning Kamp
89e50d0e9a If DESTDIR was specified as a makeoption in the kernelconfig file
we want to pass it on to the modules build so we don't install
the kernel under DESTDIR and the modules in /boot.
2003-05-31 21:16:12 +00:00
Poul-Henning Kamp
03841f4eec Eliminate potential overflows by allocating softc dynamically,
removing at the same time the need for this to be a "count" config
option.

Found by:       FlexeLint
2003-05-31 17:06:20 +00:00
Peter Wemm
1f5b79bc16 Make this compile with WITNESS enabled. It wants the syscall names. 2003-05-31 06:49:53 +00:00
Peter Wemm
ff7bf2f72e Port acpica to amd64.
Approved by:  re (amd64/* blanket)
2003-05-31 06:47:05 +00:00
Peter Wemm
edd1f930aa Update the kernel compile flags inside the .if ${MACHINE_ARCH} == "amd64"
section to stop gcc generating the dwarf2 .eh_frame unwind tables.  It
is dead weight for the time being.  Maybe it can be used to perform
stack traces and/or get the location of function arguments in ddb, but
that requires a dwarf2 runtime interpreter, which we do not have.

Approved by:	re (amd64 "safe" bits)
2003-05-30 01:06:58 +00:00
Peter Wemm
ec2343a8e1 Add ddb machdep bits.
Approved by:	re (amd64 bits)
2003-05-30 01:03:43 +00:00
Peter Wemm
3c9a3c9ca3 Major pmap rework to take advantage of the larger address space on amd64
systems.  Of note:
- Implement a direct mapped region using 2MB pages.  This eliminates the
  need for temporary mappings when getting ptes.  This supports up to
  512GB of physical memory for now.  This should be enough for a while.
- Implement a 4-tier page table system.  Most of the infrastructure is
  there for 128TB of userland virtual address space, but only 512GB is
  presently enabled due to a mystery bug somewhere.  The design of this
  was heavily inspired by the alpha pmap.c.
- The kernel is moved into the negative address space(!).
- The kernel has 2GB of KVM available.
- Provide a uma memory allocator to use the direct map region to take
  advantage of the 2MB TLBs.
- Fixed some assumptions in the bus_space macros about the ability
  to fit virtual addresses in an 'int'.

Notable missing things:
- pmap_growkernel() should be able to grow to 512GB of KVM by expanding
  downwards below kernbase.  The kernel must be at the top 2GB of the
  negative address space because of gcc code generation strategies.
- need to fix the >512GB user vm code.

Approved by:	re (blanket)
2003-05-23 05:04:54 +00:00
Peter Wemm
3830dc4629 Another x86-64 comment fixup
Approved by:	re (blanket amd64 stuff)
2003-05-19 22:19:02 +00:00
Peter Wemm
92f0cd89a0 s/x86_64/amd64/ in comments in header.
Approved by:	re (blanket amd64)
2003-05-19 22:15:30 +00:00
Scott Long
8c33536c7f Add the MUTEX_NOINLINE option that explicitely de-inlines the mutex
operations.

Submitted by:	jhb
2003-05-18 03:46:30 +00:00
Marcel Moolenaar
f2c49dd248 Revamp of the syscall path, exception and context handling. The
prime objectives are:
o  Implement a syscall path based on the epc inststruction (see
   sys/ia64/ia64/syscall.s).
o  Revisit the places were we need to save and restore registers
   and define those contexts in terms of the register sets (see
   sys/ia64/include/_regset.h).

Secundairy objectives:
o  Remove the requirement to use contigmalloc for kernel stacks.
o  Better handling of the high FP registers for SMP systems.
o  Switch to the new cpu_switch() and cpu_throw() semantics.
o  Add a good unwinder to reconstruct contexts for the rare
   cases we need to (see sys/contrib/ia64/libuwx)

Many files are affected by this change. Functionally it boils
down to:
o  The EPC syscall doesn't preserve registers it does not need
   to preserve and places the arguments differently on the stack.
   This affects libc and truss.
o  The address of the kernel page directory (kptdir) had to
   be unstaticized for use by the nested TLB fault handler.
   The name has been changed to ia64_kptdir to avoid conflicts.
   The renaming affects libkvm.
o  The trapframe only contains the special registers and the
   scratch registers. For syscalls using the EPC syscall path
   no scratch registers are saved. This affects all places where
   the trapframe is accessed. Most notably the unaligned access
   handler, the signal delivery code and the debugger.
o  Context switching only partly saves the special registers
   and the preserved registers. This affects cpu_switch() and
   triggered the move to the new semantics, which additionally
   affects cpu_throw().
o  The high FP registers are either in the PCB or on some
   CPU. context switching for them is done lazily. This affects
   trap().
o  The mcontext has room for all registers, but not all of them
   have to be defined in all cases. This mostly affects signal
   delivery code now. The *context syscalls are as of yet still
   unimplemented.

Many details went into the removal of the requirement to use
contigmalloc for kernel stacks. The details are mostly CPU
specific and limited to exception_save() and exception_restore().
The few places where we create, destroy or switch stacks were
mostly simplified by not having to construct physical addresses
and additionally saving the virtual addresses for later use.

Besides more efficient context saving and restoring, which of
course yields a noticable speedup, this also fixes the dreaded
SMP bootup problem as a side-effect. The details of which are
still not fully understood.

This change includes all the necessary backward compatibility
code to have it handle older userland binaries that use the
break instruction for syscalls. Support for break-based syscalls
has been pessimized in favor of a clean implementation. Due to
the overall better performance of the kernel, this will still
be notived as an improvement if it's noticed at all.

Approved by: re@ (jhb)
2003-05-16 21:26:42 +00:00
Marcel Moolenaar
5551d84398 Sync the linker script with the one used by default for userland. Since
ia64 only uses relocations with addend, remove the sections specific to
non-addend relocations (.rel.*). Also remove C++ specific sections.

Approved by: re@ (blanket)
2003-05-16 06:03:45 +00:00
David E. O'Brien
04ddc5dea6 Run $S/kern/genassym.sh with the correct NM.
Approved by:	re(blanket)
2003-05-16 02:27:17 +00:00
Juli Mallett
7bbf05a2c3 Clear up that COMPAT_43 may not do the same thing on every architecture
and clear up that COMPAT_SUNOS is similarly MI, and does something
relatively similar.

Approved by:	re/rwatson
2003-05-15 02:10:30 +00:00
Peter Wemm
d85631c4ac Add BASIC i386 binary support for the amd64 kernel. This is largely
stolen from the ia64/ia32 code (indeed there was a repocopy), but I've
redone the MD parts and added and fixed a few essential syscalls.  It
is sufficient to run i386 binaries like /bin/ls, /usr/bin/id (dynamic)
and p4.  The ia64 code has not implemented signal delivery, so I had
to do that.

Before you say it, yes, this does need to go in a common place.  But
we're in a freeze at the moment and I didn't want to risk breaking ia64.
I will sort this out after the freeze so that the common code is in a
common place.

On the AMD64 side, this required adding segment selector context switch
support and some other support infrastructure.  The %fs/%gs etc code
is hairy because loading %gs will clobber the kernel's current MSR_GSBASE
setting.  The segment selectors are not used by the kernel, so they're only
changed at context switch time or when changing modes.  This still needs
to be optimized.

Approved by:	re (amd64/* blanket)
2003-05-14 04:10:49 +00:00
Scott Long
21157fae1c Add files for the 'ips' driver. 2003-05-11 06:37:52 +00:00
Scott Long
5639836dcf garbage collect the reserved major for the ips disk device. GEOM makes
it unneeded.
2003-05-11 06:18:33 +00:00
Peter Wemm
b2744ab9c4 Remove special hacks for FSF cross tools now that it builds natively. 2003-05-10 01:12:24 +00:00
Scott Long
bc2de3dac0 We are now in 5.1-BETA 2003-05-06 03:55:24 +00:00
Poul-Henning Kamp
069accaa6a Put descriptive comments on the GEOM_* options 2003-05-05 21:21:31 +00:00
David E. O'Brien
1d7157c5c3 Use C99 for the kernel. 2003-05-03 18:05:56 +00:00
Shunsuke Akiyama
11e04b0528 Add RealTek RTL8150 USB to fast Ethernet controller driver.
This driver now supports the Melco LUA-KTX and the GREEN HOUSE
GH-USB100B.

Reviewed by:	imp
MFC after:	2 weeks
2003-05-03 10:16:56 +00:00
Peter Wemm
7dca36c92c Spell cpu_switch correctly. 2003-05-03 03:30:29 +00:00
Peter Wemm
278286256b Rename amd64/*.s to amd64/*.S 2003-05-03 00:19:42 +00:00
Yoshihiro Takahashi
50cf98ed97 - Move decoding pc98_partition function into geom_pc98_enc.c.
- Add encoding pc98_partition function.
2003-05-01 13:44:24 +00:00
Peter Wemm
b05deb9bc1 Sync up with the files in the hammer branch in the p4 tree to get basic
AMD64 support.  There is still more to add.
2003-05-01 02:59:24 +00:00
Peter Wemm
a15febf91b Add AMD64 hooks 2003-04-30 22:22:29 +00:00
Mark Murray
1d6911d10f Help out with linting. Print the ${LINT} command line. This makes
the all-important -DFOO -IBAR options "hang out".
2003-04-30 12:19:25 +00:00
Nate Lawson
1ea349191e Catch up with the new acpi files. 2003-04-29 19:19:47 +00:00
Marcel Moolenaar
b1c4ed2222 Sort lines. 2003-04-29 05:38:41 +00:00
Warner Losh
02aa843a15 Update to reflect tw removal.
Approved by: re@ (scottl)
2003-04-27 05:40:53 +00:00
Eric Anholt
42da33c444 Update the DRM to the latest from DRI CVS. Includes some bugfixes and removal
of the infrastructure for the gamma driver which was removed a while back.
The DRM_LINUX option is removed because the handler is now provided by the
linux compat code itself.
2003-04-25 01:18:47 +00:00
Poul-Henning Kamp
666223979c Update GEOM::SUN to use the decoding functions in geom_sunlabel_enc.c
and #defines from sys/sun_disklabel.h.
2003-04-21 19:54:11 +00:00
Bill Paul
87b4a25958 Add device driver support for the ASIX Electronics AX88172 USB 2.0
ethernet controller. The driver has been tested with the LinkSys
USB200M adapter. I know for a fact that there are other devices out
there with this chip but don't have all the USB vendor/device IDs.

Note: I'm not sure if this will force the driver to end up in the
install kernel image or not. Special magic needs to be done to exclude
it to keep the boot floppies from bloating again, someone please
advise.
2003-04-20 19:05:33 +00:00
Poul-Henning Kamp
daabb372ca Separate the encoding/decoding functions for struct disklabel into a
separate source file which can be used from both kernel and userland code.
2003-04-17 07:39:03 +00:00
Hidetoshi Shimokawa
4ed471c143 Add dev/firewire/fwdma.c. 2003-04-17 03:39:27 +00:00
Poul-Henning Kamp
18b492fc8c Bump the config version to force people to upgrade their config(8)
so the fix for emitting multiple instances of .o files will prevent
link errors on LINT.
2003-04-15 21:29:11 +00:00
John Baldwin
8667535d13 NO_COMPAT_FREEBSD4 is no longer used. 2003-04-15 20:59:43 +00:00
Robert Watson
3757e11997 Re-add MUTEX_DEBUG and MUTEX_PROFILING, which got hosed by rejected
chunks from bde's patch.

Spotted by:	jhb
2003-04-15 20:49:48 +00:00
Robert Watson
d971c22b4a Improve consistency, ordering, style of options:
- Remove extra blank lines
- Sort options
- Remove comments that belong in NOTES

Submitted by:	bde (older revision)
2003-04-15 19:43:52 +00:00
Matthew N. Dodd
5423375573 Express bus dependency a little more clearly. 2003-04-15 04:08:01 +00:00
Robert Watson
e965edfda2 Add MAC_ALWAYS_LABEL_MBUF to options; this permits the administrator
to force the allocation of MAC labels for all mbufs regardless of
whether a configured policy requires labeling when the mbuf is
allocated.  This can be useful it you anticipate loading a fully
labeled policy after boot and don't want mbufs to exist without
label storage, for performance measurement purposes, etc.  It also
slightly lowers the overhead of m_tag labeling due to removing the
decision logic.

While here, improve commenting of other MAC options.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-04-14 21:45:12 +00:00
Bernd Walter
ca3acad1d7 add EHCI (USB 2.0) controller support.
Approved by:	joe
		gallatin (mentor)
Obtained from:  NetBSD
2003-04-14 14:04:08 +00:00
Max Khon
7d0de413cb Driver for Granch SBNI16 SHDSL modem
Submitted by:	Denis I. Timofeev <timofeev@granch.ru>
MFC after:	1 week
2003-04-13 06:27:13 +00:00
Dag-Erling Smørgrav
ed9adee74c Options that go into homonymous headers shouldn't specify the header name.
Submitted by:	Hiten Pandya <hiten@unixdaemons.com>
2003-04-12 09:40:37 +00:00
Poul-Henning Kamp
6e03422af0 Move the functions for encoding decoding struct dos_partition into
a separate .c file so they can be used from userland as well.
2003-04-12 08:34:40 +00:00
Mike Silbersack
53dcc544a8 Rename MBUF_FRAG_TEST to MBUF_STRESS_TEST as it will be extended
to include more than just frag tests.
2003-04-12 06:11:46 +00:00
Mike Barcroft
4e0ee531f2 Clarify NO_SWAPPING description. 2003-04-11 14:48:13 +00:00
Dag-Erling Smørgrav
0da46d776b Convert the SMP_TSC kernel option into a loader tunable. Also enable
the TSC timecounter on single-CPU systems even when they are running
an SMP kernel.
2003-04-10 23:07:24 +00:00
Matthew N. Dodd
efc5f672bd - Add PCI support (Adaptec AHA-2920/A,Future Domain TMC-18XX/3260).
- Reduce duplicated code.

PR:             50427
Submitted by:   Bob Bishop <rb@gid.co.uk>
2003-04-07 10:13:25 +00:00
Tor Egge
fd6d48b8e8 Add SMP_TSC option, which can be used on SMP systems where the TSCs
are synchronized to reduce context switch cost.
2003-04-04 23:54:46 +00:00
Poul-Henning Kamp
fb89eb1ed7 Add a rudimentary but working driver for the Adlink "NuDaq PCI-9812".
This is a 4 channel 20 msps 12 bit ADC card.

Anyone wanting to play with GNUradio or similar can start here.
2003-04-04 18:53:04 +00:00
Yoshihiro Takahashi
335ac29ccd MFi386: revision 1.188 2003-04-03 12:39:51 +00:00
Poul-Henning Kamp
4d3651f456 Remove geom_enc.c, a superset of these functions are now available in
<sys/endian.h>
2003-04-03 11:40:06 +00:00
Peter Wemm
cc66ebe2a9 Commit a partial lazy thread switch mechanism for i386. it isn't as lazy
as it could be and can do with some more cleanup.  Currently its under
options LAZY_SWITCH.  What this does is avoid %cr3 reloads for short
context switches that do not involve another user process.  ie: we can
take an interrupt, switch to a kthread and return to the user without
explicitly flushing the tlb.  However, this isn't as exciting as it could
be, the interrupt overhead is still high and too much blocks on Giant
still.  There are some debug sysctls, for stats and for an on/off switch.

The main problem with doing this has been "what if the process that you're
running on exits while we're borrowing its address space?" - in this case
we use an IPI to give it a kick when we're about to reclaim the pmap.

Its not compiled in unless you add the LAZY_SWITCH option.  I want to fix a
few more things and get some more feedback before turning it on by default.

This is NOT a replacement for Bosko's lazy interrupt stuff.  This was more
meant for the kthread case, while his was for interrupts.  Mine helps a
little for interrupts, but his helps a lot more.

The stats are enabled with options SWTCH_OPTIM_STATS - this has been a
pseudo-option for years, I just added a bunch of stuff to it.

One non-trivial change was to select a new thread before calling
cpu_switch() in the first place.  This allows us to catch the silly
case of doing a cpu_switch() to the current process.  This happens
uncomfortably often.  This simplifies a bit of the asm code in cpu_switch
(no longer have to call choosethread() in the middle).  This has been
implemented on i386 and (thanks to jake) sparc64.  The others will come
soon.  This is actually seperate to the lazy switch stuff.

Glanced at by:  jake, jhb
2003-04-02 23:53:30 +00:00
Jeff Roberson
404c3ad471 - Add the kern_umtx.c file to the build. 2003-04-01 01:13:29 +00:00
Jeff Roberson
f00fea89ca - Add kern_thr.c 2003-04-01 00:30:54 +00:00
Jake Burkholder
7ab9b220d9 - Add support for PAE and more than 4 gigs of ram on x86, dependent on the
kernel opition 'options PAE'.  This will only work with device drivers which
  either use busdma, or are able to handle 64 bit physical addresses.

Thanks to Lanny Baron from FreeBSD Systems for the loan of a test machine
with 6 gigs of ram.

Sponsored by:	DARPA, Network Associates Laboratories, FreeBSD Systems
2003-03-30 05:24:52 +00:00
Matthew N. Dodd
50e960d918 - Move driver to newbus.
- Provide identify methods for EtherExpress and 3c507 cards; this
  means these cards no longer need wired configs.
- Provide a detach method.
2003-03-29 13:36:41 +00:00
Mike Silbersack
4a5ccac770 Add MBUF_FRAG_TEST to NOTES.
Submitted by:	Hiten Pandya <hiten@unixdaemons.com>
2003-03-29 05:46:34 +00:00
Tor Egge
5bbb806004 Add support for reading directly from file to userland buffer when the
O_DIRECT descriptor status flag is set and both offset and length is a
multiple of the physical media sector size.
2003-03-26 23:40:42 +00:00
Robert Watson
eae870cdb4 Add a new kernel option, MALLOC_MAKE_FAILURES, which compiles
in a debugging feature causing M_NOWAIT allocations to fail at
a specified rate.  This can be useful for detecting poor
handling of M_NOWAIT: the most frequent problems I've bumped
into are unconditional deference of the pointer even though
it's NULL, and hangs as a result of a lost event where memory
for the event couldn't be allocated.  Two sysctls are added:

debug.malloc.failure_rate

  How often to generate a failure: if set to 0 (default), this
  feature is disabled.  Otherwise, the frequency of failures --
  I've been using 10 (one in ten mallocs fails), but other
  popular settings might be much lower or much higher.

debug.malloc.failure_count

  Number of times a coerced malloc failure has occurred as a
  result of this feature.  Useful for tracking what might have
  happened and whether failures are being generated.

Useful possible additions: tying failure rate to malloc type,
printfs indicating the thread that experienced the coerced
failure.

Reviewed by:	jeffr, jhb
2003-03-26 20:18:40 +00:00
Paul Saab
87437b0b89 Nuke options HTT infavor of machdep.hlt_logical_cpus tunable/sysctl.
This keeps the logical cpu's halted in the idle loop.  By default
the logical cpu's are halted at startup.  It is also possible to
halt any cpu in the idle loop now using machdep.hlt_cpus.

Examples of how to use this:
machdep.hlt_cpus=1	halt cpu0
machdep.hlt_cpus=2	halt cpu1
machdep.hlt_cpus=4	halt cpu2
machdep.hlt_cpus=3	halt cpu0,cpu1

Reviewed by:	jhb, peter
2003-03-26 19:49:34 +00:00
Mike Silbersack
9d9edc5693 Add the MBUF_FRAG_TEST option. When compiled in, this option
allows you to tell ip_output to fragment all outgoing packets
into mbuf fragments of size net.inet.ip.mbuf_frag_size bytes.
This is an excellent way to test if network drivers can properly
handle long mbuf chains being passed to them.

net.inet.ip.mbuf_frag_size defaults to 0 (no fragmentation)
so that you can at least boot before your network driver dies. :)
2003-03-25 05:45:05 +00:00
Matthew N. Dodd
94c35e0af2 Merge PC98 support. 2003-03-25 05:19:18 +00:00
Matthew N. Dodd
257427efe3 Retire sys/pc98/pc98/spkr.c 2003-03-24 21:01:54 +00:00
Matthew N. Dodd
96aa42527e - Consolidate smapi driver.
- Attach to nexus.
- Use null{open,close}() instead of rolling our own.
2003-03-24 19:40:54 +00:00
Matthew N. Dodd
863463c1cb Add the 'vpd' and 'smbios' drivers. The 'smbios' driver is just a
stub right now.
2003-03-24 19:32:57 +00:00
Matthew N. Dodd
b7b5ae3edb Use repo-copied files in sys/i386/bios. 2003-03-24 19:14:46 +00:00
Ruslan Ermilov
ab0f83bd03 Remove bitrot associated with `maxusers'.
Submitted by:	bde
2003-03-22 14:18:23 +00:00
Jake Burkholder
00aabd830d - Remove unused cache flushing routines. These will not necessary work
on future UltraSPARC cpus for which the data cache is not direct mapped.
- Move UltraSPARC I and II (spitfire, blackbird, sapphire, sabre) specific
  functions to spitfire.c, and add cheetah.c for UltraSPARC III specific
  functions.  Initially just cache flushing, but there are a few other
  functions that will need to move here.
- Add an ipi handler for data cache flushing on UltraSPARC III.
- Use function pointers to select the right cache flushing functions based
  on cpu_impl.

With this it is possible to boot single user from an mfs root on UltraSPARC
III systems, including spinning up secondary processors.  There is currently
no support for the host to pci bridge, and no documentation for it is
publically available.

Thanks to Oleg Derevenetz for providing access to a system with UltraSPARC
III+ cpus.
2003-03-19 06:55:37 +00:00
Poul-Henning Kamp
7e69ddc973 Missed in last commit: don't compile now non-existent geom_stats.c 2003-03-18 09:53:03 +00:00
Sam Leffler
b7c4858f1e o add crypto driver glue for using the new rndtest driver/module; this is
conditional in each driver on foo_RNDTEST being defined_
o bring HIFN_DEBUG and UBSEC_DEBUG out to be visible options; they control
  the debugging printfs that are set with hw.foo.debug (e.g. hw.hifn.debug)
2003-03-11 22:47:06 +00:00
Sam Leffler
ac7e2c0515 FIPS 140-2 rng data tester for h/w crypto devices. This driver periodically
monitors the entropy data harvested by crypto drivers to verify it complies
with FIPS 140-2.  If data fails any test then the driver discards it and
commences continuous testing of harvested data until it is deemed ok.
Results are collected in a statistics block and, optionally, reported on
the console.  In normal use the overhead associated with this driver is
not noticeable.

Note that drivers must (currently) be compiled specially to enable use.

Obtained from:	original code by Jason L. Wright
2003-03-11 19:26:16 +00:00
Jake Burkholder
3233337249 "Or" is expressed with 2 separate config lines.
Reported by:	Stijn Hoop <stijn@win.tue.nl>
2003-03-10 23:25:54 +00:00
Shunsuke Akiyama
20280807ca Fix device freeze to reduce output packet size.
And make this value configurable by kernel config or sysctl.
2003-03-09 11:50:27 +00:00
Poul-Henning Kamp
d42ee4e410 Note that MAJOR_AUTO is now the default if d_maj is not initialized. This
is more robust and prevents the hijacking of /dev/console for the typical
mistake.

Remove unneeded MAJOR_AUTO uses, it is only needed explicitly now if the
driver source has cross-branch compatibility to old releases.
2003-03-09 11:03:45 +00:00
Eric Anholt
43e2d1e384 Update the DRM to latest from DRI CVS. This is approximately the version
included in XFree86 4.3, but includes some fixes.  Notable changes include
Radeon 8500-9100 support, PCI Radeon/Rage 128 support, transform & lighting
support for Radeons, and vblank syncing support for r128, radeon, and mga.
The gamma driver was removed due to lack of any users.
2003-03-09 02:08:30 +00:00
Tim J. Robbins
74c69254e6 Remove unimplemented IP-in-IPX encapsulation support (options IPTUNNEL). 2003-03-08 06:58:22 +00:00
Alan Cox
09c80124a3 Remove ENABLE_VFS_IOOPT. It is a long unfinished work-in-progress.
Discussed on:	arch@
2003-03-06 03:41:02 +00:00
Peter Wemm
3c6b084e96 Finish driving a stake through the heart of netns and the associated
ifdefs scattered around the place - its dead Jim!

The SMB stuff had stolen AF_NS, make it official.
2003-03-05 19:24:24 +00:00
John Baldwin
8b18ef15a4 Duplicate more of options.i386 in this file since we can't seem to settle
on a notion of having MACHINE_ARCH common files that MACHINE files include.
2003-03-05 18:12:48 +00:00
David Schultz
9c62b3ee7c Make TTYHOG tunable.
Reviewed by:	mike (mentor)
2003-03-05 08:16:29 +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
John Baldwin
d7a715dc64 Wrap the hyperthreading support code with the HTT kernel option.
Hyperthreading support is now off unless the HTT option is added.

MFC-after:	3 days
2003-03-04 20:24:53 +00:00
Ruslan Ermilov
f2bffe0f7f exists() is too aggressive when searching for files without a full path.
Inspired by:	bsd.prog.mk,v 1.105
2003-03-03 22:51:22 +00:00
Ruslan Ermilov
ab404da2f1 Leave the `clobber' target alone, it clobbers too much (including
the generated Makefile) to be useful as the cleandir replacement.

Reported by:	des
2003-03-03 09:35:44 +00:00
Robert Watson
03d031626d A cute yet small MAC policy that provides a simple ACL mechanism to
permit users and groups to bind ports for TCP or UDP, and is intended
to be combined with the recently committed support for
net.inet.ip.portrange.reservedhigh.  The policy is twiddled using
sysctl(8).  To use this module, you will need to compile in MAC
support, and probably set reservedhigh to 0, then twiddle
security.mac.portacl.rules to set things as desired.  This policy
module only restricts ports explicitly bound using bind(), not
implicitly bound ports where the port number is selected by the
IP stack.  It appears to work properly in my local configuration,
but needs more broad testing.

A sample policy might be:

  # sysctl security.mac.portacl.rules="uid:425:tcp:80,uid:425:tcp:79"

This permits uid 425 to bind TCP sockets to ports 79 and 80.  Currently
no distinction is made for incoming vs. outgoing ports with TCP,
although that would probably be easy to add.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-03-02 23:01:42 +00:00
Ruslan Ermilov
04b603e5a2 Abuse cleandir' for what clobber' was supposed to do, for peter. 2003-03-02 21:25:00 +00:00
Ruslan Ermilov
e1ace8b4d3 Hopefully, obviate the need of ``make depend''. 2003-02-28 22:17:47 +00:00
Ruslan Ermilov
ddc474a84b Initiate the de-orbit burn sequence for <bsd.kern.mk>.
Always use sys/conf/kern.mk when building kernel/modules.
<bsd.kern.mk> is only preserved for sys/boot/pc98/boot2
for now, but this will be fixed.  If there are other
users of <bsd.kern.mk>, please let me know.

Reminded by:	bde
2003-02-28 22:12:17 +00:00
Ruslan Ermilov
5d1b6a85bc Standardize handling of locore.[sS] etc. files.
Submitted by:	jake, bde, ru
2003-02-28 21:59:14 +00:00
Maxime Henrion
0bc60d9734 GC the major number for the network entries. 2003-02-28 19:56:10 +00:00
Warner Losh
f6820d8b82 86 ufm: it now uses MAJOR_AUTO. 2003-02-28 13:25:06 +00:00
Poul-Henning Kamp
3e7b60db4b NO_GEOM cleanup:
Convert to "struct disk *" centric API.

OK'ed by:	sos
2003-02-28 09:53:36 +00:00
Poul-Henning Kamp
82a5503800 Retire #3: wd. 2003-02-28 09:48:59 +00:00
Poul-Henning Kamp
ad89059cbf Attempt to mark the majors which are used by drivers checked into the
CVS tree.
2003-02-28 07:49:57 +00:00
Jake Burkholder
53faa77b2f Sync with bsd.kern.mk.
Reminded by:	bde
2003-02-28 06:49:59 +00:00
Warner Losh
9cd41be1d0 pccard isn't picky about WHAT major it gets. 2003-02-28 05:56:06 +00:00
Jake Burkholder
3fb37429df Use MAJOR_AUTO. GC statically assigned majors. 2003-02-28 04:21:13 +00:00
Jake Burkholder
dd606b5425 - Removed various cruft from before we had a hosted toolchain (!).
- Moved special compiler flags to bsd.kern.mk so they get used for modules
  too.
2003-02-27 23:02:22 +00:00
Jake Burkholder
418306e3bf Include majors.o in SYSTEM_OBJS to make sparc64 kernels link. This is a
quick fix while I work on a better solution.
2003-02-27 20:55:09 +00:00
Poul-Henning Kamp
28484399ed Update the comment to reflect new reality.
GC more entries.
2003-02-27 15:34:12 +00:00
Poul-Henning Kamp
5fc8342289 GC some more major numbers. 2003-02-27 15:18:56 +00:00
Poul-Henning Kamp
f85c6d3502 Use MAJOR_AUTO. 2003-02-27 15:05:28 +00:00
Poul-Henning Kamp
76d6aef572 Add necessary awk magic to create a table of major numbers allocated
in conf/majors so we can avoid autoallocating them in the kernel.
2003-02-27 08:52:11 +00:00
Poul-Henning Kamp
e30fb64028 Mark comments with '#' to make this machine-readable 2003-02-27 07:57:00 +00:00
Ruslan Ermilov
824018495d Implemented "nooption" and "nomakeoption" config(8) tokens.
Fixed memory leak in the "nodevice" option implementation.

Use these instead of sed(1) in MD NOTES.

Use a single makefile (sys/conf/makeLINT.mk) to generate
LINT for all architectures.  (Previous versions missed
the LINT dependency on Makefile, and i386 version also
missed the dependency on ${NOTES}.)

Fixed bugs in the previous NOTES conversion using the
"nodevice" token and sed(1):

- i386 LINT lost "device pst".

- pc98 LINT lost SC_*, MAXCONS and KBD_DISABLE_KEYMAP_LOAD
  options, and got needless DPT_* options.

- Added nooptions PPC_DEBUG, PPC_PROBE_CHIPSET, KBD_INSTALL_CDEV
  to sparc64 LINT so that it has a chance to config(8).

This basically returns us to where we were before.
2003-02-26 23:36:59 +00:00
Scott Long
46777e9769 Retire the aacd major (151) now that it's no longer needed. 2003-02-26 02:52:14 +00:00
Poul-Henning Kamp
9fed9b054d NO_GEOM cleanup:
Retire major #13 (da), #116 (ad), #157 (ar)
2003-02-25 22:09:10 +00:00
David E. O'Brien
6e818956c5 Move most everything back to a MI NOTES, and use "nodevice" in MD NOTES
Where needed.  Use 'sed' for now in place of "nooptions".  Add a sparc64
MD NOTES.

Reviewed by:	arch@
2003-02-25 20:59:23 +00:00
Poul-Henning Kamp
42170da1d8 NO_GEOM cleanup:
Move to new "struct disk *" centric API.
Retire major #147 (twed)
2003-02-25 07:41:51 +00:00
Poul-Henning Kamp
b2fe65c5be NO_GEOM cleanup:
Move to "struct disk*" centric API.
Retire major #131 (mlxd)
2003-02-25 07:35:41 +00:00
Poul-Henning Kamp
e78dcaf403 Retire major #133 (amrd). 2003-02-25 07:24:51 +00:00
Marcel Moolenaar
907cf80fbf Remove support for running in SimOS. The support has rotted over
time and there's no indication that it will improve anytime soon.
By removing support for SimOS it is possible to build LINT on
Alpha, which is considered more important at the moment.

Not objected to on: alpha@
2003-02-25 00:42:40 +00:00
David E. O'Brien
b9a49f7eb4 pst(4) should be portable across all our platforms. 2003-02-24 05:12:24 +00:00
Peter Grehan
84188b7cc1 Add apple partition map GEOM module 2003-02-24 00:16:51 +00:00
David E. O'Brien
660a811fcd Pass 'nodevice' onto the final output. 2003-02-23 19:40:45 +00:00
Poul-Henning Kamp
e165e4d26a NO_GEOM cleanup:
Move to "struct disk *" centered API.

Fix some minor nits.
2003-02-23 19:15:34 +00:00
Poul-Henning Kamp
e5dc8339ae NO_GEOM cleanup:
Move ida driver to "struct disk *" centric api.

Retire major number 109.
2003-02-23 18:45:50 +00:00
Poul-Henning Kamp
14ebcbfa42 Mark major 102 unused now that the fla driver no longer needs a major number. 2003-02-23 18:12:41 +00:00
Robert Watson
96c4266cb3 Add an implementation of strdup() to libkern. Allocated memory is of
type M_STRING, now defined in malloc.h.  Useful when string parsing
must occur using the kernel strsep() and we want to avoid toasting
the source string.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-02-23 14:30:17 +00:00
Yoshihiro Takahashi
a0450500b3 Move MD devices to <machine>/conf/NOTES. 2003-02-23 13:32:33 +00:00
Yoshihiro Takahashi
8aee776d63 Remove unneeded entries and fix indent. 2003-02-23 13:17:27 +00:00
Sam Leffler
14dd6717f8 Add a new config option IPSEC_FILTERGIF to control whether or not
packets coming out of a GIF tunnel are re-processed by ipfw, et. al.
By default they are not reprocessed.  With the option they are.

This reverts 1.214.  Prior to that change packets were not re-processed.
After they were which caused problems because packets do not have
distinguishing characteristics (like a special network if) that allows
them to be filtered specially.

This is really a stopgap measure designed for immediate MFC so that
4.8 has consistent handling to what was in 4.7.

PR:		48159
Reviewed by:	Guido van Rooij <guido@gvr.org>
MFC after:	1 day
2003-02-23 00:47:06 +00:00
Ruslan Ermilov
73b893a720 Overhaul the targets and hope this is now much more readable.
This adds some orthodox kernel-* and modules-* targets and
retires harmful ``clobber''.

Now, do we really want to keep the ``modules'' target here?
2003-02-21 11:02:49 +00:00
Søren Schmidt
bb5bdd386e First round off updates/fixes to the ATA driver.
This moves all chipset specific code to a new file 'ata-chipset.c'.
Extensive use of tables and pointers to avoid having the same switch
on chipset type in several places, and to allow substituting various
functions for different HW arch needs.
Added PIO mode setup and all DMA modes.
Support for all known SiS chipsets. Thanks to Christoph Kukulies for
sponsoring a nice ASUS P4S8X SiS648 based board for this work!

Tested on:	i386, PC98, alpha and sparc64
2003-02-20 20:02:32 +00:00
Jake Burkholder
eba43df47a Munge the zs sbus attachment to work with fhc. This is a bit of a hack,
but they would otherwise be almost identical so there's not much point in
splitting it up further.
2003-02-19 08:29:17 +00:00
Jake Burkholder
012d9539bf Add drivers for the central and fhc busses found in enterprise class
UltraSPARCs, and an eeprom attachment for fhc, which allows the date
to be set properly on these machines.  Central is a wierd bus which
seems to only ever have 1 fhc attached to it.   FHC (FireHose Controller)
is another wierd bus with various things on it depending where its attached.
The fhc attached to central has eeprom and zs, and the fhcs which attach
directly to nexus have simm-status, environment and other nodes, none of
which I'll probably ever have documentation for.

Thanks to Ade Lovett for providing access to an 8 cpu e4500.
2003-02-18 09:01:01 +00:00
Eric Anholt
05d1e23aa7 Split the arch-specific AGP files into the appropriate files.* and do the same
for the agp module, and add agp to the list of modules to compile for alpha.
Add an alpha_mb() to agp_flush_cache for alpha -- it's not correct but may
improve the situation, and it's what linux and NetBSD do.
2003-02-14 06:33:52 +00:00
David E. O'Brien
d23dc82958 FB_INSTALL_CDEV not usable on Alpha. 2003-02-13 22:33:26 +00:00
David E. O'Brien
1e514ebb71 Only i386 has npx device. 2003-02-13 21:55:13 +00:00
Yoshihiro Takahashi
5628bf6970 Sort. 2003-02-11 13:19:01 +00:00
Poul-Henning Kamp
876fbedb4c Switch to use the TSC code i386/i386/tsc.c 2003-02-11 11:43:58 +00:00
Poul-Henning Kamp
70d8e2e9aa Switch to using the TSC code in i386/i386/tsc.c. 2003-02-11 11:43:25 +00:00
Poul-Henning Kamp
4ec353005c Move the g_stat struct to its own .h file, we will export it to other code.
Insted of embedding a struct g_stat in consumers and providers, merely
include a pointer.

Remove a couple of <sys/time.h> includes now unneeded.

Add a special allocator for struct g_stat.  This allocator will allocate
entire pages and hand out g_stat functions from there.  The "id" field
indicates free/used status.

Add "/dev/geom.stats" device driver whic exports the pages from the
allocator to userland with mmap(2) in read-only mode.

This mmap(2) interface should be considered a non-public interface and
the functions in libgeom (not yet committed) should be used to access
the statistics data.
2003-02-08 13:03:57 +00:00
Poul-Henning Kamp
fa75a3c2dd Put makeoptions DESTDIR=/tmp in NOTES to protect people from
accidentally installing a LINT kernel on their system.
2003-02-08 12:20:07 +00:00
Yoshihiro Takahashi
3febcc57ec - Clean up ISA DMA supports.
- Rename all sndbuf_isadma* functions to sndbuf_dma* and move them into
  sys/dev/sound/isa/sndbuf_dma.c.

No response from:	sound
2003-02-07 14:05:34 +00:00
Benno Rice
d674899b66 Add a driver that attaches to the gpio node of macio and allows you to enter
DDB when the interrupt button (aka the "programmer's switch") is pressed.

This isn't unfortunately an NMI, but it's a handy way to get into DDB
quickly if needed.
2003-02-06 10:59:06 +00:00
Joerg Wunsch
e1df235292 Finally make vinum ready for the root filesystem in FreeBSD 5.x. (A
similar patch has been in 4.x for a while, but is more hacky there.)

For this to work, vinum has to be loaded early (e. g. from
boot/loader), for obvious reasons.  If the kernel env variable
(aka. loader variable) "vinum.autostart" is set, vinum then asks the
sysctl kern.disks for all available disks in the system, and scans
them for possible vinum headers.

For statically compiled kernels, this behaviour can be obtained even
without boot/loader by using "options VINUM_AUTOSTART" (though this is
not the recommended way).

Alternatively, the 4.x way to specify "vinum.drives" is also supported.

No further hacks (like the 4.x "vinum.root" variable) are needed,
since in 5.x, mountroot() asks back at the drivers to have them
resolve the name of the root FS into a dev_t (using the dev_clone
eventhandler).

(The MFC reminder below is for a partial MFC for vinum.autostart, the
rest is already there in 4.x.)

Timed out on:	grog
MFC after:	2 weeks
2003-02-05 21:02:56 +00:00
Benno Rice
fb954d9d2f Add cpu.c. This contains one exported function, cpu_setup(), which handles
setup of and printing information about cpus.

Obtained from:	NetBSD (parts)
2003-02-05 12:09:53 +00:00
Benno Rice
c31c26450b Not all cpus are MPC750s. Replace the MPC750 cpu option with OEA. This
stands for Operating Environment Architecture and is the specification that
all of the MPC6xx, MPC7xx, MPC7xxx and IBM7xx CPUs adhere to.
2003-02-05 11:37:59 +00:00
Gordon Tetlow
cd53fddb6a Add config glue to add an optional GEOM_VOL to add optional volume support.
Reviewed by:	jake (mentor)
2003-02-03 17:35:54 +00:00
Yoshihiro Takahashi
83536948ae Add CanBe power management controller support.
Submitted by:	KIYOHARA Takashi <kiyohara@kk.iij4u.or.jp>
2003-02-03 14:46:26 +00:00
Marcel Moolenaar
dc00c828e3 Remove special casing for running in the simulator from the kernel
and instead add platform, firmware and EFI stubs to the loader.
The net effect of this change is that besides a special console and
disk driver, the kernel has no knowledge of the simulator. This has
the following advantages:
o  Simulator support is much harder to break,
o  It's easier to make use of more feature complete simulators.
   This would only need a change in the simulator specific loader,
o  Running SMP kernels within the simulator. Note that ski at this
   time does not simulate IPIs, so there's no way to start APs.

The platform, firmware and EFI stubs describe the following hardware:
o  4 CPU Itanium,
o  128 MB RAM within the 4GB address space,
o  64 MB RAM above the 4GB address space.

NOTE: The stubs in the skiloader describe a machine that should in
parts be defined by the simulator. Things like processor interrupt
block and AP wakeup vector cannot be choosen at random because they
require interpretation by the simulator. Currently the simulator is
ignorant of this.

This change introduces an unofficial SSC call SSC_SAL_SET_VECTORS
which is ignored by the simulator.

Tested with: ski (version 0.943 for linux)
2003-02-01 22:50:09 +00:00
Benno Rice
308d2886f5 Build glue for zs_macio. 2003-02-01 07:24:53 +00:00
Poul-Henning Kamp
83dde52716 Add a rudimentary class for slicing Apple partitioned disks.
More work is needed on this, stakeholders please contact me.

Not quite asked for by:	rwatson
2003-01-31 16:27:07 +00:00
Poul-Henning Kamp
e78674ed77 Remove pc98/wfd and pc98/wst drivers, they have been broken to the
point of not even compiling for a very long time.

Any effort spent unbreaking them would be better spent perfecting
the ata drivers for PC98, should any issues remain there.
2003-01-30 12:13:59 +00:00
Poul-Henning Kamp
7a66b852b5 Remove files which don't exist. 2003-01-30 06:29:51 +00:00
Poul-Henning Kamp
a9ba7b301c Remove files which don't exist 2003-01-30 06:27:10 +00:00
Poul-Henning Kamp
30b745b6ed Remove entries for files we don't have.
Approved by:	peter
2003-01-30 06:26:17 +00:00
Peter Wemm
cb42115081 Move the miidevs.h build stuff to conf/files so that config(8) doesn't
clobber it each time.
XXX: maybe this should be 'optional miibus' rather than 'standard'
2003-01-30 02:19:14 +00:00
Poul-Henning Kamp
69f1ad9c11 NO_GEOM cleanup: Don't inlude diskslice_machdep.c 2003-01-29 13:18:18 +00:00
Josef Karthauser
96d11470c8 Migrate the PCI bus logic for ohci and uhci from sys/pci to sys/dev/usb. 2003-01-29 00:13:29 +00:00
Poul-Henning Kamp
e263f030c9 NO_GEOM cleanup: remove subr_disklabel.c from powerpc and x86_64. 2003-01-28 16:37:22 +00:00
Poul-Henning Kamp
8d631e986e NO_GEOM cleanup: remove subr_disk{label,mbr,slice}.c from pc98 kernels. 2003-01-28 16:36:39 +00:00
Poul-Henning Kamp
a025fbfdc6 NO_GEOM cleanup: subr_disklabel.c no longer needed. 2003-01-28 14:51:32 +00:00
Poul-Henning Kamp
20ea2fe837 NO_GEOM cleanup: Remove subr_disklabel.c from alpha kernels. 2003-01-28 13:50:49 +00:00
Poul-Henning Kamp
62d1a66f75 NO_GEOM cleanup: Don't include subr_disklabel.c in sparc64 build 2003-01-28 13:00:49 +00:00
Poul-Henning Kamp
7704eaef00 NO_GEOM cleanup: Don't pull subr_disk{slice,label,mbr}.c into i386
kernels anymore, they are not needed.
2003-01-28 11:09:22 +00:00
Poul-Henning Kamp
91898abc5e Bang! Bang! Bang! etc etc
Remove NODEVFS and NO_GEOM from options.

Approved by:	trb@
2003-01-28 09:04:19 +00:00
Poul-Henning Kamp
2abcaf6bfd Bang! Bang! Bang! etc etc.
Remove NODEVFS option.
2003-01-28 07:15:22 +00:00
Giorgos Keramidas
a61617ed46 Fix a typo and reword a bit the description of the new SCHED_xxx stuff.
Reviewed by:	jeff
2003-01-26 22:26:46 +00:00
Jeff Roberson
f5d05ac369 - Add entries for scheduler selection 2003-01-26 05:35:54 +00:00
Jeff Roberson
c3384118a1 - Introduce the SCHED_ULE and SCHED_4BSD options for compile time selection
of the scheduler.
 - Add SCHED_4BSD as the scheduler for all kernel config files in cvs.
2003-01-26 05:29:12 +00:00
Orion Hodson
f9eb140935 Add ac97_patch.[ch] that provide space for ac97 codec specific patches. 2003-01-25 16:54:05 +00:00
Peter Grehan
e24f6473f7 Convert remaining .s files to .S
Approved by:  benno
2003-01-22 01:34:37 +00:00
Peter Grehan
731df24777 - remove dead conditional CFLAG setting
- switch locore .s -> .S

Approved by:  benno
2003-01-22 01:34:10 +00:00
Jake Burkholder
4875819c6e Run kldxref on sparc64, it works now. 2003-01-21 05:52:48 +00:00
Poul-Henning Kamp
d3cd81e026 Move NODEVFS and NO_GEOM to opt_global.h.
This allows me to mark code which they control with #ifdef without
polluting files with #includes of opt_devfs.h and opt_geom.h.

Once these two options are removed, this will allow mechanical removal
of the bits their removal makes obsolete.
2003-01-19 10:02:47 +00:00
David E. O'Brien
2d3ce7133a Remove miidevs.h and generate it from miidevs at compile time.
The devlist2h.awk tool to do this has been repocopied to sys/tools/.
2003-01-19 02:59:34 +00:00
Yoshihiro Takahashi
bb0e369994 Remove unneeded entries. 2003-01-18 08:29:10 +00:00
Yoshihiro Takahashi
1f23083ab9 Fixed comment. 2003-01-18 08:26:42 +00:00
Poul-Henning Kamp
6fb6c30600 Remove subr_diskslice.c and subr_diskmbr.c which I can see no traces off
a need for in the x86_64 files.  Not compile tested.
2003-01-17 23:02:13 +00:00
Poul-Henning Kamp
03cb40281e Remove subr_diskslice.c and subr_diskmbr.c which I can find no trace of
why should be needed in the powerpc files.  Not compile tested.
2003-01-17 23:01:09 +00:00
Poul-Henning Kamp
f527e9857e ia64 didn't need subr_diskslice.c and subr_diskmbr.c either. 2003-01-17 22:09:12 +00:00
Poul-Henning Kamp
123bf099ea We do not need subr_diskslice.c and subr_diskmbr.c any more on alpha. 2003-01-17 20:02:46 +00:00
Poul-Henning Kamp
5269d202cc Sparc64 does not need subr_diskslice.c and subr_mbr.c now. 2003-01-17 19:15:26 +00:00
Poul-Henning Kamp
2a2c796213 Move subr_disklabel.c and subr_diskslice.c from being MI to MD files,
so that they can be left out where they are unneeded.
2003-01-17 18:32:39 +00:00
Matthew N. Dodd
7534ac7ab7 A driver for the System Management Application Program
Interface (SMAPI) BIOS, which is present on some IBM
Thinkpad models (560, 600, 770 to name a few.)

The SMAPI BIOS provides access to System Information,
System Configuration, and Power Management.
2003-01-17 08:10:18 +00:00
Matthew N. Dodd
8ff601b27c - Add a major for SMAPI.
- Claim a few majors I have responsibility for.
2003-01-17 08:01:35 +00:00
Sam Leffler
be7b82cdd8 config glue for new wi driver and wlan module
Reviewed by:	imp
Forgotten by:	sam
2003-01-16 00:20:10 +00:00
Alfred Perlstein
332a7241de remove wi_hostap.c from files as it's been removed. 2003-01-15 21:50:33 +00:00
Poul-Henning Kamp
c441cdb88a Add machdep.elan_freq sysctl which can be used to set the CPU clock
frequency in Hz.  The default is still 33.333 MHz.  Please notice
that the number is round to a multiple of four internally so it may
not read back exactly the same as written.

Add compile time ELAN_XTAL option to override the 33.333 MHz default.

Add compile time ELAN_PPS option to enable code for high precision
(250 nanoseconds) timestamping of external signals.
2003-01-15 20:15:33 +00:00
Poul-Henning Kamp
d2128d818f Add a very simple but functional GEOM mirror class.
This is committed more as an instructive tool than as a production
facility, but this will change over time.
2003-01-14 22:44:48 +00:00
Benno Rice
a65a280612 Add a pcib variant to allow us to fix up interrupt assignments.
We probably want to do something wrt bus enumeration as well at some point.
2003-01-09 12:04:18 +00:00
Jake Burkholder
5f7d4c49d3 Add sbus specific zs file. 2003-01-08 23:36:59 +00:00
Poul-Henning Kamp
3fc473df24 Add two symbols start_ctors and stop_ctors to allow us to find the
.ctors section so we can call the constructors.
2003-01-06 07:37:15 +00:00
Jake Burkholder
a360a43dd5 Improve the way that an elf image activator for an alternate word size is
included in the kernel.  Include imgact_elf.c in conf/files,  instead of
both imgact_elf32.c and imgact_elf64.c, which will use the default word
size for an architecture as defined in machine/elf.h.  Architectures that
wish to build an additional image activator for an alternate word size can
include either imgact_elf32.c or imgact_elf64.c in files.${ARCH}, which
allows it to be dependent on MD options instead of solely on architecture.

Glanced at by:	peter
2003-01-04 22:07:48 +00:00
Jake Burkholder
75db2b5e27 Add a driver for the Zilog 8530 dual uart found in Ultra 1s and Ultra 2s.
With a 1 byte transmit fifo, 3 byte receive fifo, and wierd multiplexed I/O
designed for a Z80 cpu, this chip redefines suckage.

Based on the openbsd and netbsd drivers.  Only really works as a console,
modem support is not complete since I can't test it.
2003-01-01 19:49:30 +00:00
Jens Schweikhardt
9d5abbddbf Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
especially in troff files.
2003-01-01 18:49:04 +00:00
Hidetoshi Shimokawa
b018dcd1b8 - Implement primal Configuration ROM parser.
- Support multiple LUNs for SBP-II.
2002-12-31 10:28:49 +00:00
Jake Burkholder
f42d082d80 Reserve major 182 for the zs driver. 2002-12-31 06:54:52 +00:00
Scott Long
1f380ae506 Move the amd(4) driver to it's own directory in preparation for it growing
an sbus front-end.
2002-12-13 22:59:18 +00:00
Murray Stokely
865fa6a43a HEAD reverts to 5.0-CURRENT
RELENG_5_0 is 5.0-RC
5.0-RELEASE will be built off of the RELENG_5_0 branch
2002-12-13 08:47:15 +00:00
Jake Burkholder
f2de139378 Don't run kldxref when installing modules on sparc64. kldxref and the whole
module dependency system rely on linker behaviour that is machine dependent
and not part of the elf spec, and only work by accident on other platforms.

Approved by:	re
2002-12-13 00:32:29 +00:00
Robert Watson
1bebbbe220 Document that ENABLE_VFS_IOOPT is dangerous. Please don't use it.
Suggested by:	alc
Approved by:	re (murray)
2002-12-09 03:38:03 +00:00
David E. O'Brien
b07af2c4b2 Back out rev 1.7 -- I'm not sure we're ready for it and I can't test it.
Marcel will find out RSN if it is needed and I'll let him fix this up if
need be.
2002-12-05 18:35:44 +00:00
David E. O'Brien
dfe585cc69 Our binary output format is now "elf64-ia64-little-freebsd". 2002-12-05 18:28:01 +00:00
Murray Stokely
16c4307462 Welcome to 5.0-RC.
Approved by:	re
2002-12-05 05:27:49 +00:00
Søren Schmidt
8ba4488cea Add support for the PC98 platform to the ATA driver.
This mostly consists of functionality to serialize accesses to
the two ATA channels (which can also be used to "fix" certain
PCI based controllers).
Add support for Acard controllers.
Enable the ATA driver in PC98 GENERIC, and add device hints.
Update man page with latest support.

The PC98 core team has kindly provided me with a PC98
machine that made this all possible, thanks to all that
contributed to that effort, without that this would
probably newer have been possible..

Approved by: re@
2002-12-03 20:20:44 +00:00
Robert Watson
69e979c3c4 Reclaim major number 182 which I allocated for mdsio. It was decided
that this should become a line discipline for sio rather than a
separate driver.
2002-11-28 04:29:52 +00:00
Noriaki Mitsunaga
e8c1847f37 Uncomment out the lines of {ncv,ncr53c500,tmc18c30}_pccard.c .
They now support NEWCARD and compiles with GENERIC kernel.

Approved by:	re
2002-11-28 01:17:48 +00:00
Robert Watson
c47257370f Hook up kernel options and build information for mac_lomac.
Approved by:	re
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-11-26 17:32:39 +00:00
Marcel Moolenaar
521cef5ba6 Add ITANIUM2 as a global option. 2002-11-24 19:50:15 +00:00
Juli Mallett
5f07565bcb Move SHOW_BUSYBUFS and PANIC_REBOOT_WAIT_TIME into the MI options file, since
MI code uses them, and every platform provides them (except x86_64 whose
options file was lacking one).

Reviewed by:	bde, rwatson
2002-11-18 06:17:07 +00:00
Daniel Eischen
2be05b70c9 Add getcontext, setcontext, and swapcontext as system calls.
Previously these were libc functions but were requested to
be made into system calls for atomicity and to coalesce what
might be two entrances into the kernel (signal mask setting
and floating point trap) into one.

A few style nits and comments from bde are also included.

Tested on alpha by: gallatin
2002-11-16 06:35:53 +00:00
Luigi Rizzo
bbb4330b61 Massive cleanup of the ip_mroute code.
No functional changes, but:

  + the mrouting module now should behave the same as the compiled-in
    version (it did not before, some of the rsvp code was not loaded
    properly);
  + netinet/ip_mroute.c is now truly optional;
  + removed some redundant/unused code;
  + changed many instances of '0' to NULL and INADDR_ANY as appropriate;
  + removed several static variables to make the code more SMP-friendly;
  + fixed some minor bugs in the mrouting code (mostly, incorrect return
    values from functions).

This commit is also a prerequisite to the addition of support for PIM,
which i would like to put in before DP2 (it does not change any of
the existing APIs, anyways).

Note, in the process we found out that some device drivers fail to
properly handle changes in IFF_ALLMULTI, leading to interesting
behaviour when a multicast router is started. This bug is not
corrected by this commit, and will be fixed with a separate commit.

Detailed changes:
--------------------
netinet/ip_mroute.c     all the above.
conf/files              make ip_mroute.c optional
net/route.c             fix mrt_ioctl hook
netinet/ip_input.c      fix ip_mforward hook, move rsvp_input() here
                        together with other rsvp code, and a couple
                        of indentation fixes.
netinet/ip_output.c     fix ip_mforward and ip_mcast_src hooks
netinet/ip_var.h        rsvp function hooks
netinet/raw_ip.c        hooks for mrouting and rsvp functions, plus
                        interface cleanup.
netinet/ip_mroute.h     remove an unused and optional field from a struct

Most of the code is from Pavlin Radoslavov and the XORP project

Reviewed by: sam
MFC after: 1 week
2002-11-15 22:53:53 +00:00
Matthew N. Dodd
1c54ff3315 Convert kernel compile option PCI_ALLOW_UNSUPPORTED_IO_RANGE to
a loader tunable hw.pci.allow_unsupported_io_range.

Submitted by:	 Hiten Pandya <hiten@angelica.unixdaemons.com>
Approved by:	 re (murray)
2002-11-13 09:42:25 +00:00
Peter Wemm
e48938dd04 Major #46 was also MIA. 2002-11-13 01:42:59 +00:00
Peter Wemm
0ac1a67828 Note that 101 is unused, rather than leave it out of the file.
Add some historical information.  This can be removed as majors
are recycled.
2002-11-13 00:25:01 +00:00
Hidetoshi Shimokawa
17821895ee Split userland services to fwdev.c. 2002-11-12 15:22:19 +00:00
John Baldwin
69e58e12c3 - Move netsmb entries over to MI files. netsmb appears to be MI code.
- Add 'nowerror' to pci/simos.c to help LINT builds.
2002-11-08 22:33:14 +00:00
John Baldwin
f6af4ff6cb Make 3dfx i386-only. The memrange API it uses may be defined in an MI
header, but it is only implemented on i386.
2002-11-08 20:04:38 +00:00
John Baldwin
787f149830 Move rc(4) over to MI notes and enable it as a MI module. 2002-11-08 19:34:26 +00:00
John Baldwin
2d2f7b6292 Make xrpu(4) i386-only. Consumers of i386_btop() are not MI. 2002-11-08 15:05:16 +00:00
John Baldwin
1786a481d7 Move sr(4) over to i386-only as it is yet another user of kvtop(). 2002-11-07 21:15:29 +00:00
John Baldwin
7d2ba89bbf Move firewire back to being MI. 2002-11-07 16:19:43 +00:00
John Baldwin
8e302c5b17 Merge over ar(4) and db(4) to files.pc98. 2002-11-07 15:52:34 +00:00
John Baldwin
246d578cba lnc(4) uses kvtop() and is thus i386-only for now. 2002-11-06 22:56:57 +00:00
John Baldwin
c8341b3e2d Make firewire i386-only for now. It doesn't quite handle machines with
64-bit address spaces yet.  Pointy hat to myself for sticking it in the MI
NOTES file to begin with.
2002-11-06 22:30:33 +00:00
John Baldwin
b76c5a11e5 ed(4) uses kvtop() and is thus i386-only. It has several other warnings
related to sizeof(int) != sizeof(void *), but kvtop() is much harder to
fix.

Approved by:	imp
2002-11-06 22:03:53 +00:00
John Baldwin
b180bb1684 Move the drm code to the i386 MD NOTES file. It can be added to other MD
NOTES files if desired, but this code is not MI on FreeBSD.  The Alpha
support is Linux specific and does not compile on FreeBSD.
2002-11-06 21:42:42 +00:00
John Baldwin
cea108a8ce Move digi to the i386 MD NOTES until it stops using inb() and outb().
Please use bus_space functions instead.
2002-11-06 21:11:42 +00:00
John Baldwin
1183b97250 - Move comments regarding flags for dgb(4) over to the MD NOTES file where
dgb(4) lives.
- Move dgb(4) back to where it used to be relative to other drives in the
  old NOTES/LINT file.
2002-11-06 21:07:13 +00:00
John Baldwin
820a843d5a dgb(4) currently is i386-only. 2002-11-06 21:02:19 +00:00
John Baldwin
8a651d2c4a Make the ar(4) driver i386-only for now. It has lots of sizeof(int) ==
sizeof(void *) assumptions and doesn't use busdma yet (it uses kvtop()
which is not an MI interface).

Recommended by:	jake, mux
2002-11-06 19:27:09 +00:00
Maxime Henrion
361186e5d5 In the !DEBUG case, we were passing foo.ko two times on the
rm -f command line when doing a make clean.  Fix this.

Reviewed by:	ru
2002-11-06 17:40:13 +00:00
Robert Watson
81ccbd2ad1 Reserve a major number for the mdsio driver: RS-485 driver for 8250-family
UARTs.

Requested by:	doconnor@gsoft.com.au
2002-11-06 02:19:28 +00:00
Peter Wemm
c987342f8e Grab 181 for HP/Compaq ProLiant advanced server management driver 2002-11-05 16:12:31 +00:00
Matthew N. Dodd
6fe8789d6d - Convert to newbus, bus_space etc.
- Move to MI space.

Tested on:	 i386
2002-11-05 09:37:32 +00:00
Scott Long
fb404d6fcf Hook the aic7xxx modules up. This requires some extra care since aicasm
is a compiler tool and needs to be compiled by the host compiler.  I've
tested this in i386->sparc cross-build, 4.7->current upgrade, normal
buildkernel target, and normal /sys/i386/compile/GENERIC configurations.

Submitted by:	ru
2002-11-03 23:48:14 +00:00
Poul-Henning Kamp
077f9aa12e Make geom_mbr.c optional on PC98, use GEOM_MBR option to include it.
Disable check for supposedly magic "IPL1" string for PC98 labels, its
thaumaturgical power is in doubt.
2002-10-26 20:17:59 +00:00
Robert Watson
763bbd2f4f Slightly change the semantics of vnode labels for MAC: rather than
"refreshing" the label on the vnode before use, just get the label
right from inception.  For single-label file systems, set the label
in the generic VFS getnewvnode() code; for multi-label file systems,
leave the labeling up to the file system.  With UFS1/2, this means
reading the extended attribute during vfs_vget() as the inode is
pulled off disk, rather than hitting the extended attributes
frequently during operations later, improving performance.  This
also corrects sematics for shared vnode locks, which were not
previously present in the system.  This chances the cache
coherrency properties WRT out-of-band access to label data, but in
an acceptable form.  With UFS1, there is a small race condition
during automatic extended attribute start -- this is not present
with UFS2, and occurs because EAs aren't available at vnode
inception.  We'll introduce a work around for this shortly.

Approved by:	re
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-10-26 14:38:24 +00:00
Peter Wemm
23eeeff7be Split 4.x and 5.x signal handling so that we can keep 4.x signal
handling clean and functional as 5.x evolves.  This allows some of the
nasty bandaids in the 5.x codepaths to be unwound.

Encapsulate 4.x signal handling under COMPAT_FREEBSD4 (there is an
anti-foot-shooting measure in place, 5.x folks need this for a while) and
finish encapsulating the older stuff under COMPAT_43.  Since the ancient
stuff is required on alpha (longjmp(3) passes a 'struct osigcontext *'
to the current sigreturn(2), instead of the 'ucontext_t *' that sigreturn
is supposed to take), add a compile time check to prevent foot shooting
there too.  Add uniform COMPAT_43 stubs for ia64/sparc64/powerpc.

Tested on: i386, alpha, ia64.  Compiled on sparc64 (a few days ago).
Approved by: re
2002-10-25 19:10:58 +00:00
John Baldwin
0f8e01f117 Oops, I missed a few changes in 'device acpica' -> 'device acpi' change.
Submitted by:	Hiten Pandya <hiten@angelica.unixdaemons.com>
2002-10-24 19:17:06 +00:00
John Baldwin
d2ec391b39 Rename 'device acpica' to 'device acpi'.
Approved by:	msmith, iwasaki
2002-10-24 19:05:04 +00:00
Robert Watson
eae2f20c47 Provide kernel options for the various MAC policy modules so that
they may be statically linked into the kernel.  Note that statically
linked modules, unlike dynamically linked modules, get INVARIANTS,
so if there are INVARIANTS failures, you'll bump into them rather
than not.  Add the options to NOTES.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-10-24 17:21:40 +00:00
Yoshihiro Takahashi
2ca2ca3af6 The rc driver is not needed for pc98. 2002-10-24 07:18:24 +00:00
John Baldwin
599c57a971 - New-bussify the rc(4) device driver.
- Add detach support to the driver so that you can kldunload the module.
  Note that currently rc_detach() fails to detach a unit if any of its
  child devices are open, thus a kldunload will fail if any of the tty
  devices are currently open.
- sys/i386/isa/ic/cd180.h was moved to sys/dev/ic/cd180.h as part of
  this change.

Requested by:	rwatson
Tested by:	rwatson
2002-10-23 15:53:09 +00:00
Matthew N. Dodd
bd762c58db Reserve a major number for NVIDIA. 2002-10-22 16:42:16 +00:00
Brooks Davis
11e1ea96f6 All bpf.h/NBPF consumers are gone so stop generating bpf.h 2002-10-21 05:09:04 +00:00
Thomas Moestl
e381d2455b Add kernel dump support, based on the ia64 version (which was committed
as sparc64/sparc64/dump_machdep.c a while back).
Other than ia64 (which uses ELF), sparc64 uses a homegrown format for
the dumps (headers are required because the physical address and size of
the tsb must be noted, and because physical memory may be discontiguous);
ELF would not offer any advantages here.

Reviewed by:	jake
2002-10-20 17:03:15 +00:00
Scott Long
f9d186edc8 After much delay and anticipation, welcome RAIDFrame into the FreeBSD
world.  This should be considered highly experimental.

Approved-by:	re
2002-10-20 08:17:39 +00:00
Maxime Henrion
43ab972150 Put back NORMAL_C_NOWERROR, it was actually used.
Pointy hat to:	mux
2002-10-19 22:24:43 +00:00
Marcel Moolenaar
0635b341f2 Remove the _ia64_unwind_start and _ia64_unwind_end symbols. We now
find the unwind table through the ELF program headers.
2002-10-19 19:32:21 +00:00
Poul-Henning Kamp
19b5c7bc4b Add Geom Based Disk Encryption to the tree.
This is an encryption module designed for to secure denial of access
to the contents of "cold disks" with or without destruction activation.

Major features:

   * Based on AES, MD5 and ARC4 algorithms.
   * Four cryptographic barriers:
        1) Pass-phrase encrypts the master key.
        2) Pass-phrase + Lock data locates master key.
        3) 128 bit key derived from 2048 bit master key protects sector key.
        3) 128 bit random single-use sector keys protect data payload.
   * Up to four different changeable pass-phrases.
   * Blackening feature for provable destruction of master key material.
   * Isotropic disk contents offers no information about sector contents.
   * Configurable destination sector range allows steganographic deployment.

This commit adds the kernel part, separate commits will follow for the
userland utility and documentation.

This software was developed for the FreeBSD Project by Poul-Henning Kamp and
NAI Labs, the Security Research Division of Network Associates, Inc.  under
DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS
research program.

Many thanks to Robert Watson, CBOSS Principal Investigator for making this
possible.

Sponsored by:   DARPA & NAI Labs.
2002-10-19 17:02:17 +00:00