1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-23 11:18:54 +00:00
Commit Graph

523 Commits

Author SHA1 Message Date
Warner Losh
a0988ce1a8 stl and stli use the old COMPAT_ISA api. slt also uses the really old
COMPAT_PCI api.  This API is going away, so this driver is going away
also.

If users are interested in updating this, please contact the author
since he has some preliminary work to move this to newer APIs.
2004-03-14 06:48:36 +00:00
Warner Losh
bbde09fb83 Remove gp driver. It uses the old COMPAT_ISA shims.
If this driver is rewritten using newer APIs it can return.
2004-03-14 05:31:41 +00:00
Warner Losh
8822b75696 Remove ctx driver. another scanner. This one uses COMPAT_ISA shims
which is going away soon.

If someone updates this to the latest APIs and tests it, it can return.
2004-03-14 05:27:30 +00:00
Warner Losh
9ddf1ac910 Remove asc driver, support for GI1904 based hand scanners. This
driver uses COMPAT_ISA shims, and those shims are going away.

It can be brought back if someone updates it to the latest APIs, and
moves it to the appropriate place in the tree.
2004-03-14 04:57:28 +00:00
Warner Losh
e08b187c65 Remove wt driver. It still uses COMPAT_ISA_DRIVER which is going away
very soon.

Users needing this driver should update it to a newer API.
2004-03-14 04:46:52 +00:00
Bill Paul
fc9a47912b Add if_ndis_pci.c and if_ndis_pccard.c so that building the NDISulator
directly into the kernel works again. Also make the 'ndisapi' entries
not depend on pccard anymore.

Forgotten by: me
Noticed by: sos
2004-03-12 17:31:29 +00:00
Roman Kurakin
3551b5825e 1. Connect Cronyx Tau/ISA driver (ctau) to kernel.
Approved by: imp (mentor)
2004-03-02 16:48:19 +00:00
John Baldwin
77fa00fa7c Switch to using the new $PIR interrupt routing code and remove the old
code.  The pci_cfgreg.c file now just controls reading/writing PCI config
registers.
2004-02-18 22:41:53 +00:00
Takeshi Shibagaki
386a89ed83 Compiled longrun.c when defined options CPU_ENABLE_LONGRUN,
and fixed wrong comparation in cpu vendor. Longrun function
was re-enabled.
2004-01-31 20:14:44 +00:00
David E. O'Brien
556c5b97ea Fix sort misordering. 2004-01-20 04:37:07 +00:00
Maxim Sobolev
e7846ad79e Add new CPU_ENABLE_TCC option, from NOTES:
CPU_ENABLE_TCC enables Thermal Control Circuitry (TCC) found in some
Pentium(tm) 4 and (possibly) later CPUs. When enabled and detected,
TCC allows to restrict power consumption by using machdep.cpuperf*
sysctls. This operates independently of SpeedStep and is useful on
systems where other mechanisms such as apm(4) or acpi(4) don't work.

Given the fact that many, even modern, notebooks don't work properly
with Intel ACPI, this is indeed very useful option for notebook owners.

Obtained from:	OpenBSD
MFC after:	2 weeks
2004-01-18 21:06:56 +00:00
Dag-Erling Smørgrav
1de30b60cb Add ffsl(), fls() flsl() to platforms that don't already have them. 2004-01-13 15:37:23 +00:00
Nate Lawson
4fd3a4fdd2 Add the ACPI Toshiba extras driver (hotkeys, LCD backlight, video output,
forced fan control, and CPU throttling).

Submitted by:	Hiroyuki Aizu <aizu@navi.org>
2004-01-11 19:18:38 +00:00
Bill Paul
c854fc1092 Commit the first cut of Project Evil, also known as the NDISulator.
Yes, it's what you think it is. Yes, you should run away now.

This is a special compatibility module for allowing Windows NDIS
miniport network drivers to be used with FreeBSD/x86. This provides
_binary_ NDIS compatibility (not source): you can run NDIS driver
code, but you can't build it. There are three main parts:

sys/compat/ndis: the NDIS compat API, which provides binary
compatibility functions for many routines in NDIS.SYS, HAL.dll
and ntoskrnl.exe in Windows (these are the three modules that
most NDIS miniport drivers use). The compat module also contains
a small PE relocator/dynalinker which relocates the Windows .SYS
image and then patches in our native routines.

sys/dev/if_ndis: the if_ndis driver wrapper. This module makes
use of the ndis compat API and can be compiled with a specially
prepared binary image file (ndis_driver_data.h) containing the
Windows .SYS image and registry key information parsed out of the
accompanying .INF file. Once if_ndis.ko is built, it can be loaded
and unloaded just like a native FreeBSD kenrel module.

usr.sbin/ndiscvt: a special utility that converts foo.sys and foo.inf
into an ndis_driver_data.h file that can be compiled into if_ndis.o.
Contains an .inf file parser graciously provided by Matt Dodd (and
mercilessly hacked upon by me) that strips out device ID info and
registry key info from a .INF file and packages it up with a binary
image array. The ndiscvt(8) utility also does some manipulation of
the segments within the .sys file to make life easier for the kernel
loader. (Doing the manipulation here saves the kernel code from having
to move things around later, which would waste memory.)

ndiscvt is only built for the i386 arch. Only files.i386 has been
updated, and none of this is turned on in GENERIC. It should probably
work on pc98. I have no idea about amd64 or ia64 at this point.

This is still a work in progress. I estimate it's about %85 done, but
I want it under CVS control so I can track subsequent changes. It has
been tested with exactly three drivers: the LinkSys LNE100TX v4 driver
(Lne100v4.sys), the sample Intel 82559 driver from the Windows DDK
(e100bex.sys) and the Broadcom BCM43xx wireless driver (bcmwl5.sys). It
still needs to have a net80211 stuff added to it. To use it, you would
do something like this:

# cd /sys/modules/ndis
# make; make load
# cd /sys/modules/if_ndis
# ndiscvt -i /path/to/foo.inf -s /path/to/foo.sys -o ndis_driver_data.h
# make; make load
# sysctl -a | grep ndis

All registry keys are mapped to sysctl nodes. Sometimes drivers refer
to registry keys that aren't mentioned in foo.inf. If this happens,
the NDIS API module creates sysctl nodes for these keys on the fly so
you can tweak them.

An example usage of the Broadcom wireless driver would be:

# sysctl hw.ndis0.EnableAutoConnect=1
# sysctl hw.ndis0.SSID="MY_SSID"
# sysctl hw.ndis0.NetworkType=0 (0 for bss, 1 for adhoc)
# ifconfig ndis0 <my ipaddr> netmask 0xffffff00 up

Things to be done:

- get rid of debug messages
- add in ndis80211 support
- defer transmissions until after a status update with
  NDIS_STATUS_CONNECTED occurs
- Create smarter lookaside list support
- Split off if_ndis_pci.c and if_ndis_pccard.c attachments
- Make sure PCMCIA support works
- Fix ndiscvt to properly parse PCMCIA device IDs from INF files
- write ndisapi.9 man page
2003-12-11 22:34:37 +00:00
Warner Losh
6ee2f106aa The dgb driver is redundant with the digi driver in the tree. It uses
lots of old interfaces, and digi now supports all cards that dgb
supported.  The author of the driver says that this is no longer
necessary.

Approved by: babkin@
2003-12-07 04:18:52 +00:00
Warner Losh
6631471980 First part of the removal of drivers for hardware that isn't relevant
or whose drivers haven't even compiled for years.

The loran hardware was very unique, and only a few copies of it ever
existed.  It used the old COMPAT_ISA_DRIVER and when the author was
contacted, he indicated that he had no intention of ever updating this
driver and it was no longer relevant to the FreeBSD world and can be
removed without impact to anybody.

Approved by: phk
2003-12-07 03:51:19 +00:00
Warner Losh
ac44076d62 Connect the cx driver to its new location in the tree.
Update notes to reflect that cx is no longer a counted device
Update options for new cx option
# commented out ELAN_PPS and ELAN_XTAL since they produced errors

Submitted by: rik@cronyx.ru
Approved by: re@ <scottl>
2003-12-03 23:06:30 +00:00
John Baldwin
7058adba6c - Remove references to old interrupt and SMP code.
- Add entries for new interrupt and SMP code.
2003-11-03 22:46:43 +00:00
Poul-Henning Kamp
1c66457ee5 Introduce new CPU_SOEKRIS option to tell soekris hardware from other
hardware based on similar chipsets.
2003-11-03 10:34:40 +00:00
Marcel Moolenaar
2bec1c8919 Hook-up the uart(4) driver to the build. For a detailed description
of what uart(4) is and/or is not see the initial commit log of one
of the files in sys/dev/uart (or see share/man/man4/uart.4).

Note that currently pc98 shares the MD file with i386. This needs
to change when pc98 support is fleshed-out to properly support the
various UARTs. A good example is sparc64 in this respect.

We build uart(4) as a module on all platforms. This may break
the ppc port. That depends on whether they do actually build
modules.

To use uart(4) on alpha, one must use the NO_SIO option.
2003-09-06 23:23:26 +00:00
Poul-Henning Kamp
f633e00615 Detect Geode CPUs and initialize the 27MHz timecounter "Geode".
This timecounter is 2usec faster than the i8254 and has 22 times
better resolution.
2003-08-31 16:20:34 +00:00
Matthew N. Dodd
34345c0870 AGP GART driver for NVIDIA nForce/nForce2 chipsets. 2003-08-23 18:00:31 +00:00
Poul-Henning Kamp
c43001fc56 As warned: Initiate deorbit burn for the pcaudio driver. 2003-08-15 14:56:05 +00:00
Warner Losh
11dc7df11d fix disordering of filenames. Place the dev/ppc files in alphabetical
order.
2003-08-04 02:39:14 +00:00
Doug Ambrisko
a373227418 Add printer support to puc(4) driver.
-	Move isa/ppc* to sys/dev/ppc (repo-copy)
      -	Add an attachment method to ppc for puc
      -	In puc we need to walk the chain of parents.
Still to do, is to make ppc(4) & puc(4) work on other platforms.  Testers
wanted.

PR:		38372 (in spirit done differently)
Verified by:	Make universe (if I messed up a platform please fix)
2003-08-01 02:25:32 +00:00
Bernd Walter
c4aebdb06c relocate eisa into MI files.
Suggested by:	jhb
2003-07-22 11:41:15 +00:00
Peter Wemm
a35b33869d Initiate de-orbit burn for fpu-less operation. 386+387 is still
theoretically supportable, but you'd really be happier with FreeBSD 2.1.8
on it.
2003-07-22 08:11:17 +00:00
Sam Leffler
167f409fd6 config+build glue for Atheros support 2003-06-25 14:51:20 +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
Warner Losh
02aa843a15 Update to reflect tw removal.
Approved by: re@ (scottl)
2003-04-27 05:40:53 +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
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
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
5d1b6a85bc Standardize handling of locore.[sS] etc. files.
Submitted by:	jake, bde, ru
2003-02-28 21:59:14 +00:00
David E. O'Brien
b9a49f7eb4 pst(4) should be portable across all our platforms. 2003-02-24 05:12:24 +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
Yoshihiro Takahashi
5628bf6970 Sort. 2003-02-11 13:19:01 +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
a9ba7b301c Remove files which don't exist 2003-01-30 06:27:10 +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
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
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
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
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
John Baldwin
d2ec391b39 Rename 'device acpica' to 'device acpi'.
Approved by:	msmith, iwasaki
2002-10-24 19:05:04 +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
Poul-Henning Kamp
3bd6561289 NB: This commit does *NOT* make GEOM the default in FreeBSD
NB: But it will enable it in all kernels not having options "NO_GEOM"

Put the GEOM related options into the intended order.

Add "options NO_GEOM" to all kernel configs apart from NOTES.

In some order of controlled fashion, the NO_GEOM options will be
removed, architecture by architecture in the coming days.

There are currently three known issues which may force people to
need the NO_GEOM option:

boot0cfg/fdisk:
        Tries to update the MBR while it is being used to control
        slices.  GEOM does not allow this as a direct operation.

SCSI floppy drives:
        Appearantly the scsi-da driver return "EBUSY" if no media
        is inserted.  This is wrong, it should return ENXIO.

PC98:
        It is unclear if GEOM correctly recognizes all variants of
        PC98 disklabels.  (Help Wanted!  I have neither docs nor HW)

These issues are all being worked.

Sponsored by:	DARPA & NAI Labs.
2002-10-05 16:35:33 +00:00
Sam Leffler
8b7ce2ff52 hookup new crypto support to the config/build process 2002-10-04 20:42:36 +00:00
Matthew N. Dodd
3ae5b53264 newbus & bus_space the mcd(4) driver. 2002-10-04 07:14:19 +00:00
Scott Long
0910374b7f Alas, poor matcd, I knew ye well.
It doesn't work.
It cannot be made to work.
Goodbye.

X-MFC after:	ASAP
2002-10-04 06:06:04 +00:00
John Baldwin
e8e951ce31 Add a new legacy(4) device driver for use on machines that do not have
ACPI or for when ACPI support is disabled or not present in the kernel.
Basically, the nexus device is now split into two with some parts
(such as adding default ISA, MCA, and EISA busses if they aren't found
as well as support for PCI bus device ivars) being moved to the legacy
driver.
2002-09-23 15:50:06 +00:00
Poul-Henning Kamp
85fee3197a It's bad enough people can't figure out to use the same code, or in
this case, ugly macros, but the data tables can be reused:

Put one copy of the software HDLC tables in its own file.
2002-09-11 12:44:58 +00:00
Peter Wemm
21ae145105 Make imgact_aout.c optional. It is i386 specific. 2002-09-07 01:30:36 +00:00
Poul-Henning Kamp
bd8add3d61 Change the support for AMDs ElanSC520 CPU from being a device driver to
be
	options	CPU_ELAN
(NB: Soekris.com users!)

It is cleaner this way.  We still recognize the cpu on the host-pci bridge.
2002-09-04 19:43:22 +00:00
Brooks Davis
5906e69ac2 Continue de-counting i4b. Devices i4bctl, i4bcapi, iavc, i4bq921,
i4bq931, i4b, isic, iwic, ifpi, ifpi2, ifpnp, ihfc, and itjc are
no longer count devices.  Also remove a few other instances of N<DEVICE>
being used to control compilation of whole files.

Reviewed by:    hm
2002-09-02 00:52:11 +00:00
Peter Wemm
448a5139d4 Initiate deorbit burn for sys/kern/link_aout.c. We never shipped a.out
kld's anywhere, and it was always possible to load ELF kld's even in an
a.out kernel.  There is no reason for this to exist anymore, and a.out
kld support has been suffering serious bitrot over the years.  They have
not been fully functional for quite some time.
2002-08-29 01:48:09 +00:00
Peter Wemm
66efd5f568 Untangle this warning a bit:
COMPAT_SVR4 is broken and usage is, until fixed, not recommended
BTW; does anybody remember why this is here?
2002-08-20 00:29:16 +00:00
Peter Wemm
5452db4885 de-count atkbdc and sc. Folks, remove the '1' from 'device sc 1' and
'device atkbdc 1'.
2002-08-19 23:59:21 +00:00
Poul-Henning Kamp
007054391b typo. 2002-08-02 15:55:18 +00:00
Poul-Henning Kamp
927b6b099d Add the minimalist elan-mmcr device driver.
This driver allows a userland program to mmap the MMCR of the AMD
Elan sc520 CPU.
2002-08-02 15:53:04 +00:00
Søren Schmidt
1d6213f9cc Finally first shot at a driver for the Promise SuperTrak SX6000 ATA RAID
controller. Some testing has already been done, but its still greenish.
RAID's has to be setup via the BIOS on the SuperTrak, but all RAID
types are supported by the driver. The SuperTrak rebuilds failed arrays
on the fly and supports spare disks etc etc...

Add "device     pst" to your config file to use.

As usual bugsreports, suggestions etc are welcome...

Development sponsored by:       Advanis
Hardware donated by:            Promise Inc.
2002-07-31 18:27:30 +00:00
John Baldwin
ba268f0312 Move sio_isa.c back to MD files files due to PC98 brain damage. 2002-07-24 12:35:52 +00:00
Peter Wemm
0cd59a38ce Move 'em' from files.i386 to files so that it is within reach of the
ia64 (tested) and pc98 (i386 based) platforms.
2002-07-22 01:11:16 +00:00
Peter Wemm
d76dc9c3f3 pci/cy_pci.c is still MD, it needs i386/isa/cy.c for the core. 2002-07-21 23:15:41 +00:00
John Baldwin
fbfee3f615 Move SMBFS from i386 and pc98 files and options files to MI files and
options files.
2002-07-15 19:11:21 +00:00
John Baldwin
bdff575a42 Move all the sio(4) attachments (except for pc98's cbus attachment) to the
MI files file.  We can't move sio.c because pc98 uses a custom version.
2002-07-15 15:47:34 +00:00
John Baldwin
47a3594e8e The puc(4) driver/bridge is MI, so don't bury it in MD options and files
config files.  It also depends on PCI.
2002-07-15 15:39:10 +00:00
Brooks Davis
22afbb6bb0 Remote pci.h/NPCI usage from i4b code.
Approved by:	hm
2002-06-13 06:04:28 +00:00
Prafulla Deuskar
a7fabc2b60 Added support for 82545EM and 82546EB based adapters.
Added Vlan support.

MFC after:	1 week
2002-06-03 22:30:51 +00:00
Marcel Moolenaar
c444f61706 Hook up the new linux_ptrace implementation.
PR: 33299
Submitted by: Alexander N. Kabaev <ak03@gte.com>
2002-05-19 01:27:14 +00:00
Jake Burkholder
60b22c6d62 ${MACHINE_ARCH}dump.c -> dump_machdep.c. 2002-05-13 02:40:21 +00:00
Poul-Henning Kamp
c971041e29 Add the i386dump.c dumpsys() source file. 2002-03-31 22:28:28 +00:00
Matthew Dillon
d74ac6819b Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt
disablement assumptions in kern_fork.c by adding another API call,
cpu_critical_fork_exit().  Cleanup the td_savecrit field by moving it
from MI to MD.  Temporarily move cpu_critical*() from <arch>/include/cpufunc.h
to <arch>/<arch>/critical.c (stage-2 will clean this up).

Implement interrupt deferral for i386 that allows interrupts to remain
enabled inside critical sections.  This also fixes an IPI interlock bug,
and requires uses of icu_lock to be enclosed in a true interrupt disablement.

This is the stage-1 commit.  Stage-2 will occur after stage-1 has stabilized,
and will move cpu_critical*() into its own header file(s) + other things.
This commit may break non-i386 architectures in trivial ways.  This should
be temporary.

Reviewed by:	core
Approved by:	core
2002-03-27 05:39:23 +00:00
David E. O'Brien
255fc25ad4 Remove a FMT that was buried in here.
I have no idea why the original committer even used it (in its KERNFORMAT
spelling) as there is no a.out version.
2002-03-25 03:27:09 +00:00
Hajimu UMEMOTO
b5a8f767a6 - Speedup 3DES by using assembly code for i386.
- Sync des/blowfish to more recent openssl.

Obtained from:	KAME/NetBSD
MFC after:	2 weeks
2002-03-05 09:19:02 +00:00
Peter Wemm
9d69d7b867 Tag istallion.c with nowerror (third party) 2002-02-28 03:14:37 +00:00
Peter Wemm
da0d93cfc3 Mark stallion.c as nowerror (known broken, this is a #warning) 2002-02-27 23:23:54 +00:00
John Hay
9c564b6c92 Add the puc (PCI "Universal" Communications) driver. The idea and some of
the structure definitions come from NetBSD to make it easier to share card
definitions. The driver only acts as a shim between the pci bus and the
sio driver. Later pci parallel ports could also be supported through this
driver. Support for most single and multiport pci serial cards should be
as simple as adding its definition to pucdata.c

Tested with the following pci cards:
Moxa Industio CP-114, 4 port RS-232,RS-422/485
Syba Tech Ltd. PCI-4S2P-550-ECP, 4 port RS-232 + 2 parallel ports
Netmos NM9835 PCI-2S-550, 2 port RS-232
2002-02-16 15:12:14 +00:00
Andrew Gallatin
0483b1a8f2 Enable polling to be configured into kernels on non i386 platforms. Note that
poll_in_trap is only implemented on i386.  I've tested this on alpha.

Approved by: luigi
2002-02-12 00:26:06 +00:00
Bruce Evans
c920faa62e Removed the one use of the mandatory keyword (for npx).
npx is no more mandatory than sc.  Its mandatoryness went away in
rev.1.226 of i386/machdep.c 9 months before it was made mandatory in
rev.1.24 of config/mkmakefile.c.

This change is mainly to test building of minimal kernel configurations.
npx should really be even more standard than clk.  It was optional mainly
so that the usual device driver configuration info could be specified in
the usual way in config files, but this hasn't been necessary for a few
years.
2002-01-30 14:35:58 +00:00
Peter Wemm
d9ec674175 genassym builds need the -fno-common stripped out. 2002-01-11 07:52:02 +00:00
Max Khon
eda6ecb22a - generic Arcnet framework
- device driver for SMC COM90cx6 Arcnet network adapters

Obtained from:	NetBSD
2002-01-08 20:03:13 +00:00
Yoshihiro Takahashi
b30a31e99d Sorted the lists. 2002-01-06 09:46:30 +00:00
Gary Jennejohn
1823355cab Add the ifpi2 driver.
MFC after:	4 weeks
2001-12-22 09:29:03 +00:00
Luigi Rizzo
e4fc250c15 Device Polling code for -current.
Non-SMP, i386-only, no polling in the idle loop at the moment.

To use this code you must compile a kernel with

        options DEVICE_POLLING

and at runtime enable polling with

        sysctl kern.polling.enable=1

The percentage of CPU reserved to userland can be set with

        sysctl kern.polling.user_frac=NN (default is 50)

while the remainder is used by polling device drivers and netisr's.
These are the only two variables that you should need to touch. There
are a few more parameters in kern.polling but the default values
are adequate for all purposes. See the code in kern_poll.c for
more details on them.

Polling in the idle loop will be implemented shortly by introducing
a kernel thread which does the job. Until then, the amount of CPU
dedicated to polling will never exceed (100-user_frac).
The equivalent (actually, better) code for -stable is at

	http://info.iet.unipi.it/~luigi/polling/

and also supports polling in the idle loop.

NOTE to Alpha developers:
There is really nothing in this code that is i386-specific.
If you move the 2 lines supporting the new option from
sys/conf/{files,options}.i386 to sys/conf/{files,options} I am
pretty sure that this should work on the Alpha as well, just that
I do not have a suitable test box to try it. If someone feels like
trying it, I would appreciate it.

NOTE to other developers:
sure some things could be done better, and as always I am open to
constructive criticism, which a few of you have already given and
I greatly appreciated.
However, before proposing radical architectural changes, please
take some time to possibly try out this code, or at the very least
read the comments in kern_poll.c, especially re. the reason why I
am using a soft netisr and cannot (I believe) replace it with a
simple timeout.

Quick description of files touched by this commit:

sys/conf/files.i386
        new file kern/kern_poll.c
sys/conf/options.i386
        new option
sys/i386/i386/trap.c
        poll in trap (disabled by default)
sys/kern/kern_clock.c
        initialization and hardclock hooks.
sys/kern/kern_intr.c
        minor swi_net changes
sys/kern/kern_poll.c
        the bulk of the code.
sys/net/if.h
        new flag
sys/net/if_var.h
        declaration for functions used in device drivers.
sys/net/netisr.h
        NETISR_POLL
sys/dev/fxp/if_fxp.c
sys/dev/fxp/if_fxpvar.h
sys/pci/if_dc.c
sys/pci/if_dcreg.h
sys/pci/if_sis.c
sys/pci/if_sisreg.h
        device driver modifications
2001-12-14 17:56:12 +00:00
Prafulla Deuskar
e6770f4c46 This is the first commit of the Intel gigabit driver for
PRO/1000 cards.

Submitted by:Prafulla Deuskar
Reviewed by: Paul Saab
MFC after:1 week
2001-12-02 07:37:17 +00:00
Warner Losh
f703f3eaee First part of patches to make sio grok 16-bit serial cards under
NEWCARD.  Other patches may be reqiured to sio to prevent a hang on
eject.  Also add commented out entries for sio_pccard.c in files.pc98
to match other architectures.

Submitted by: yamamoto shigeru-san
2001-11-26 00:39:33 +00:00
Max Khon
ea38b939e8 Add driver for Granch SBNI12-xx ISA and PCI network adapters.
MFC after:	1 week
2001-11-21 22:29:35 +00:00
Poul-Henning Kamp
e1a7c5c881 GC userconfig after Peter axed it 15 months ago. 2001-11-05 21:46:35 +00:00
Poul-Henning Kamp
0d60c3f5cf Remove the old RocketPort driver which was left behind in favour
of the new driver.  The new driver works, the old one is 1+ year behind.
2001-11-05 20:49:30 +00:00
Warner Losh
e282bb41f0 Don't try to use sio with NEWCARD 16 bit yet. It eats all pccards :-)
Reported by: Marcell Moolenaar
2001-10-30 14:49:29 +00:00
Mitsuru IWASAKI
f86214b6b8 Add APM compatibility feature to ACPI.
This emulates APM device node interface APIs (mainly ioctl) and
provides APM services for the applications.  The goal is to support
most of APM applications without any changes.
Implemented ioctls in this commit are:
 - APMIO_SUSPEND (mapped ACPI S3 as default but changable by sysctl)
 - APMIO_STANDBY (mapped ACPI S1 as default but changable by sysctl)
 - APMIO_GETINFO and APMIO_GETINFO_OLD
 - APMIO_GETPWSTATUS

With above, many APM applications which get batteries, ac-line
info. and transition the system into suspend/standby mode (such as
wmapm, xbatt) should work with ACPI enabled kernel (if ACPI works well :-)

Reviewed by:	arch@, audit@ and some guys
2001-10-26 17:43:05 +00:00
Warner Losh
2ce87d3448 Break out the bus front ends into their own files. Rewrite
sio_pccard_detach to use new siodetach.  Add an extra arg to sioprobe
to tell driver to probe/not probe the device for IRQs.

This incorporates most of Bruce's review material.  I'm at a good
checkpoint, but there will be more to come based on bde's further
reviews.

Reviewed by: bde
2001-10-23 15:17:33 +00:00
Warner Losh
d75c1b4a90 First commit after a repo copy of isa/sio* -> dev/sio:
Move sio from isa/sio.c to dev/sio/sio.c.  The next step is to break
out the front end attachments, improve support for these parts on
different busses, and maybe, if we're lucky, merging in pc98 support.
It will also be MI and live in conf/files rather than files.*.

Approved by: bde
Tested with: i386, pc98
2001-10-22 02:48:38 +00:00
Dag-Erling Smørgrav
7c62990641 Move procfs_* from procfs_machdep.c into sys_process.c, and rename them to
proc_* in the process; procfs_machdep.c is no longer needed.

Run-tested on i386, build-tested on Alpha, untested on other platforms.
2001-10-21 23:57:24 +00:00
Marcel Moolenaar
e3611e1807 Correct intended fix to my foul-up.
linux_uid16.c is in sys/compat/linux not in sys/i386/linux.
2001-09-08 23:26:40 +00:00