Commit Graph

7556 Commits

Author SHA1 Message Date
iwasaki
7e501d2902 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
iwasaki
e7b7f95957 One more update against header file name changing. 2000-10-01 06:55:17 +00:00
iwasaki
e50592ac57 - Add acpi_disable_events() and set it with EVENTHANDLER_REGISTER in order to
avoid power on again problem after acpi_soft_off() calling.
 - Implement SleepOp/StallOp in AML interpreter.  Also provide ACPICA
   compatibility.
 - Minor changes on __inline function declaration in acpica_osd.h
   (obtained from NetBSD porting).
2000-09-30 22:37:24 +00:00
msmith
43b494595e 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
bmilekic
73f1784807 Big mbuf subsystem diff #1: incorporate mutexes and fix things up somewhat
to accomodate the changes.

 Here's a list of things that have changed (I may have left out a few); for a
 relatively complete list, see http://people.freebsd.org/~bmilekic/mtx_journal

   * Remove old (once useful) mcluster code for MCLBYTES > PAGE_SIZE which
     nobody uses anymore. It was great while it lasted, but now we're moving
     onto bigger and better things (Approved by: wollman).

   * Practically re-wrote the allocation macros in sys/sys/mbuf.h to accomodate
     new allocations which grab the necessary lock.

   * Make sure that necessary mbstat variables are manipulated with
     corresponding atomic() routines.

   * Changed the "wait" routines, cleaned it up, made one routine that does
     the job.

   * Generalized MWAKEUP() macro. Got rid of m_retry and m_retryhdr, as they
     are now included in the generalized "wait" routines.

   * Sleep routines now use msleep().

   * Free lists have locks.

   * etc... probably other stuff I'm missing...

  Things to look out for and work on later:

   * find a better way to (dynamically) adjust EXT_COUNTERS

   * move necessity to recurse on a lock from drain routines by providing
     lock-free lower-level version of MFREE() (and possibly m_free()?).

   * checkout include of mutex.h in sys/sys/mbuf.h - probably violating
     general philosophy here.

   The code has been reviewed quite a bit, but problems may arise... please,
   don't panic! Send me Emails: bmilekic@freebsd.org

Reviewed by: jlemon, cp, alfred, others?
2000-09-30 06:30:39 +00:00
peter
b27667eff1 Fill in some more missing bits from cpu_features according to the Intel
Pentium4 cpuid docs.
2000-09-29 04:53:00 +00:00
peter
d037f7d6c3 First shot at identifying the Pentum 4 acording to our reading of the
the cpu_id extensions in the Intel docs.  There is more info available.
See the following URL for more details.
http://developer.intel.com/design/processor/future/manuals/CPUID_Supplement.htm

Requested by:	Intel
2000-09-29 04:38:35 +00:00
peter
04e4b06d1c Get out the roto-rooter and clean up the abuse of nexus ivars by the
i386/isa/pcibus.c.  This gets -current running again on multiple host->pci
machines after the most recent nexus commits.  I had discussed this with
Mike Smith, but ended up doing it slightly differently to what we
discussed as it turned out cleaner this way.  Mike was suggesting creating
a new resource (SYS_RES_PCIBUS) or something and using *_[gs]et_resource(),
but IMHO that wasn't ideal as SYS_RES_* is meant to be a global platform
property, not a quirk of a given implementation.  This does use the ivar
methods but does so properly.  It also now prints the physical pci bus that
a host->pci bridge (pcib) corresponds to.
2000-09-28 00:37:32 +00:00
asmodai
e3f701cd17 Fix spelling of Katmai [Katami]. 2000-09-27 11:33:31 +00:00
msmith
89141ecf1b Since the nexus is responsible for creating the I/O resources (ports, memory)
it ought to be able to deal with devices directly attached to it having
allocations of such resources.  Make it so.
2000-09-27 00:51:42 +00:00
iwasaki
e478f501d0 Document the pmtimer driver.
Pointed-out by:	esu@yk.rim.or.jp (Shinya Esu)
2000-09-26 11:27:30 +00:00
kato
d59ba7ec95 Recognize new Pentium III Xeon (stepping A0).
PR:		21233
Submitted by:	ade
2000-09-26 08:59:55 +00:00
iwasaki
d375eaba6b Formatting fix on ACPI options. Sort them, comment out negative options.
Suggested by:	bde
2000-09-25 02:43:51 +00:00
jhb
b996fd3a9d Fix the assmebly mutex macros to handle saving/restoring interrupt state
properly.  Fix the recursive mutex macros to actually compile.  At the
moment we only use MTX_EXIT anyways.
2000-09-24 23:34:21 +00:00
ps
54345fd41b Move MAXCPU from machine/smp.h to machine/param.h to fix breakage
with !SMP kernels.  Also, replace NCPUS with MAXCPU since they are
redundant.
2000-09-23 12:18:06 +00:00
jasone
27bf3e86c9 #include <sys/proc.h> in order to get curproc. This seems to be the lesser
of two evils; the greater evil is requiring sys/proc.h to be included
before including machine/mutex.h.
2000-09-23 00:00:50 +00:00
ps
ab88cc6719 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
jhb
1da56dada3 Teach MTX_EXIT_RECURSE that the recursion count is a 32-bit integer,
not a 16-bit one.
2000-09-22 04:30:33 +00:00
msmith
5fd4296a8c Implement halt-on-idle in the !SMP case, which should significantly
reduce power consumption on most systems.
2000-09-22 03:18:20 +00:00
bsd
878d7f2499 Add a couple of debug register helper functions to assist in setting
and clearing watchpoints.

Reviewed by:	jwd@FreeBSD.org, -hackers@
2000-09-21 17:07:27 +00:00
iwasaki
01521915aa 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
jhb
8ed40a75e2 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
jhb
5b97c1ba65 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
wpaul
58201930eb 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
msmith
8727af6e0f Mention the AAC_COMPAT_LINUX option 2000-09-19 23:56:27 +00:00
eivind
2a2d53f930 Better error message when booting an SMP kernel on an UP system. 2000-09-19 10:40:52 +00:00
eivind
c93c4b8a88 Document ENABLE_VFS_IOOPT 2000-09-19 10:36:19 +00:00
jlemon
a26d8b2472 Allow the user to make direct BIOS intcalls (via vm86 system) if they
successfully authenticate as root via the suser() call.
2000-09-19 03:27:31 +00:00
des
1c37bf6427 Fix cut'n'paste bogon.
Submitted by:	Jim Pirzyk <Jim.Pirzyk@disney.com>
2000-09-18 17:46:01 +00:00
bde
41483dda6f Brought back schedsofttty() (SMPng casualty). Didn't bring back the
other schedsoft*() functions since they have never been used.

Removed confused comment about not needing these functions.  The
functions delay scheduling of SWIs until the next hardclock tick.
For devices that only deliver a few characters per interrupt, this
reduces the number of calls to the scheduler by a large factor (about
115 for each sio port at 115200 bps).
2000-09-17 16:37:30 +00:00
phk
7987bb12a4 Make LINT link.
cy driver is broken post SMPng.
2000-09-16 19:04:24 +00:00
phk
2883081157 Make LINT compile. 2000-09-16 18:55:05 +00:00
phk
b88f8acdff Make LINT compile. 2000-09-16 18:48:11 +00:00
jhb
6aa22e7189 - Add a new process flag P_NOLOAD that marks a process that should be
ignored during load average calcuations.
- Set this flag for the idle processes and the softinterrupt process.
2000-09-15 22:00:23 +00:00
nyan
9a01225006 Moved the fe driver from the compat section to the correct section.
Submitted by:	sanpei
2000-09-15 02:25:41 +00:00
jhb
43d09251f2 Check to see if we actually have an interrupt descriptor and an interrupt
thread for each interrupt that comes in.  If we don't, log the event and
return immediately for a hardware interrupt.  For a softinterrupt, panic
instead.

Submitted by:	ben
2000-09-15 00:27:57 +00:00
iwasaki
8f5360d3cc Add pmtimer instance. 2000-09-14 22:39:14 +00:00
iwasaki
ee51abd060 Add Timer device driver for power management events.
The code for suspend/resume is derived from APM device driver.

Some people suggested the original code is somewhat buggy, but I'd
like to just move it from apm.c without any major changes for the
initial version.  This code should be refined later.

To use pmtimer to adjust time at resume time, add
	device	pmtimer
in your kernel config file, and add
	hint.pmtimer.0.at="isa"
in your device.hints

Reviewed by:	-current, bde
2000-09-14 22:34:57 +00:00
jhb
ebc05310ca Remove the mtx_t, witness_t, and witness_blessed_t types. Instead, just
use struct mtx, struct witness, and struct witness_blessed.

Requested by:	bde
2000-09-14 20:15:16 +00:00
nyan
06ebe902ea - Newbus'ify and bus_space'ify.
- Separate bus dependent part and independent part.
- Moved source files to sys/dev/fe (repo copied).
- Fixed some comments by chi@bd.mbn.or.jp (Chiharu Shibata)

Tested by:	bsd-nomads@clave.gr.jp and
		FreeBSD98-testers@jp.freebsd.org
2000-09-14 12:02:07 +00:00
jhb
7013b83225 - Remove the inthand2_t type and use the equivalent driver_intr_t type from
newbus for referencing device interrupt handlers.
- Move the 'struct intrec' type which describes interrupt sources into
  sys/interrupt.h instead of making it just be a x86 structure.
- Don't create 'ithd' and 'intrec' typedefs, instead, just use 'struct ithd'
  and 'struct intrec'
- Move the code to translate new-bus interrupt flags into an interrupt thread
  priority out of the x86 nexus code and into a MI ithread_priority()
  function in sys/kern/kern_intr.c.
- Remove now-uneeded x86-specific headers from sys/dev/ata/ata-all.c and
  sys/pci/pci_compat.c.
2000-09-13 18:33:25 +00:00
bde
1f9f76e138 Be more careful about cleaning up the stack after function calls early
in the boot.  The cleanup must be done in one of the few ways that
db_numargs() understands, so that early backtraces in ddb don't underrun
the stack.  The underruns caused reboots a few years ago when there
was an unmapped page above the stack (trapping to abort the command
doesn't work early).

Cleaned up some nearby code.
2000-09-13 14:08:50 +00:00
bde
4df37ee8ee Fixed hang on booting with -d. mtx_enter() was called on an uninitialized
lock.  The quick fix in trap.c was not quite the version tested and had no
effect; back it out.
2000-09-13 12:40:43 +00:00
msmith
b3a68de811 A new driver for PCI:SCSI RAID controllers based on the Adaptec FSA
design.  This includes integrated Dell RAID controllers, the Dell
PERC 2/QC and the HP NetRAID-4M.
2000-09-13 03:20:35 +00:00
jhb
e396c60f68 Take out some unneeded debugging code and re-enable panic()'ing if we spin
on a spin lock for more then 5 seconds.
2000-09-13 00:41:34 +00:00
jhb
b32557dbb8 Clean up process accounting some more. Unfortunately, it is still not
quite right on i386 as the CPU who runs statclock() doesn't have a valid
clockframe to calculate statistics with.
2000-09-12 18:57:59 +00:00
bde
8a2681e22e Quick fix for hang on booting with -d. mtx_enter() was called before
curproc was initialized.  curproc == NULL was interpreted as matching
the process holding Giant...  Just skip mtx_enter() and mtx_exit() in
trap() if (curproc == NULL && cold) (&& cold for safety).
2000-09-12 18:41:56 +00:00
bde
b2fc79d876 Don't panic for delivery of a multiplexed SWI. Most SWI handlers
don't take an arg, but swi_generic() is special in order to avoid one
whole conditional branch in the old SWI dispatch code.  The new SWI
dispatch code passed it a garbage arg.  Bypass swi_generic() and call
swi_dispatcher() directly, like the corresponding alpha code has always
done.

The panic was rare because because it only occurred if more than one
of the {sio,cy,rc} drivers was configured and one was active, and the
cy driver doesn't even compile.
2000-09-12 16:02:43 +00:00
markm
bf42c18253 Turn the /dev/random device into a (pseudo-)device, not an option.
(I didn't realise that it was this easy!)
Submitted by:	jhb
2000-09-12 13:21:40 +00:00
billf
4ebb85dd88 Move tx to the list of drivers that now require miibus. 2000-09-11 21:20:39 +00:00
semenu
c35d103e0f Sign tx driver as using miibus code. 2000-09-11 20:10:16 +00:00
jhb
577d7fbf37 When doing statistics for statclock on other CPU's, use the other CPUs'
idleproc pointers instead of our own for comparisons.

Submitted by:	tegge
2000-09-11 04:10:29 +00:00
markm
9188fde501 Provide keyboard entropy harvesting for PCVT users. 2000-09-10 14:31:40 +00:00
jasone
e454be9f46 Style cleanups. No functional changes. 2000-09-09 23:18:48 +00:00
jasone
9d6c8a5123 Add file and line arguments to WITNESS_ENTER() and WITNESS_EXIT, since
__FILE__ and __LINE__ don't get expanded usefully in inline functions.

Add const to all witness*() arguments that are filenames.
2000-09-09 22:43:22 +00:00
alex
371e5462ed Add a comment, that a LINT file can be produced from NOTES via
``make LINT''.

Reviewed by:	nbm via IRC
2000-09-09 16:33:48 +00:00
des
5ea50b42cc Remove unused variables. 2000-09-09 14:35:35 +00:00
des
3b46d8759e Add stat, uptime and version.
Note that version currently returns the first line of the version string
from vers.c, which is not quite what a Linux system would return.
2000-09-09 11:44:58 +00:00
jasone
a54a380435 Rename mtx_enter(), mtx_try_enter(), and mtx_exit() and wrap them with cpp
macros that expand to pass filename and line number information.  This is
necessary since we're using inline functions instead of macros now.

Add const to the filename pointers passed througout the mtx and witness
code.
2000-09-08 21:48:06 +00:00
jhb
83ace5fe64 Remove an unneeded extern declaration of cp_time. 2000-09-08 20:18:29 +00:00
kato
9310f79758 Fixed the softintr macro which directly accessed ipending.
Suggested by:	jasone
2000-09-08 11:58:25 +00:00
jake
ead12b3bec Really fix USER_LDT. (Don't use currentldt as an L-value.) 2000-09-08 03:36:09 +00:00
jake
8f61c4dbd7 Don't use currentldt as an L-value.
This should fix options USER_LDT.

Reported-by:	John Hay <jhay@zibbi.mikom.csir.co.za>
		Nickolay Dudorov <nnd@mail.nsk.ru>
2000-09-07 20:12:12 +00:00
wpaul
2e3a03013d Close PR #20963. Do not pass encryption keys back to the caller via
wi_ioctl() unless they're the superuser.
2000-09-07 17:05:12 +00:00
des
1883bff184 Pierre Beyssac originally derived linprocfs from procfs, and I've made (and
will keep making) significant modifications, so I'm adding both our copyrights
to the top of these files.
2000-09-07 16:44:26 +00:00
jhb
f9ac517229 Test for both SMP and I386_CPU being set before generating an error. 2000-09-07 16:10:02 +00:00
nyan
564829fb83 Don't assume that address of I/O address table increase (PC-98 only).
Pointed out by:	Tomokazu HARADA <tkhara@osk4.3web.ne.jp>
2000-09-07 14:43:00 +00:00
jasone
769e0f974d Major update to the way synchronization is done in the kernel. Highlights
include:

* Mutual exclusion is used instead of spl*().  See mutex(9).  (Note: The
  alpha port is still in transition and currently uses both.)

* Per-CPU idle processes.

* Interrupts are run in their own separate kernel threads and can be
  preempted (i386 only).

Partially contributed by:	BSDi (BSD/OS)
Submissions by (at least):	cp, dfr, dillon, grog, jake, jhb, sheldonh
2000-09-07 01:33:02 +00:00
jasone
acf1927de0 Add KTR, a facility that logs kernel events in order to to facilitate
debugging.

Acquired from:	BSDi (BSD/OS)
Submitted by:	dfr, grog, jake, jhb
2000-09-07 01:29:44 +00:00
phk
6c07bccbf7 Introduce atomic_cmpset_int() and atomic_cmpset_long() from SMPng a
few hours earlier than the rest.

The next DEVFS commit needs these functions.

Alpha versions by: dfr
i386 versions by: jakeb

Approved by:    SMPng
2000-09-06 11:21:14 +00:00
marcel
745048429c When sigaltstack is called with a stack size that's not smaller
than LINUX_MINSIGSTKSZ but smaller than MINSIGSTKSZ, cheat and
pass MINSIGSTKSZ to the kernel. This is a workaround.

Submitted through: nate
2000-09-06 06:08:54 +00:00
msmith
508fb708e1 Teach the NFS && NFS_ROOT case how to pick up information left by the
PXE loader, and use this to build the nfs_diskless structure.
2000-09-05 22:34:11 +00:00
peter
a5b0eb55b9 Catch a few more bogosities in certain chipsets before they mess us up.
Some have dual host->PCI bridges for the same logical pci bus (!), eg:
some of the RCC chipsets.  This is a 32/64 bit 33/66MHz and dual pci
voltage motherboard so persumably there are electical or signalling
differences but they are otherwise the same logical bus.
The new PCI probe code however was getting somewhat upset about it and
ended up creating two pci bridges to the same logical bus, which caused
devices on that logical bus to appear and be probed twice.

The ACPI data on this box correctly identifies this stuff, so bring on
ACPI! :-)
2000-09-05 00:53:34 +00:00
des
1c7254b5aa Remove obsolete comment (see rev 1.84 of procfs_vnops.c) 2000-09-04 18:19:04 +00:00
groudier
0937c026c4 Add device list supported by `sym' 2000-09-03 12:29:51 +00:00
peter
c799b20bc3 Complain if we cannot find loader(8) metadata. 2000-09-03 04:13:03 +00:00
iwasaki
6805d4dd08 Add ACPI_BUS_SPACE stuff definitions in acpi_machdep.h.
Change to include this file rather than acpica_osd.h to use
only ACPI_BUS_SPACE stuff.
2000-09-02 15:06:54 +00:00
nsayer
10235bb815 Document the tap driver 2000-09-01 21:24:07 +00:00
rwatson
997c80bdd8 o Synchronize linprocfs authorization with procfs authorization improvements
(better hiding of hidden processes, more access checks, use vaccess(), et
  al)

Approved by:	des
Obtained from:	TrustedBSD Project
2000-09-01 18:40:52 +00:00
msmith
3cfec8ce1d Add the 'asr' driver, supplied by Mark Salyzyn of Adaptec (nee DPT).
This provides support for the Adaptec SCSI RAID controller family,
as well as the DPT SmartRAID V and VI families.

The driver will be maintained by Mark and Adaptec, and any changes
should be referred to the MAINTAINER.
2000-09-01 07:51:25 +00:00
peter
eff5d582a0 Take a shot at fixing multiple pci busses on i386.
pcib_set_bus() cannot be used on the new child because it is
meant to be used on the *pci* device (it looks at the parent internally)
not the pcib being added.  Bite the bullet and use ivars for the bus
number to avoid any doubts about whether the softc is consistant between
probe and attach.  This should not break the Alpha code.
2000-08-31 23:11:35 +00:00
obrien
05f7bf4f57 Cleanup after repo copy of sys/svr4 to sys/compat/svr4. 2000-08-31 22:54:09 +00:00
takawata
8f6295e0c7 Merge rest piece of ACPI driver.To activate acpi driver ,add
device acpi

line. Merge finished. But still experimental phase.Need more hack!

Obtained from:ACPI for FreeBSD project
2000-08-31 15:34:54 +00:00
iwasaki
7f8b311e6a Modified PCI config space access code via pcib_if rather than using
pci_cfg{read|write}.
 - Obtain device_t pcib instance by calling device_find_child().
 - Call PCIB_{READ|WRITE}_CONFIG() to access to pcib interfaces.

Reviewed by:	dfr, takawata
2000-08-31 11:16:42 +00:00
kato
549ed4921c Improved Cyrix 486DX supports for NEC PC-98.
- Enable WB cache via CCR2 and CR0.
  - Set the need_pre_dma_flush when the CPU_I486_ON_386 option is
    defined.

Submitted by:	Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
2000-08-31 10:33:06 +00:00
msmith
afc6787158 Make it possible to pass boot()'s flags to shutdown_nice() so that the
kernel can instigate an orderly shutdown but still determine the form of
that shutdown.  Make it possible eg. to cleanly shutdown and power off the
system under ACPI when the power button is pressed.
2000-08-31 00:08:50 +00:00
rwatson
579561d0b0 o Update linprocfs to include similar changes as those in procfs, fixing
the build (oops!): replace calls to p_trespass() and PRISON_CHECK()
  with p_can(..., {P_CAN_SEE, P_CAN_DEBUG}, NULL)
o Remove volatile usage from procfs_readdir() to remove warnings
o Apply bp's CREATE fix to linprocfs, causing EROFS to be returned on
  CREATE calls to procfs_lookup()
o Some further synchronization still needs to occur: only existing
  access checks were replaced, to fix the build--the new ones were not
  added.  I'll do this later today, this is a "fix the build quickly"
  commit.  This means that, in the interim, some information leakage
  can still occur via linprocfs when using jail or kern.ps_showallprocs

Submitted by:	knu
Approved by:	des
Obtained from:	TrustedBSD Project
2000-08-30 13:23:19 +00:00
iwasaki
a8d8728b12 A lot of changes on acpi driver code.
- The "Osd*" stuff went away from acpi driver code, use the bus_space
   functions directly instead.
 - Fix minor english bugs.
   acpi_registers_input  -> acpi_register_input
   acpi_registers_output -> acpi_register_output
 - Remove all magic numbers for the sleeping states.  We now have
   #defines for these.
 - NULL is treated the same as the return from aml_get_rootname in
   aml_find_from_namespace().

Suggested by:	msmith

Thanks mike!
2000-08-29 20:30:54 +00:00
dfr
dd8b44b395 * Completely rewrite the alpha busspace to hide the implementation from
the drivers.
* Remove legacy inx/outx support from chipset and replace with macros
  which call busspace.
* Rework pci config accesses to route through the pcib device instead of
  calling a MD function directly.

With these changes it is possible to cleanly support machines which have
more than one independantly numbered PCI busses. As a bonus, the new
busspace implementation should be measurably faster than the old one.
2000-08-28 21:48:13 +00:00
marcel
cf2cbd89f2 Fix typo in license. 2000-08-25 07:32:24 +00:00
takawata
2e6e4417ac Another file needed for ACPI,I forgot to commit.
Noticed by:iwasaki
2000-08-25 02:13:25 +00:00
peter
2aff7a5e80 Comment out the static wiring of hints for GENERIC - the release process
now installs the hints file into /boot.
2000-08-24 18:56:54 +00:00
takawata
3135216f2b Add orthogonal part of ACPI support code.
This does not come effect until non-orthogonal part is commited.

Approved by: jkh
Obtained from:	ACPI for FreeBSD CVS repository.
2000-08-24 09:33:30 +00:00
kato
9d10ca295e Fixed freeing wrong address.
Submitted by:	Nobuyuki Koganemaru <kogane@koganemaru.co.jp>
2000-08-24 08:01:49 +00:00
sheldonh
2e6e494673 Fix the matcd driver for the new world order. This basically just
renames matcdc to matcd.

This change is reported to work by two independent PR originators.
In the absence of further feedback on the freebsd-bugs list, we
may as well get this working for its two users.

PR:		20296
Submitted by:	George Russell <george.russell@clara.net>,
		Remi Guyomarch <rguyom@mail.dotcom.fr>
2000-08-23 09:29:05 +00:00
msmith
5151bf4ea2 Add entries for the 'mly' driver. Re-group 'mly' and 'dpt' into a new
classification for RAID controllers that have CAM interfaces.
2000-08-23 03:29:49 +00:00
marcel
af4eb9aac2 Finish the Linuxulator MD/MI split.
In summary:
o  This file has been moved to sys/compat/linux,
o  Any MD syscalls in this file are moved to
   linux_machdep.c in sys/i386/linux,
o  Include directives, makefiles and config files
   have been updated.
2000-08-22 07:08:33 +00:00
marcel
29a36f349f Update include directives for Linuxulator headers after the
MD/MI split.
2000-08-22 05:57:55 +00:00
marcel
f0e7c766fc Collect the MD syscalls from /sys/compat/linux here. Since this
is a new file, fix most of the style bugs at the same time.
2000-08-22 02:24:02 +00:00
phk
b648921acc Remove all traces of Julians DEVFS (incl from kern/subr_diskslice.c)
Remove old DEVFS support fields from dev_t.

  Make uid, gid & mode members of dev_t and set them in make_dev().

  Use correct uid, gid & mode in make_dev in disk minilayer.

  Add support for registering alias names for a dev_t using the
  new function make_dev_alias().  These will show up as symlinks
  in DEVFS.

  Use makedev() rather than make_dev() for MFSs magic devices to prevent
  DEVFS from noticing this abuse.

  Add a field for DEVFS inode number in dev_t.

  Add new DEVFS in fs/devfs.

  Add devfs cloning to:
        disk minilayer (ie: ad(4), sd(4), cd(4) etc etc)
        md(4), tun(4), bpf(4), fd(4)

  If DEVFS add -d flag to /sbin/inits args to make it mount devfs.

  Add commented out DEVFS to GENERIC
2000-08-20 21:34:39 +00:00
dwmalone
df0e25bf6c Replace the mbuf external reference counting code with something
that should be better.

The old code counted references to mbuf clusters by using the offset
of the cluster from the start of memory allocated for mbufs and
clusters as an index into an array of chars, which did the reference
counting. If the external storage was not a cluster then reference
counting had to be done by the code using that external storage.

NetBSD's system of linked lists of mbufs was cosidered, but Alfred
felt it would have locking issues when the kernel was made more
SMP friendly.

The system implimented uses a pool of unions to track external
storage. The union contains an int for counting the references and
a pointer for forming a free list. The reference counts are
incremented and decremented atomically and so should be SMP friendly.
This system can track reference counts for any sort of external
storage.

Access to the reference counting stuff is now through macros defined
in mbuf.h, so it should be easier to make changes to the system in
the future.

The possibility of storing the reference count in one of the
referencing mbufs was considered, but was rejected 'cos it would
often leave extra mbufs allocated. Storing the reference count in
the cluster was also considered, but because the external storage
may not be a cluster this isn't an option.

The size of the pool of reference counters is available in the
stats provided by "netstat -m".

PR:		19866
Submitted by:	Bosko Milekic <bmilekic@dsuper.net>
Reviewed by:	alfred (glanced at by others on -net)
2000-08-19 08:32:59 +00:00
msmith
5b74deeea0 Increase the default NAPIC from 1 to 2 as a bandaid until we allocate
these dynamically (ie. typically you shouldn't have to set NAPIC at all)
2000-08-18 20:09:15 +00:00
bsd
166eea54b4 Don't let an illegal value for dr7 get set, which can lead to an
unexpected TRCTRAP.

Reported by: John W. De Boskey <jwd@FreeBSD.org>
2000-08-17 14:35:23 +00:00
tegge
2b58e9a82a Prepare for a cleanup of pmap module API pollution introduced by the
suggested fix in PR 12378.

Keep track of all existing pmaps independent of existing processes.

This allows for a process to temporarily connect to a different address
space without the risk of missing an update of the original address space if
the kernel grows.

pmap_pinit2() is no longer needed on the i386 platform but is left as a
stub until the alpha pmap code is updated.

PR:		12378
2000-08-16 21:24:44 +00:00
ume
d3b79934ef Add output of per battery information to apm(1).
New ioctl APMIO_GETPWSTATUS is introduced.

Reviewed by:	-mobile and -current folks (no objection)
2000-08-13 17:05:27 +00:00
alex
228a86c1f5 Add PAO devices supported by drivers. 2000-08-13 14:25:33 +00:00
jhb
220e31f9aa Include machine/cputypes.h so we get the cpu_class variable. This is needed
if I386_CPU is defined in the kernel config file.
2000-08-13 05:17:46 +00:00
bde
73dafc9420 Fixed null pointer panic for accessing "meminfo" when there is no swap. 2000-08-12 21:08:42 +00:00
peter
85c9a2ddc1 Clean up some low level bootstrap code:
- stop using the evil 'struct trapframe' argument for mi_startup()
  (formerly main()).  There are much better ways of doing it.
- do not use prepare_usermode() - setregs() in execve() will do it
  all for us as long as the p_md.md_regs pointer is set.  (which is
  now done in machdep.c rather than init_main.c.  The Alpha port did it
  this way all along and is much cleaner).
- collect all the magic %cr0 etc register settings into one place and
  have the AP's call that instead of using magic numbers (!!) that keep
  changing over and over again.
- Make it safe to call kthread_create() earlier, including during the
  device probe sequence.  It doesn't need the callback mechanism that
  NetBSD's version uses.
- kthreads created this way are root-less as they exist before the root
  filesystem is mounted.  init(1) is set up so that it aquires the root
  pointers prior to running.  If other kthreads want filesystem acccess
  we can make this code more generic.
- set all threads start times once we have decided what time it is.
- init uses a trampoline rather than the evil prepare_usermode() hack.
- kern_descrip.c has a couple of tweaks to deal with forking when there
  is no rootdir or cwd etc.
- adjust the early SYSINIT() sequence so that a few prereqisites are in
  place. eg: make sure the run queue is initialized before doing forks.

With this, the USB code can easily create a kthread to do the device
tree discovery.  (I have tested it, it works nicely).

There are still some open issues before this is truely useful.
- tsleep() does not like working before the clock is running.  It
  sort-of tries to spin wait, but it can do more useful things now.
- stopping a kthread in kld code at unload time is "interesting" but
  we have a solution for that.

The Alpha code needs no changes for this.  It already uses pretty much the
same strategies, but a little cleaner.
2000-08-11 09:05:12 +00:00
tegge
26b9855792 Don't skip IOAPIC id conflict detection when only one pci bus is present.
PR:		20312
Reviewed by:	Steve Roome <steve@sse0691.bri.hp.com>
2000-08-10 17:33:24 +00:00
kbyanc
89c36a89b0 Fix the comments to properly document the PQ_MEDIUMCACHE and
PQ_NORMALCACHE options.

PR:		20409
Submitted by:	Tony Finch <dot@dotat.at>
2000-08-08 08:13:01 +00:00
tegge
e372881b3c Add workaround for livelock problem when starting APs.
With more than 1 AP present, an AP could fail to properly release
the mp lock before waiting for smp_started to become nonzero.

With early startup of APs, the BSP could fail to properly release
the mp lock before waiting for smp_started to become nonzero.
2000-08-07 02:28:37 +00:00
ps
083d60f9be Change the behavior of isa_nmi to log an error message instead of
panicing and return a status so that we can decide whether to drop
into DDB or panic.  If the status from isa_nmi is true, panic the
kernel based on machdep.panic_on_nmi, otherwise if DDB is
enabled, drop to DDB based on machdep.ddb_on_nmi.

Reviewed by:	peter, phk
2000-08-06 14:17:21 +00:00
tegge
a83353f91a Be more verbose when changing APIC ID on an IO APIC.
Don't allow cpu entries in the MP table to contain APIC IDs out of range.

Don't write outside array boundaries if an IO APIC entry in the MP table
contains an APIC ID out of range.

Assign APIC IDs for all IO APICs according to section 3.6.6 in the
Intel MP spec:

  - If the current APIC ID on an IO APIC doesn't conflict with other
    IO APICs or CPUs, that APIC ID should be used.  The copy of the MP
    table must be updated if the corresponding APIC ID in the MP table
    is different.

  - If the current APIC ID was in conflict with other units, the
    corresponding APIC ID specified in the MP table is checked for conflict.

  - If a conflict is still found then fall back to using a new unique ID.
    The copy of the MP table must be updated.

  - IDs out of range is considered to be in conflict.

During these operations, the IO_TO_ID array cannot be used, since any
conflict would have caused information loss.  The array is then corrected,
since all APIC ID conflicts should have been resolved.

PR:	20312, 18919
2000-08-06 00:04:03 +00:00
iwasaki
872d76854d Cleanup debug messages and Add some enhancements from linux on
display control by apm -d.
 - Remove APM_DEBUG to avoid re-build kernel with such a unspported optioin.
 - Introduce new denug flag `debug.apm_debug' which can be controlled by
   sysctl interface and loader by setting like "debug.apm_debug=1", you
   will get debug messages from APM driver.
 - Add some enhancements from linux on display control by apm -d.  I'm
   expecting that we can see some improvements on some laptops where
   apm -d doesn't work correctly so far.

Reviewed by:	-mobile and -current folks (no objection)
Suggested by:	Susumu WAKABAYASHI <susumu@wakabaya.net>
2000-08-04 20:28:53 +00:00
imp
1064cb67b8 Merge from GENERIC. Mostly reenable some devices and add SOFTUPDATES
and RANDOMDEV to the list.  STill need to do more merging, but for now
things are better.
2000-08-03 21:51:03 +00:00
luoqi
c3d52a9a3e Handle write page faults (both write only or read-modify-write) as MI vm
write-only faults.  This would allow write-only mmapped regions to function
correctly.
2000-07-31 14:47:14 +00:00
phk
c4e079d075 Allow use of TSC even if APM is compiled in but disabled. 2000-07-30 21:05:22 +00:00
peter
09f2cc343d Regen. (Fix SYS_exit) 2000-07-29 10:07:38 +00:00
peter
2acd9c62a7 Sigh. Fix SYS_exit problems. I misunderstood the significance of these
trailing options.
2000-07-29 10:05:25 +00:00
obrien
44130dcae1 Revert previous commit. Not all RAID controllers are SCSI. 2000-07-29 02:12:44 +00:00
obrien
0c8f766fe2 Move the RAID controllers next to the SCSI controllers. 2000-07-29 02:00:28 +00:00
obrien
bce65d4ea4 Comment out ncr' as sym' handles all that `ncr' does.
(only commented out to make it easy for people to find it that really
 wants it.)

Asked for by:	Peter
2000-07-29 01:31:09 +00:00
peter
564c126846 Regenerate with makesyscalls.sh 2000-07-29 00:21:50 +00:00
peter
b273253c9e Change the 'exit()' system call to 'sys_exit()'. This avoids overlapping
gcc's internal exit() prototypes and the (futile) hackery that we did to
try and avoid warnings.  main() was renamed for similar reasons.
Remove an exit related hack from makesyscalls.sh.
2000-07-29 00:16:28 +00:00
peter
3a0b269c55 Fix warning - isa/isavar.h is a prerequisite for isa/pnpvar.h 2000-07-28 22:58:28 +00:00
marcel
e68c0dd249 Remove the only use of SCARG and perform dead code elimination. 2000-07-27 01:22:24 +00:00
jhb
c4b5226c5f Document the SYSV IPC kernel options. Also, remove the SHM_PHYS_BACKED
option as it is no longer used.

PR:		docs/20080
Submitted by:	Michael Robinson <robinson@netrinsics.com>
2000-07-26 19:39:46 +00:00
asmodai
7cb47a1160 Document IPFILTER_DEFAULT_BLOCK.
PR:		20075
Submitted by:	Arjan de Vet <Arjan.deVet@adv.iae.nl>
2000-07-25 15:40:19 +00:00
billf
20d18ccbac s%LINT%NOTES%g 2000-07-25 08:25:48 +00:00
asmodai
59635bcf3c Document device tdfx and options TDFX_LINUX. 2000-07-24 11:16:56 +00:00
marcel
a069944f46 Add bounds checking to stackgap_alloc. Previously it was possible
to construct a path that was long enough (ie longer than
SPARE_USRSPACE bytes) and trash the stack.

Note that SPARE_USRSPACE is much smaller than MAXPATHLEN so that
the Linuxulator will now return ENAMETOOLONG even if the path
is smaller than MAXPATHLEN.

PR: 12749
2000-07-23 16:54:18 +00:00
marcel
2f1d9ab5d2 Revert implementation of setfsuid and setfsgid due to security
issues.

Requested by: rwatson
Backed by: kris
2000-07-20 05:37:41 +00:00
kris
c2e76f6679 Temporary hack for the benefit of the X-Bone project
(http://www.isi.edu/xbone). I expect this to go away in due course.

Submitted by:	Lars Eggert <larse@ISI.EDU>
2000-07-20 00:35:37 +00:00
imp
313eec7c25 Default the pcic to polling. Some laptops need to have polling mode
due to a paucity of IRQs.  I have some reservations about this, so I'm
not going to MFC this just yet.  I'm doing this to see how many
problems it causes so we can do this in 4.2.  I've been seeing hangs
on my laptop from time to time, but sometimes it was not in polling
mode, other tmies it was.  Don't know if this is one problem or more
than one.

Requested by: Sean O Connell
2000-07-19 16:32:38 +00:00
imp
141cdecc82 Except for the information gathering IOCTLs, require apm device be
opened for write.  This should make the apm device read only safe.
2000-07-19 06:32:00 +00:00
n_hibma
5d39f96c2d Add the umodem driver. 2000-07-18 10:49:45 +00:00
sheldonh
263ffe32d1 Rename MDNSECT to MD_NSECT and declare it as something that isn't
default in NOTES.

Requested by:	bde
Approved by:	phk
2000-07-17 13:13:04 +00:00
marcel
38404736a1 Implement pread and pwrite.
PR: 17991
Submitted by: Geoffrey Speicher <geoff@caribbean.sea-incorporated.com>
2000-07-17 00:17:07 +00:00
marcel
53da591ed5 Add prototypes for linux_pread and linux_pwrite.
PR: 17991
Submitted by: Geoffrey Speicher <geoff@caribbean.sea-incorporated.com>
2000-07-17 00:13:38 +00:00
marcel
a29e7f6acf Implement setfsuid and setfsgid. Implementation derived from patch
in PR.

PR: 16993
Submitted by: Bjoern Groenvall <bg@sics.se>
2000-07-16 21:23:34 +00:00
itojun
538d8deb71 s/IPSEC_IPV6FWD/IPSEC/. this avoids unexpected behavior on ipv6 fowarding.
(even if you ask for tunnel-mode encryption packets will go out in clear)
sync with kame.
2000-07-16 07:56:54 +00:00
marcel
8e33a73c68 Simplify the F_GETOWN and F_SETOWN fcntl commands. The workaround
is not needed since the FreeBSD native implementation switched
from TIOC{G|S}PGRP to FIO{G|S}ETOWN (kern_descrip.c rev 1.55).

PR: 16946
Submitted by: Victor Salaman <salaman@teknos.com>
2000-07-15 22:33:24 +00:00
hm
0eaece4ce7 have pcvt's non-console probe and attach routines called again in case
it is configured in the kernel.
2000-07-15 13:16:28 +00:00
sheldonh
8d94fa095e Add options<sp><tab>MDNSECT=2000 . 2000-07-14 12:21:14 +00:00
ps
b436e36344 Change the way NMI's are handled. Before, if DDB was enabled and
a NMI occured, you could type continue in DDB and the kernel would
not attempt to detect what type of NMI was recieved.  Now we check
for the type of NMI first and then go to DDB if it is enabled.

This will solve the problem with having DDB enabled and getting an
NMI due to some possibly bad error and being able to continue the
operation of the kernel when you really want to panic and know
what happened.

Submitted by:	jhb
2000-07-14 11:49:44 +00:00
archie
7357df6b48 Make all Ethernet drivers attach using ether_ifattach() and detach using
ether_ifdetach().

The former consolidates the operations of if_attach(), ng_ether_attach(),
and bpfattach(). The latter consolidates the corresponding detach operations.

Reviewed by:	julian, freebsd-net
2000-07-13 22:54:34 +00:00
tanimura
7716c5370a Finally merge newmidi.
(I had been busy for my own research activity until the last weekend)

Supported devices:

SB Midi Port			(sbc + midi)
SB OPL3				(sbc + midi)
16550 UART			(midi, needs a trick in your hint)
CS461x Midi Port		(csa + midi)

OSS-compatible sequencer	(seq)

Supported playing software:

playmidi			(We definitely need more)

Notes:

/dev/midistat now reports installed midi drivers. /dev/sndstat reports
only pcm drivers. We need the new name(pcmstat?).

EMU8000(SB AWE) does not sound yet but does get probed so that the OPL3
synth on an AWE card works.

TODO:

MSS/PCI bridge drivers
Midi-tty interface to support general serial devices
Modules
2000-07-11 11:49:33 +00:00
mjacob
f5a6b75d84 Beef up a bit descriptions of SCSI devices and what the drive. 2000-07-10 15:37:03 +00:00
mjacob
8e224e7a68 Removing commented out devices I added. 2000-07-10 15:18:20 +00:00
kris
5fae984c0b Don't call printf with no format string.
Reviewed by:	msmith
2000-07-10 05:51:56 +00:00
alex
9474a996bc Add missing "a" in "Soft updates is technique".
PR:		19770
Submitted by:	Udo Erdelhoff <ue@nathan.ruhr.de>
2000-07-09 15:44:02 +00:00
alex
2cdcc841c4 Since this file is doc now, reorganize its structure.
Currently, many drivers support more than one bus of ISA, EISA, MCA,
PCI.

Before this commit, we had, for example, some SCSI devices listed more
than once, iirc, some up to three times (ISA/EISA, MCA, PCI).

Since now the "device" line is common for all of them and they only
differ for the hints stuff, I did the following:

First, list Busses: (E)ISA, MCA, PCI and explain, that only ISA
needs the hints stuff.

Move NIC/SCSI stuff, which were the only split sections, behind these
stuff.  Describe all drivers only one time and list all supported
chips.

List all device (+ hints for ISA, if possible).

I've also added few additional supported chips to some drivers, xl for
example and some SCSI drivers.

Also, softupdates is no longer disabled by default, so the comment should
not say, it's not enabled by default due to license issues.

Approved by:	asmodai

To come:	include PAO devices (imp volunteered for help)
2000-07-09 12:34:53 +00:00
mjacob
6301565880 Update SCSI device section, per Peter Wemm. I still
think the commented entries in GENERIC are the
right thing to do.
2000-07-08 07:44:01 +00:00
mjacob
ed6b1cf022 Oops- remove the '0' appended to targbh. 2000-07-08 07:05:40 +00:00
mjacob
14d741fcc2 Add in the commented out SCSI device entries of
#device         ses             # SCSI Environmental Services (and SAF-TE)
#device         targ            # SCSI Target Mode Code
#device         targbh0         # SCSI Target Mode Blackhole Device
#define         pt              # SCSI Processor Target Device

so that people know that they are there.
2000-07-08 07:02:58 +00:00
sumikawa
4fb63a4ede Add 'device stf', 6to4(one of IPv6 over IPv4 encapsulations) interface. 2000-07-04 17:37:21 +00:00
phk
e5de271d47 Previous commit changing SYSCTL_HANDLER_ARGS violated KNF.
Pointed out by:	bde
2000-07-04 11:25:35 +00:00
jhb
183fce400a Replace the PQ_*CACHE options with a single PQ_CACHESIZE option that you
set equal to the number of kilobytes in your cache.  The old options are
still supported for backwards compatibility.

Submitted by:	Kelly Yancey <kbyanc@posi.net>
2000-07-04 08:55:18 +00:00
mckusick
c3aca60a5b Update tags directive to reflect the new location of soft updates
and the reorganization of the eisa directory.
2000-07-04 00:18:43 +00:00
phk
a02f6b8e45 Include SOFTUPDATES in NOTES/LINT by default. 2000-07-03 13:24:25 +00:00
phk
61ff05be25 Style police catches up with rev 1.26 of src/sys/sys/sysctl.h:
Sanitize SYSCTL_HANDLER_ARGS so that simplistic tools can grog our
sources:

        -sysctl_vm_zone SYSCTL_HANDLER_ARGS
        +sysctl_vm_zone (SYSCTL_HANDLER_ARGS)
2000-07-03 09:35:31 +00:00
bsd
f4c833b228 Fix my own style bugs (use of spaces instead of tabs for indentation).
This is a style-only change.
2000-07-01 02:40:13 +00:00
alex
b878e64d53 - MSDOSFS can do both FAT _and_ FAT32. Since the name "MSDOS" might be
confusing, explecitely mention this.
- softupdates' README is no longer in contrib/softupdates. Fix new location.
2000-06-29 10:45:55 +00:00
peter
d8cc9ef001 Fix some fat-fingering of the isic lines. (argh!)
Fix some negative options that got turned on.

Submitted by:	bde (mostly)
2000-06-26 10:04:00 +00:00
peter
358ae698cb Report the line number where gethints.pl does not understand something
in an old device line.
2000-06-26 09:08:23 +00:00
markm
8a32a7c2bc Duh. Fix a fatfingered patch. 2000-06-25 19:06:48 +00:00
markm
1a54784cc2 Fix an uninitialised variable and a function return value.
Reported by:	dillon
2000-06-25 17:26:47 +00:00
markm
0417c878cd Remove old entropy-harvesting hooks; this is going to be re-engineered
later.
2000-06-25 09:55:12 +00:00
markm
c740c026d9 Get the build bits right for the new Architecture Independant null- and
entropy drivers.
Reviewed by:	dfr(mostly)
2000-06-25 09:18:13 +00:00
markm
9a058443da Strip out the machine-independant parts of the memory device.
/dev/(u)random, /dev/null, /dev/zero are all moving to machine-independant
drivers.
Reviewed by:	dfr
2000-06-25 09:08:27 +00:00
fsmp
4a7942d0d5 Fixed atpic_attach() for the SMP (specifically APIC_IO) case.
Approved by:	msmith@freebsd.org
2000-06-24 23:55:38 +00:00
msmith
b8a70f2c58 Make the PnP 'slopsucker' quiet in the !bootverbose case - the real NPX
probe happens much earlier, and may come to very different conclusions
about the system's NPX setup.
2000-06-23 08:19:50 +00:00
msmith
b4dffffe2d Add a stub driver to consume the PnP "system resource" items, and hide
them in the !bootverbose case.
2000-06-23 08:18:53 +00:00
msmith
dd93fd16a6 Add PnP probe methods to some common AT hardware drivers. In each case,
the PnP probe is merely a stub as we make assumptions about some of this
hardware before we have probed it.

Since these devices (with the exception of the speaker) are 'standard',
suppress output in the !bootverbose case to clean up the probe messages
somewhat.
2000-06-23 07:44:33 +00:00
msmith
9d946aa74d Collect the ISA DMA defines from the MI ISA code, not a private copy. 2000-06-23 07:40:57 +00:00
msmith
1cf6096a90 Stop trying to do anything funny with the interrupt resource range. The
AT PIC will consume IRQ 2 correctly in the !APIC_IO case.
2000-06-23 07:38:24 +00:00
green
3c5c819ded Rename macros to all-uppercase. Get rid of a comment that was ironic
(I goofed on the bitshifts myself long ago ;) and a bit redundant:
code should be clear enough that it seldom needs comments at all.
2000-06-22 20:53:36 +00:00
peter
2fe0662f1a Add SOFTUPDATES to GENERIC (BOOTMFS has this filtered out) 2000-06-22 06:01:02 +00:00
alfred
e3e72a583b return of the accept filter part II
accept filters are now loadable as well as able to be compiled into
the kernel.

two accept filters are provided, one that returns sockets when data
arrives the other when an http request is completed (doesn't work
with 0.9 requests)

Reviewed by: jmg
2000-06-20 01:09:23 +00:00
roberto
a275eb84ff Bring the an(4) fixes to wi(4):
- suser check
- splx() fix.

Reminded by:	Aaron Campbell <aaron@openbsd.org>
2000-06-19 00:17:13 +00:00
phk
0276808abc /152x/s/sound/SCSI/ 2000-06-18 15:01:22 +00:00
mjacob
b56ab4dc78 Remove all but ISP_TARGET_MODE options for isp and ispfw pseudo device. 2000-06-18 06:59:13 +00:00
peter
61ad2eac93 Deal with quoted arguments. This hack parser uses whitespace to delimit
fields, not lex/yacc grammar so it is not an exact match but should be
close enough for most cases.
Deal with 'port?', 'irq?' style specifications.  These are parsed as
seperate values in lex/yacc in config(8) but tripped up this helper tool.
2000-06-17 20:10:55 +00:00
peter
9b7f685f77 Use while (<>) instead of while(<STDIN>) so that perl will automagically
deal with filename arguments.  It is amazing how much you forget over time.

Thanks to the people that reminded me this.  I knew there was an easy way
that didn't involve messing with $argv, filehandles, etc, but just could
not remember - all of my books are on the opposite side of the planet..
2000-06-17 19:06:13 +00:00
phk
b54e59b479 Add disk_enumerate() for finding names of disks. Vinum and libh will
need this RSN.

Remove a pointless warning in the root device locating code.

Remove the "wd" compatibility name from the "ad" driver.

WARNING: If you have not updated to use /dev/wd* in your /etc/fstab
and modern bootblocks, it would be a very good idea to do so BEFORE
you upgrade your kernel.
2000-06-15 20:30:53 +00:00
cracauer
6a344f765d Linux allows to mmap annonymous with a file descriptor passed, FreeBSD
doesn't.  In the Linux emulation layer, ignore the fd passed when
MAP_ANON is specified.

Known application to be fixed: Xanalys/Harlequin Lispworks

Also improve debug output for mmap, now showing what the emulation
layer mapped to what (-DDEBUG).

Reviewed by:	marcel
2000-06-15 09:57:34 +00:00
bde
ce281cb5af Fixed syntax errors and style bugs in previous commit. The syntax
errors were normally harmless because they were in unreachable code
and gcc apparently doesn't check the syntax inside asm statements
that it optimizes away.
2000-06-14 18:48:39 +00:00
alex
ac720dace0 Fix typo (accessable --> accessible).
PR:		18588
Submitted by:	Anatoly Vorobey <mellon@pobox.com>
Reviewed by:	asmodai
2000-06-14 17:53:40 +00:00
peter
9e9163919b s/iomem/maddr/
s/iosiz/msize/
2000-06-14 10:04:06 +00:00
peter
2a3015841d s/iomem/maddr/ - these were generated from an older verion of the
gethints script. :-(
2000-06-14 10:01:39 +00:00
ps
27235775e1 Add option ALT_BREAK_TO_DEBUGGER.
Implement the Solaris way to break into DDB over a serial console
instead of sending a break.  Sending the character sequence
CR ~ ^b will break the kernel into DDB (if DDB is enabled).

Reviewed by:	peter
2000-06-14 06:41:33 +00:00
peter
98de8beb88 Print error messages to stderr, not stdout. 2000-06-14 02:45:11 +00:00
peter
647ef85d48 Borrow phk's axe and apply the next stage of config(8)'s evolution.
Use Warner Losh's "hint" driver to decode ascii strings to fill the
resource table at boot time.

config(8) no longer generates an ioconf.c table - ie: the configuration
no longer has to be compiled into the kernel.  You can reconfigure your
isa devices with the likes of this at loader(8) time:
  set hint.ed.0.port=0x320

userconfig will be rewritten to use this style interface one day and will
move to /boot/userconfig.4th or something like that.

It is still possible to statically compile in a set of hints into a kernel
if you do not wish to use loader(8).  See the "hints" directive in GENERIC
as an example.

All device wiring has been moved out of config(8).  There is a set of
helper scripts (see i386/conf/gethints.pl, and the same for alpha and pc98)
that extract the 'at isa? port foo irq bar' from the old files and produces
a hints file.  If you install this file as /boot/device.hints (and update
/boot/defaults/loader.conf - You can do a build/install in sys/boot) then
loader will load it automatically for you.  You can also compile in the
hints directly with:  hints "device.hints"  as well.

There are a few things that I'm not too happy with yet.  Under this scheme,
things like LINT would no longer be useful as "documentation" of settings.
I have renamed this file to 'NOTES' and stored the example hints strings
in it.  However... this is not something that config(8) understands, so
there is a script that extracts the build-specific data from the
documentation file (NOTES) to produce a LINT that can be config'ed and
built.  A stack of man4 pages will need updating. :-/

Also, since there is no longer a difference between 'device' and
'pseudo-device' I collapsed the two together, and the resulting 'device'
takes a 'number of units' for devices that still have it statically
allocated.  eg:  'device fe 4' will compile the fe driver with NFE set
to 4.  You can then set hints for 4 units (0 - 3).  Also note that
'device fe0' will be interpreted as "zero units of 'fe'" which would be
bad, so there is a config warning for this.  This is only needed for
old drivers that still have static limits on numbers of units.
All the statically limited drivers that I could find were marked.

Please exercise EXTREME CAUTION when transitioning!

Moral support by: phk, msmith, dfr, asmodai, imp, and others
2000-06-13 22:28:50 +00:00
kato
54b826da64 Recognize Coppermine Celeron processors whose CPU ID = 0x68?. They
were recognized as "Pentium III/Pentium III Xeon."
2000-06-13 12:33:45 +00:00
kato
dba64e78dc Added new options CPU_PPRO2CELERON and CPU_L2_LATENCY to support
Socket 8 to 370 converters.  When (1) CPU_PPRO2CELERON option is
defined, (2) Intel CPU is found and (3) CPU ID is 0x66?, L2 cache is
enabled through MSR 0x11e.  The L2 cache latency value can be
specified by CPU_L2_LATENCY option.  Default value of L2 cache latency
is 5.

These options are useful if you use Socket 8 to Socket 370 converter
(e.g. Power Leap's PL-Pro/II.)  Most PentiumPro BIOSs don't enable L2
cache of Mendocino Celeron CPUs because they don't know Celeron CPUs.
These options are needles if you use a Coppermine (FCPGA) Celeron or
PentiumIII, becuase the L2 cache enable bit is hard wired and L2 cache
is always enabled.
2000-06-13 09:10:37 +00:00
tanimura
423e956387 1. Update Comtrol RocketPort driver(rp) to version 3.02.
2. Newbusify the driver.
3. Build as a module.

4. Use correct minor numbers when creating device files.
5. Correctly lock control characters.
6. Return ENXIO when device not configured.
Submitted by:	Tor Egge	<Tor.Egge@fast.no>

7. Fix the baud_table.
Submitted by:	Elliot Dierksen	<ebd@oau.org>

Note:
- the old driver still lives in src/sys/i386/isa, so that you can
  revert to it if something goes wrong.
- The module does not detach very well. Attaching works fine.
2000-06-11 06:43:16 +00:00
msmith
588124d70f Don't include opt_smp.h - we don't use anything defined in it. 2000-06-10 22:59:50 +00:00
msmith
f156b85478 Correct the tests for ISA PIC/APIC so that they actually work. 2000-06-10 22:56:09 +00:00
peter
1309fd7187 No-op change. Remove #if NVT > 0 in files that are 'optional vt' and
therefore can never be compiled if NVT == 0. config(8) guarantees this.
2000-06-10 11:03:31 +00:00