Commit Graph

6267 Commits

Author SHA1 Message Date
Peter Wemm
0bbd01ea13 Add some notes about the globalness of certain things like interrupts
and ISA DMA channels (ie: on most PCI systems, they are not.. they are
on the ISA side of the PCI-ISA bridge and could be duplicated if there
were multiple PCI-ISA bridges, say in a laptop docking station), while
the APIC resources would be global on SMP systems.
Also, revert a previous change, change some printfs back to panics.
1999-05-08 21:34:34 +00:00
Peter Wemm
14d3b6b80c GC some #if 0 junk 1999-05-08 21:28:39 +00:00
Peter Wemm
f98661016d Don't print 'interrupting at irq nn' on the x86 family, it's not all
that big a deal just yet and isn't worth a whole line on the boot screen.
This could change later in the face of multi-ISA-bus (eg: laptop docking
stations with two independent ISA busses) and SMP/APIC systems.  The Alpha
already has multiple interrupt destinations to deal with.
1999-05-08 20:24:44 +00:00
Peter Wemm
6d04a6cb97 I'm sick of the automatic rename of /kernel to /kernel.old while doing
development that leads to lots of crashes during boot.

I have made a 'reinstall' target (like in ports, and reinstall.debug)
This is most useful if you want to keep /kernel.old as a known bootable
kernel.  If you test a new kernel and have to reboot for a fix, a
'make reinstall' will install the new kernel over the top of the old
non-viable one, leaving the old one untouched.  This is mainly meant
for development, not general users.
1999-05-08 20:04:39 +00:00
Peter Wemm
ac0c5aaf01 Use haveseen_ioport() which is now connected up to the resource manager. 1999-05-08 18:20:57 +00:00
Peter Wemm
479232a2e7 GC some unused stuff relating to the old conflict checking and other lint.
Change haveseen_isadev() to something a little easier to emulate.
Store the device_t for the wrapper in isa_device.
Implement a replacement for haveseen_isadev - namely haveseen_ioport()
which takes a port size as an extra argument for a proper range check.
This (haveseen_ioport()) has not been tested, but I think it'll work.
1999-05-08 18:20:05 +00:00
Peter Wemm
1a738e4be7 Look up the sensitive flag better, allowing interoperation between old and
new isa drivers with sensitive flags.  If the resource_find() code
is meant to "find" the wildcard sensitive flag for a driver even though
a unit is supplied, this can be simplified.
1999-05-08 18:15:49 +00:00
Peter Wemm
df5c783c68 Fix unused variable "flags". (only used if #ifdef I586_CPU) 1999-05-08 18:14:09 +00:00
Peter Wemm
4fdff1649a GC unused #define id_physid id_scsiid 1999-05-08 18:13:15 +00:00
Peter Wemm
8292f0f488 Update for new resource_set_*() interface. Also deal with the conflicts
flag.
1999-05-08 18:12:03 +00:00
Peter Wemm
aee579830d Add brackets around && within || to quieten egcs. I've checked the code
and I'm reasonably sure it's right, but I don't have one of the beasties.
1999-05-08 17:52:03 +00:00
Peter Wemm
9c06a38614 Make sure the mem_range_AP_init() prototype is seen where it's needed, and
#ifdef SMP around it for fun.
1999-05-08 17:48:22 +00:00
Peter Wemm
b5a1d3ab96 Take a guess at a halfway reasonable fla entry so that the build
doesn't break on isa_compat.[ch].  phk - change this to what you need..
1999-05-08 15:46:46 +00:00
Poul-Henning Kamp
c1023c75e9 Add compat hooks for DiskOnChip2000 driver.
Minor change to loran driver
1999-05-08 14:36:48 +00:00
Poul-Henning Kamp
1637aa4b1c Fix some of the places where too much inside knowledge about major/minor
layout and dev_t structure is being (ab)used.
1999-05-08 07:02:41 +00:00
Poul-Henning Kamp
4be2eb8c49 I got tired of seeing all the cdevsw[major(foo)] all over the place.
Made a new (inline) function devsw(dev_t dev) and substituted it.

Changed to the BDEV variant to this format as well: bdevsw(dev_t dev)

DEVFS will eventually benefit from this change too.
1999-05-08 06:40:31 +00:00
Peter Wemm
0b45dbca38 Yet another kludge to maintain the isa_device illusion, this time malloc
an isa_driver and name pointer so the uc_devlist sysctl can get to it.
1999-05-07 16:54:50 +00:00
Poul-Henning Kamp
46eede0058 Continue where Julian left off in July 1998:
Virtualize bdevsw[] from cdevsw.  bdevsw() is now an (inline)
        function.

        Join CDEV_MODULE and BDEV_MODULE to DEV_MODULE (please pay attention
        to the order of the cmaj/bmaj arguments!)

        Join CDEV_DRIVER_MODULE and BDEV_DRIVER_MODULE to DEV_DRIVER_MODULE
        (ditto!)

(Next step will be to convert all bdev dev_t's to cdev dev_t's
before they get to do any damage^H^H^H^H^H^Hwork in the kernel.)
1999-05-07 10:11:40 +00:00
Poul-Henning Kamp
c48d17750f Introduce two functions: physread() and physwrite() and use these directly
in *devsw[] rather than the 46 local copies of the same functions.

(grog will do the same for vinum when he has time)
1999-05-07 07:03:47 +00:00
Kirk McKusick
e244fe31d6 Generalize to allow any serial port to be used as the GDB port.
Mark the GDB port in the config file with flags 0x80. Currently
only the sio driver checks these flags and sets up a GDB port,
but adding similar code to other serial drivers would be easy.
For backward compatibility, if an sio port is marked as the console
and no port is marked as the gdb port, the GDB port will be mapped
to the console port. This hack should go away at some point.
1999-05-07 06:50:41 +00:00
Bill Paul
049e649a10 Add support to wicontrol(8) and wi(4) for enabling and configuring
power management. This will only work on newer firmware revisions; older
firmware will silently ignore the attempts to turn power management on.

Patches supplied by: Brad Karp <karp@eecs.harvard.edu>
1999-05-07 03:28:54 +00:00
Peter Wemm
691343c4f8 Use id_ointr for setting the pnp interrupt handler, it uses the oldstyle
int unit argument still.
1999-05-06 22:26:28 +00:00
Peter Wemm
5e80440b17 Use consistant function definitions which also silences a warning. 1999-05-06 22:17:26 +00:00
Peter Wemm
94f9940a0c Ensure prototype for pnp_configure() is visible. 1999-05-06 22:16:19 +00:00
Peter Wemm
ea5c2064b4 GC unused variable 1999-05-06 22:14:46 +00:00
Peter Wemm
ea861c7968 Pull in prototype for splq(). 1999-05-06 22:13:53 +00:00
Peter Wemm
284c724fb4 Fix a static/extern conflict. Put extra brackets to ensure the
tsleep() priority is clear and not parsed incorrectly.
1999-05-06 22:13:04 +00:00
Peter Wemm
ae89b422d5 Put the old-style isa interrupt handlers in id_ointr to avoid warnings. 1999-05-06 22:11:19 +00:00
Peter Wemm
189f4bb9c8 Fix a warning - make sure the register is read regardless of the debugging
options.
1999-05-06 22:09:55 +00:00
Kenneth D. Merry
9deea8574e Add a number of interrelated CAM feature enhancements and bug fixes.
NOTE:  These changes will require recompilation of any userland
applications, like cdrecord, xmcd, etc., that use the CAM passthrough
interface.  A make world is recommended.

camcontrol.[c8]:
 - We now support two new commands, "tags" and "negotiate".

	- The tags commands allows users to view the number of tagged
	  openings for a device as well as a number of other related
	  parameters, and it allows users to set tagged openings for
	  a device.

	- The negotiate command allows users to enable and disable
	  disconnection and tagged queueing, set sync rates, offsets
	  and bus width.  Note that not all of those features are
	  available for all controllers.  Only the adv, ahc, and ncr
	  drivers fully support all of the features at this point.
	  Some cards do not allow the setting of sync rates, offsets and
	  the like, and some of the drivers don't have any facilities to
	  do so.  Some drivers, like the adw driver, only support enabling
	  or disabling sync negotiation, but do not support setting sync
	  rates.

 - new description in the camcontrol man page of how to format a disk
 - cleanup of the camcontrol inquiry command
 - add support in the 'devlist' command for skipping unconfigured devices if
   -v was not specified on the command line.
 - make use of the new base_transfer_speed in the path inquiry CCB.
 - fix CCB bzero cases

cam_xpt.c, cam_sim.[ch], cam_ccb.h:

 - new flags on many CCB function codes to designate whether they're
   non-immediate, use a user-supplied CCB, and can only be passed from
   userland programs via the xpt device.  Use these flags in the transport
   layer and pass driver to categorize CCBs.

 - new flag in the transport layer device matching code for device nodes
   that indicates whether a device is unconfigured

 - bump the CAM version from 0x10 to 0x11

 - Change the CAM ioctls to use the version as their group code, so we can
   force users to recompile code even when the CCB size doesn't change.

 - add + fill in a new value in the path inquiry CCB, base_transfer_speed.
   Remove a corresponding field from the cam_sim structure, and add code to
   every SIM to set this field to the proper value.

 - Fix the set transfer settings code in the transport layer.

scsi_cd.c:

 - make some variables volatile instead of just casting them in various
   places
 - fix a race condition in the changer code
 - attach unless we get a "logical unit not supported" error.  This should
   fix all of the cases where people have devices that return weird errors
   when they don't have media in the drive.

scsi_da.c:

 - attach unless we get a "logical unit not supported" error

scsi_pass.c:

 - for immediate CCBs, just malloc a CCB to send the user request in.  This
   gets rid of the 'held' count problem in camcontrol tags.

scsi_pass.h:

 - change the CAM ioctls to use the CAM version as their group code.

adv driver:

 - Allow changing the sync rate and offset separately.

adw driver

 - Allow changing the sync rate and offset separately.

aha driver:

 - Don't return CAM_REQ_CMP for SET_TRAN_SETTINGS CCBs.

ahc driver:

 - Allow setting offset and sync rate separately

bt driver:

 - Don't return CAM_REQ_CMP for SET_TRAN_SETTINGS CCBs.

NCR driver:

 - Fix the ultra/ultra 2 negotiation bug
 - allow setting both the sync rate and offset separately

Other HBA drivers:
 - Put code in to set the base_transfer_speed field for
   XPT_GET_TRAN_SETTINGS CCBs.

Reviewed by:	gibbs, mjacob (isp), imp (aha)
1999-05-06 20:16:39 +00:00
Poul-Henning Kamp
b0eeea2042 remove b_proc from struct buf, it's (now) unused.
Reviewed by:	dillon, bde
1999-05-06 20:00:34 +00:00
Peter Wemm
3f251a4979 Fix 'signed char as array index' warnings and an unused variable. 1999-05-06 18:58:05 +00:00
Peter Wemm
c41dbe5cc4 Missing 'int' in declaration of variables. 1999-05-06 18:54:19 +00:00
Peter Wemm
03a4d0108f Fix a precedence bug in the atapi tape driver. I think it could either
write a filemark where it wasn't needed, or neglect to write one at all,
depending on how the boolean converted to an int value for the &.
1999-05-06 18:50:10 +00:00
Peter Wemm
d5558c001a Fix up a few easy 'assignment used as truth value' and 'suggest parens
around && within ||' type warnings.  I'm pretty sure I have not masked
any problems here, I've committed real problem fixes seperately.
1999-05-06 18:44:42 +00:00
Peter Wemm
522c197d02 The joypart() macro had a precedence bug. Add seatbelts for UNIT() too. 1999-05-06 18:39:32 +00:00
Peter Wemm
dfd5dee1b0 Add sufficient braces to keep egcs happy about potentially ambiguous
if/else nesting.
1999-05-06 18:13:11 +00:00
Peter Wemm
5f0d05904c Add missing comment characters from wi driver description. 1999-05-06 18:08:23 +00:00
Bill Paul
e566363ef1 Modify wicontrol(8) and wi(4) to allow setting the frequency of the
WaveLAN's radio modem. The default is whatever the NIC uses since NICs
sold in different countries may default to different frequencies. (The
Lose95/LoseNT software doesn't let you select the channel so it's probably
not really meant to be changed.)
1999-05-06 16:32:45 +00:00
Nick Hibma
4ca710c5e2 Added USB HID devices major number.
Submitted by: MAEKAWA Masahide
1999-05-06 13:51:26 +00:00
Peter Wemm
97bf178703 I'm not sure why the #ifdef SMP became #if 1 (this overrode the npx probe
and always succeeded as is required on SMP).  Anyway, reverting this
still compiles and appears ok.
1999-05-06 12:47:21 +00:00
Bruce Evans
ea2b3e3d1b Fixed profiling of elf kernels. Made high resolution profiling compile
for elf kernels (it is broken for all kernels due to lack of egcs support).

Renaming of many assembler labels is avoided by declaring by declaring
the labels that need to be visible to gprof as having type "function"
and depending on the elf version of gprof being zealous about discarding
the others.  A few type declarations are still missing, mainly for SMP.

PR:		9413
Submitted by:	Assar Westerlund <assar@sics.se> (initial parts)
1999-05-06 09:44:57 +00:00
Bill Paul
c49713fde1 Fix some byte ordering problems; I was storing string lengths wrong,
which was causing wicontrol to crash when reading string parameters
from the WaveLAN.

Patches submitted by: Brad Karp <karp@eecs.harvard.edu>
1999-05-06 03:34:02 +00:00
Luoqi Chen
25b602e4c2 Now that each cpu has its own gdt table, we need to setup apm gdt entries in
all the tables.
1999-05-06 01:07:03 +00:00
Luoqi Chen
c300b7b6c1 Initialize dblfault_tss.tss_fs to the per-cpu private data segment selector. 1999-05-06 00:54:54 +00:00
Luoqi Chen
68db6cea99 Do not set curproc until proc0 is fully initialized (in proc0_init()). 1999-05-06 00:39:00 +00:00
John Birrell
785d2100dd Add the INIT_PATH option for embedded systems. 1999-05-05 12:22:31 +00:00
Jordan K. Hubbard
3d0d924077 Add information strings for a number of devices which have suddenly appeared
in the configuration name space.
1999-05-05 09:37:22 +00:00
Bill Paul
31a08ab08e Add device driver support for the Lucent WaveLAN/IEEE 802.11 PCMCIA
adapter (and some workalikes). Also add man pages and a wicontrol
utility to manipulate some of the card parameters.

This driver was written using information gleaned from the Lucent HCF Light
library, though it does not use any of the HCF Light code itself, mainly
because it's contaminated by the GPL (but also because it's pretty gross).
The HCF Light lacks certain featurs from the full (but proprietary) HCF
library, including 802.11 frame encapsulation support, however it has
just enough register information about the Hermes chip to allow someone
with enough spare time and energy to implement a proper driver. (I would
have prefered getting my hands on the Hermes manual, but that's proprietary
too. For those who are wondering, the Linux driver uses the proprietary
HCF library, but it's provided in object code form only.)

Note that I do not have access to a WavePOINT access point, so I have
only been able to test ad-hoc mode. The wicontrol utility can turn on
BSS mode, but I don't know for certain that the NIC will associate with
an access point correctly. Testers are encouraged to send their results
to me so that I can find out if I screwed up or not.
1999-05-05 07:37:11 +00:00
Bill Paul
113a394c06 Add device driver support for the Lucent WaveLAN/IEEE 802.11 wireless
network adapters. These are all PCMCIA devices (the ISA version is a
PCMCIA to ISA bridge with a PCMCIA card plugged into it). Also add a
wicontrol utility to read and write some of the card's parameters.

Note: I do not have access to a WavePOINT access point, so I have only
been able to test this driver in ad-hoc (point to point) mode. The
wicontrol utility allows programming the desired service set name (SSID)
and enabling BSS mode, but I can't tell for sure if it works (I know the
card switches modes, but I can't verify that it joins a service set
correctly).

This driver was written using information gleaned from the Lucent HCF Light
library, which is an API library designed to simplify driver development
for devices based on the Lucent Hermes chip. Unfortunately, the HCF Light
is missing certain features (like 802.11 frame encapsulation!) which are
available only in the proprietary complete HCF code, which is not available
to the public. This driver uses none of the HCF Light code: it's very ugly
and contaminated by the GPL. IP and ARP packets are encapsulated as 802.11
frames, everything else is encapsulated as 802.3.

(It would be easier to just get the Hermes programming manual, but that's
not publically available either. For those who are wondering, the Linux
WaveLAN/IEEE driver uses the proprietary HCF code, which is provided in
object code form only. So much for supporting open source sofware.)

Multicast filter support is implemented, however it appears that the
filter doesn't work: programming in one IP mutlicast group enables them
all.
1999-05-05 07:11:38 +00:00
Doug Rabson
6887e80a0f Use unit, not device_id as an argument to an old-style ISA interrupt
handler. This fixes pnp interrupts and would have fixed pccard interrupts
but a workaround has been applied there.

This the sound driver problems which people have reported with new-bus.
1999-05-04 21:18:20 +00:00
KATO Takenori
8d0e6b1696 Replace misused FE_D6_BBW with FE_D6_SBW.
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
Reminded by:	Takahashi Yoshihiro <nyan@dd.catv.ne.jp>
1999-05-04 12:59:59 +00:00
Poul-Henning Kamp
f16bbd9770 Grab a char-major for dallas semiconductor one-wire bus. 1999-05-04 10:48:22 +00:00
Mike Smith
3574d12d70 Disable the ppc chipset-specific probes by default. 1999-05-04 00:15:15 +00:00
Bill Fumerola
3d177f465a Add sysctl descriptions to many SYSCTL_XXXs
PR:		kern/11197
Submitted by:	Adrian Chadd <adrian@FreeBSD.org>
Reviewed by:	billf(spelling/style/minor nits)
Looked at by:	bde(style)
1999-05-03 23:57:32 +00:00
Peter Wemm
cbdfdcb2f4 Don't deref a NULL mem_range_softc.mr_op pointer on non-MTRR systems when
starting the AP.
1999-05-03 09:47:53 +00:00
Peter Wemm
87f0e52bec Set ifq_maxlen to default value. (This should be safe, it's not clear
if there's benefit to setting it to the exact amount, it appears the
card has 32K of ram, and 8K is used for outgoing packets, that would
be something like a queue limit of 5 packets.  I don't think that's
useful...)

PR:		11456
Submitted by:	Stephen J. Roznowski <sjr@home.net>
1999-05-02 22:01:24 +00:00
Nick Hibma
b7b075a2a2 Add driver for the Iomega Zip 100 drive. 1999-05-02 21:54:05 +00:00
Peter Wemm
0441b961d8 Sigh, serves me right for committing without reading the followups. :-]
The whole thing (mpu_config etc) is dead code.

PR:		11411 (followup)
Pointed out by:	"Daniel C. Sobral" <dcs@newsguy.com>
1999-05-02 21:53:28 +00:00
Nick Hibma
97f17d41f7 Change e-mail address 1999-05-02 21:52:15 +00:00
Peter Wemm
f79cfdd928 Operator precedence bug
PR:		11411
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:51:17 +00:00
Peter Wemm
271694cc1e Operator precedence bug
PR:		11415
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:46:31 +00:00
Peter Wemm
ccb64c7419 Typo: if (mpu_config = NULL) -> if (mpu_config != NULL)
PR:		11411
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:43:20 +00:00
Peter Wemm
025fd878ff Operator precedence bug
PR:		11410
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:41:20 +00:00
Peter Wemm
cf52c04ff2 Attempt to make the sound driver recompile, at least for LINT which has
the sscape/trix driver active, which (for some reason) disables the
mpu401 driver, causing an undefined reference to mpuintr.  This was broken
with rev 1.79 (part of the PC98 nss driver commit).
1999-05-02 20:40:28 +00:00
Peter Wemm
edfdec1910 Disable FDC_YE - it's broken at present (breaking LINT) and awaiting some
pccard fixups.
Make DEVFS compile, it breaks LINT.
1999-05-02 20:38:08 +00:00
Peter Wemm
741640aac6 These two drivers have not been converted for newbus eisa yet. 1999-05-02 20:35:44 +00:00
Peter Wemm
db7cb131d0 Disable second declaration of oltr0 - the first one (intended for isa) will
cause the device to be found on all busses, including pci.
1999-05-02 20:34:06 +00:00
Mike Smith
1bbb92c757 Whoops, not all SMP systems have memory range attribute support. Don't
try to set it up on an AP unless we do.

Submitted by:	dave adkins <adkin003@tc.umn.edu>
1999-05-02 03:06:22 +00:00
Mike Smith
4a034f21cd Add a hook that can be called to initialise a slave processor's memory
range attributes after they have been extracted from the master.

Hook up the i686 MP code to do this for each AP.

Be more careful about printing the default memory type for the i686.

Suggestions from: luoqi
1999-04-30 22:09:45 +00:00
Luoqi Chen
9debe21353 - Handle mixer read ioctls correctly. They have the same group, number and
argument size as their write counterparts and were handled as write ioctls.
- Emulate some cdrom ioctls.
1999-04-29 04:37:57 +00:00
Dmitrij Tejblum
604359cf9b s/static foo_devsw_installed = 0;/static int foo_devsw_installed;/.
(Edited automatically)
1999-04-28 10:54:24 +00:00
Luoqi Chen
5206bca10a Enable vmspace sharing on SMP. Major changes are,
- %fs register is added to trapframe and saved/restored upon kernel entry/exit.
- Per-cpu pages are no longer mapped at the same virtual address.
- Each cpu now has a separate gdt selector table. A new segment selector
  is added to point to per-cpu pages, per-cpu global variables are now
  accessed through this new selector (%fs). The selectors in gdt table are
  rearranged for cache line optimization.
- fask_vfork is now on as default for both UP and SMP.
- Some aio code cleanup.

Reviewed by:	Alan Cox	<alc@cs.rice.edu>
		John Dyson	<dyson@iquest.net>
		Julian Elischer	<julian@whistel.com>
		Bruce Evans	<bde@zeta.org.au>
		David Greenman	<dg@root.com>
1999-04-28 01:04:33 +00:00
Poul-Henning Kamp
1c308b817a Change suser_xxx() to suser() where it applies. 1999-04-27 12:21:16 +00:00
Poul-Henning Kamp
f711d546d2 Suser() simplification:
1:
  s/suser/suser_xxx/

2:
  Add new function: suser(struct proc *), prototyped in <sys/proc.h>.

3:
  s/suser_xxx(\([a-zA-Z0-9_]*\)->p_ucred, \&\1->p_acflag)/suser(\1)/

The remaining suser_xxx() calls will be scrutinized and dealt with
later.

There may be some unneeded #include <sys/cred.h>, but they are left
as an exercise for Bruce.

More changes to the suser() API will come along with the "jail" code.
1999-04-27 11:18:52 +00:00
Peter Wemm
3bfdd012d8 Only call kvtop on non-null id_maddr's... 1999-04-26 12:49:39 +00:00
Peter Wemm
10cd8cf48b Register the netisr's via SYSINIT rather than linker sets. 1999-04-26 08:57:51 +00:00
Alan Cox
51bb7ba664 pmap_dispose_proc and pmap_copy_page:
Conditionally compile 386-specific code.

pmap_enter:
	Eliminate unnecessary TLB shootdowns.

pmap_zero_page and pmap_zero_page_area:
	Use invltlb_1pg instead of duplicating the code.
1999-04-25 18:40:05 +00:00
Poul-Henning Kamp
0bb2226a4d Make the machdep.i8254_freq and machdep.tsc_freq sysctls modify the
timecounter as well

Asked for by:	bde, jhay
1999-04-25 09:00:00 +00:00
Peter Wemm
19477ba0b7 The fd options changed during new-bus. 1999-04-24 21:46:56 +00:00
Peter Wemm
5895e3c8ee De-quote where possible and minor tweaks. depends on a current config(8). 1999-04-24 21:45:44 +00:00
Peter Wemm
061eb3abb3 Bump configvers; when the updates to generic/lint get committed, the old
config has severe indigestion.
1999-04-24 21:38:50 +00:00
Bill Fumerola
98e32b1820 Add $Id: $ 1999-04-24 20:26:12 +00:00
Peter Wemm
57a6bf02a3 #if 0 out the pci device list, not that you could do a lot with it. It
was only looking at old style drivers in the pcidevice_set, which doesn't
exist any more..  Ultimately, the pci and eisa bus drivers will check for
hints for wiring, flags and enable/disable etc as well.
1999-04-24 20:20:37 +00:00
Peter Wemm
96b3554e5c Use COMPAT_PCI_DRIVER() for registration if it exists. This shouldn't
hurt the driver portability to 3.x too much for where drivers are shared.
1999-04-24 20:17:05 +00:00
KATO Takenori
424af31b45 Changed the type of id_port from short into int to avoid wrong
conversion from short to unsigned long which is an argument of
bus_alloc_resource.  Since the value -1 is used to indicate no port
reousece, id_port need to be signed (suggested by Doug Rabson and
Peter Wemm.)
1999-04-24 18:24:43 +00:00
Peter Wemm
ea7b76b16b Drop tty/net/bio/cam interrupt class labels, it's meaningless here now. 1999-04-24 16:07:51 +00:00
Peter Wemm
36d9945d74 Drop the tty/net/bio/cam interrupt class labels, they are meaninless here
now.
1999-04-24 16:04:16 +00:00
Peter Wemm
7e381ee0b4 Back out parts of rev 1.4; making isa.c preserve the hints across a
release made it unneeded.
1999-04-24 07:04:51 +00:00
Peter Wemm
8e51a153aa Revert part of 1.9; we don't need to reset the port after release now that
the isa bus doesn't clear the hints at that point.
1999-04-24 06:48:27 +00:00
Peter Wemm
d70a04d62d Don't clear the hints on release, just the resource containers. 1999-04-24 06:47:24 +00:00
Peter Wemm
0483b5b696 Typo, use SYS_RES_IRQ when releasing the irq resource, not SYS_RES_IOPORT. 1999-04-24 06:46:10 +00:00
KATO Takenori
2b2c7e7c09 - PC98 doesn't support 16bits bus I/F of adv deriver.
- PC98 has the bs driver.

Submitted by:	Takahashi Yoshihiro <nyan@dd.catv.ne.jp>
1999-04-24 04:21:42 +00:00
KATO Takenori
6e982e922a 1MB is not 1024 * 1024 * 1024 but 1024 * 1024. 1999-04-24 04:16:22 +00:00
Justin T. Gibbs
74ed7047aa staticize. 1999-04-23 23:29:23 +00:00
Justin T. Gibbs
6d6f090033 ahb.c:
Synchronize malloc types for our softc.

ahc_eisa.c:
	Sync to aic7xxx driver bus dma and new bus changes.
1999-04-23 23:29:00 +00:00
Peter Wemm
525a3d26e7 Make the register_intr() glue actually have a chance of working... 1999-04-23 21:01:19 +00:00
Dmitrij Tejblum
11a9f83f80 Make pmap_collect() an official pmap interface. 1999-04-23 20:29:58 +00:00
Dmitrij Tejblum
0666dbe1cf Moved cpu_set_fork_handler's prototype from <machine/cpu.h> to <sys/proc.h>.
Suggested by:	bde
1999-04-23 20:22:44 +00:00
Peter Wemm
6757ed7e26 Update VM86 comment - it's used for VESA too.
PR:		7976
Submitted by:	Stefan Eggers <seggers@semyam.dinoco.de>
1999-04-23 06:30:10 +00:00
John Polstra
607c815bef Update #include statements to reflect the new location of "sioreg.h".
With these changes plus the egcs fix I committed a few minutes ago,
"make -DWANT_AOUT world" works again.  Most likely, "make upgrade"
is fixed too, though I haven't tested that.
1999-04-22 21:02:44 +00:00
Peter Wemm
9d0e5f96b0 Return the port size from the probe.
"ppc0 at port 0x378 irq 7 drq 3 on isa0" becomes
"ppc0 at port 0x378-0x37f irq 7 drq 3 on isa0"
1999-04-22 13:10:43 +00:00
Warner Losh
bb31204c9b DEVICE_SUSPEND was always returning ENXIO for reasons unknown. For
now we noisily ignore this (and all errors).  DEVICE_SUSPEND should be
corrected, but I wanted to unbreak suspend until that happens.
1999-04-21 07:57:55 +00:00
Peter Wemm
8528f91719 oops, SMP was missing includes for a typedef. 1999-04-21 07:41:40 +00:00
Peter Wemm
54a8c69347 Stage 1 of a cleanup of the i386 interrupt registration mechanism.
Interrupts under the new scheme are managed by the i386 nexus with the
awareness of the resource manager.  There is further room for optimizing
the interfaces still.  All the users of register_intr()/intr_create()
should be gone, with the exception of pcic and i386/isa/clock.c.
1999-04-21 07:26:30 +00:00
Doug Rabson
c2974efdbe Make bt driver work on eisa again.
Submitted by: Matthew N. Dodd <winter@jurai.net>
1999-04-20 09:53:05 +00:00
Hellmuth Michaelis
00f8b3fd87 Make pcvt compile and run again after find_display() is gone as part of
the new-bus changes. Also fix several compiler warnings.
1999-04-20 08:45:27 +00:00
Peter Wemm
7ceeede80c Always reset the isa hints after releasing the resources after probe,
because the act of doing the release kills the hints(!).  A quirk of
the wrapper caused it to reset all the settings, except perhaps for the
memory address. I've tested this with a real SMC 8013EPC - which uses
shared memory addresses - it seems to work OK.
1999-04-19 20:31:53 +00:00
Peter Wemm
63cfedcc93 The missing prototype for isa_wrap_old_drivers() was bugging me.. 1999-04-19 20:16:22 +00:00
Peter Wemm
0f6dea5ce2 Make userconfig saving actually work.. 1999-04-19 19:40:58 +00:00
Alan Cox
270da41581 _pmap_unwire_pte_hold and pmap_remove_page:
Use pmap_TLB_invalidate instead of invltlb_1pg to eliminate
	unnecessary IPIs.

pmap_remove, pmap_protect and pmap_remove_pages:
	Use pmap_TLB_invalidate_all instead of invltlb to eliminate
	unnecessary IPIs.

pmap_copy:
	Use cpu_invltlb instead of invltlb when updating APTDpde.

pmap_changebit:
	Rather than deleting the unused "set bit" option (which may be
	useful later), make pmap_changebit an inline that is used
	by the new pmap_clearbit procedure.

Collectively, the first three changes reduce the number of TLB shootdown
IPIs by 1/3 for a kernel compile.
1999-04-19 18:45:21 +00:00
Luoqi Chen
8e9aec89b1 Fix a potential hang situation.
PR:		i386/2108
1999-04-19 18:44:16 +00:00
Peter Wemm
ee35d927c2 Don't do (1 << irq) to get an interrupt mask when irq = -1.
Submitted by:	Luoqi Chen <luoqi@watermarkgroup.com>
1999-04-19 18:03:51 +00:00
Peter Wemm
d95939af7a Zap LKM option and support. Farewell old friend. 1999-04-19 14:19:52 +00:00
Peter Wemm
db42d90829 unifdef -DVM_STACK - it's been on for a while for x86 and was checked
and appeared to be working for the Alpha some time ago.
1999-04-19 14:14:14 +00:00
Peter Wemm
5f5a2519b4 Fix a braino from last commit. 1999-04-19 14:01:42 +00:00
Peter Wemm
896de22812 GC some now unused (and #if 0) code. 1999-04-19 13:34:25 +00:00
Peter Wemm
f71c851c25 Drop the 'at nexus?' from the busses, it's not used.
Reactivate eisa0 and pnp0 in GENERIC, they work..  (eisa has been converted
but pnp still (for the most part) works the old way).
1999-04-19 11:53:36 +00:00
Brian Somers
23f7bd1706 Spelling police 1999-04-19 10:18:34 +00:00
Doug Rabson
343f195b0c Fix some confusion between physical and virtual addresses when recording
the driver's choice of memory window.
1999-04-19 08:42:39 +00:00
Peter Wemm
3c0d8bc982 Always create attach points for the various child busses that can be
attached to the nexus.  With one exception, this (for example) allows
you to do wierd things like kldload the eisa bus on the fly and then
drivers, and have it auto probe the eisa bus when the drivers come online.

The one exception being pci, it only adds the pcib after the presence of
the pci bus is detected and that's #if'ed code.

A side effect of this is that isa and eisa will be attached to the nexus
directly rather than the PCI->ISA or PCI->EISA bridges.  I'm not sure if
this is good or bad at this point, but it seems to be closer to the way
things are for the i386 family...  This is likely to be followed up.

This also fixes compilation without a PCI bus configured and will allow
eisa to work without PCI too.
1999-04-19 08:04:19 +00:00
Peter Wemm
e51d99dc81 EISA can (or will) be a child of the i386 nexus on non-PCI systems. 1999-04-19 07:58:34 +00:00
Peter Wemm
bed56f7f4d Set the bus description for EISA, like it is for ISA. 1999-04-19 06:57:33 +00:00
Warner Losh
da2d2676bb Set ifq_maxlen to eliminate "zp0 XXX: driver didn't set ifq_maxlen"
message on boot.

I know this driver is depricated, but I need to use it for a little
while.
1999-04-19 06:56:24 +00:00
Peter Wemm
bdd11a743e Compile without a PCI bus in the kernel. 1999-04-18 20:15:06 +00:00
Peter Wemm
0f6bc47029 Make the bt isa driver work..
- fix cut/paste problem. :-)
- don't forget to call isa_dmacascade()
- reset the port after we release resources.

That last one is a trap to watch out for..  The isa bus driver uses the
same port/irq/mem/etc variables for the initial probe hints as it does
for allocation/deallocation tracking.  Releasing a resource clears the
variable and then you loose the hint during attach.. (ouch!)
1999-04-18 19:08:28 +00:00
Peter Wemm
a49a3d4433 Implement an EISA new-bus framework. The old driver probe mechanism
had a quirk that made a shim rather hard to implement properly and it was
just easier to convert the drivers in one go.  The changes to the
buslogic driver go beyond just this - the whole driver was new-bus'ed
including pci and isa.  I have only tested the EISA part of this so far.

Submitted by:	 Doug Rabson <dfr@nlsystems.com>
1999-04-18 15:50:35 +00:00
Peter Wemm
a7375c7225 Remove i386-specific psm.c - it's now in sys/isa/psm.c 1999-04-18 15:13:03 +00:00
Doug Rabson
d6c789c07a Add support for 'disabled' probe hint. 1999-04-18 15:10:58 +00:00
Peter Wemm
c6f819b927 These two have been replaced with isa/sio* in the generic isa area. 1999-04-18 14:38:42 +00:00
KATO Takenori
924b60cb56 Added PC98 code.
Submitted by:	Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
1999-04-18 14:30:55 +00:00
Paul Richards
3a129cf3d9 Set ifq_maxlen to IFQ_MAXLEN 1999-04-18 01:49:16 +00:00
Paul Richards
0fde788552 Set ifq_maxlen to number of transmit descriptors. 1999-04-18 01:37:19 +00:00
Paul Richards
195f63e808 The changes to vm_page.c have broken the assumption that mallocing
early will result in memory below 16M so now we need to explicitly use
contigmalloc to get low physical memory.
1999-04-18 01:03:46 +00:00
Peter Wemm
ebebab7e3c Wrap the pcm driver for old isa probes.
Correct #ifdef typo for sbxvi (Thanks Brian!)
1999-04-17 19:38:38 +00:00
Bruce Evans
2d0e5840b4 Allocate space for struct isa_device's, not for pointers thereto.
This fixes memory corruption that caused calls to address 0 here.
1999-04-17 09:56:35 +00:00
Peter Wemm
e3cc309336 We use the generic isa version now. 1999-04-17 00:02:56 +00:00
Peter Wemm
6e779b5997 We now use the generic isa version.. 1999-04-17 00:01:59 +00:00
Peter Wemm
7756e4b58e vga_isa.c is now generic, not i386 specific (src/sys/isa/vga_isa.c) 1999-04-17 00:00:31 +00:00
Peter Wemm
c2c75d780e As a temporary anti-foot-shooting measure, don't let the user attach
the atkbd device to isa, as was in the old (and 3.x) GENERIC config.
1999-04-16 23:39:15 +00:00
Peter Wemm
6182fdbda8 Bring the 'new-bus' to the i386. This extensively changes the way the
i386 platform boots, it is no longer ISA-centric, and is fully dynamic.
Most old drivers compile and run without modification via 'compatability
shims' to enable a smoother transition.  eisa, isapnp and pccard* are
not yet using the new resource manager.  Once fully converted, all drivers
will be loadable, including PCI and ISA.

(Some other changes appear to have snuck in, including a port of Soren's
 ATA driver to the Alpha.  Soren, back this out if you need to.)

This is a checkpoint of work-in-progress, but is quite functional.

The bulk of the work was done over the last few years by Doug Rabson and
Garrett Wollman.

Approved by:	core
1999-04-16 21:22:55 +00:00
Jordan K. Hubbard
24c38be4da Add SYSVSEM so that newer versions of Xaccel don't require a kernel
compile just to work.  We have the room now, so what the heck.

Reqested by:    Thomas Roell <roell@xig.com>
1999-04-16 18:27:18 +00:00
Nick Hibma
ec71ab8ec3 Remove the entries for umodem and ucom. These drivers only probe
and attach, nothing else. This is confusing to people.
1999-04-16 16:17:05 +00:00
Bruce Evans
6b2480cf2e Removed dead code and cleaned up. setconf() now just asks for the
root device name.  The parser for the name is still too simple (it
forces slice = none, partition = 'a').
1999-04-15 15:35:32 +00:00
Bruce Evans
e05da2e941 Made booting with -a work for all configurations. Previously it
only worked for configurations with "swap on generic".

usr.sbin/config/config.y:
- ignore all "swap [on] device ...' specifications except for
  warning about them.  They haven't done anything related to swap
  for almost 4 years, and were previously silently ignored,
  except for "swap on generic" which stopped swap${KERNEL}.c
  from being generated.  Code to support swapping is now deader
  than before.

usr.sbin/config/mkswapconf.c:
- don't generate a dummy setconf() function in swap${KERNEL}.c.

sys/i386/conf/files.i386:
- swapgeneric.c is now standard.  It should be merged into autoconf.c
  so that it doesn't conflict with swap${KERNEL}.c for kernels named
  "generic".

sys/i386/i386/autoconf.c:
- don't call setroot() for mfs roots.  Since setroot() doesn't do anything
  harmful, this was just a waste of time, except possibly for booting with
  -a it may have helped prevent an undesireable call to setconf() by
  finding a bogus rootdev.
- honor -a for ffs roots.  -a now overrides all other ways of specifying
  the root device.  Previously, -r had precedence over -a, and the -a
  handling was usually a no-op.
- don't honor -a for non-ffs roots, since it would currently just get in
  the way of a clean panic.

sys/i386/i386/swapgeneric.c:
- don't declare things that are now always declared in swap${KERNEL}.c.
  Don't decide things that are now decided in autoconf.c.  Code to
  support the "generic" case is now dead instead of useless.
1999-04-15 14:52:24 +00:00
Peter Wemm
7bf01a1401 Add example for 'makeoptions DEBUG' and some notes. I have not activated
it here since a -g LINT kernel is 100% useless as it won't run and hence
doesn't need debug capabilities (and would just waste disk space :-).
1999-04-14 16:54:00 +00:00
Bruce Evans
173c0b9aba Search bdevsw[] instead of the half-baked builtin table of devices
in the RB_ASKNAME case.  I had thought that I made this change in
rev.1.18, but rev.1.18 only affects obscure subcases of the
RB_DFLTROOT case (subcases where the compiled in default root is
not found in bdevsw[] -- then the root device is set to the first
device in the half-baked table that is also in bdevsw[]).

Removed yet more vestiges of config-time swap configuration.
1999-04-14 15:20:03 +00:00
Bruce Evans
6a9df7a421 Generate intrnames[] dynamically. This should be new-bus friendly.
Old version reviewed by: se
1999-04-14 14:26:36 +00:00
Peter Wemm
112904833c Add a commented-out example on using the makeoptions command to get a
kernel.debug.
1999-04-13 20:59:36 +00:00
Peter Wemm
b9da114482 Build the functionality of the wdc_p hack into the ide_pci.c code.
All it did was match a specific device ID and turn on a quirk for
the wdc driver.

Incidently, at line 1462 there is a return that prevents the generic
ide_pci code from trying to look at the device.  I'd be interested
to know if we can take out the return and let the generic code "see" it.
I've left the return in because that's the way it worked before.

(Be sure to rerun config after cvsup or you'll get undefined files!)
1999-04-13 20:22:34 +00:00
Peter Wemm
3e3e4375c8 Shoot the LKM support in the old wd/wdc/atapi driver set in the head and
perform a cleanup/unifdef sweep over it to tidy things up.  The atapi
code is permanently attached to the wd driver and is always probed.

I will add an extra option bit in the flags to disable an atapi probe on
either the master or slave if needed, if people want this.

Remember, this driver is destined to die some time.  It's possible that
it will loose all atapi support down the track and only be used for
dumb non-ATA disks and all ata/atapi devices will be handled by the new
ata system.

ATAPI, ATAPI_STATIC and CMD640 are no longer options, all are implicit.

Previously discussed with:  sos
1999-04-13 19:38:12 +00:00
Peter Wemm
4e8691dc95 Clean up the kernel/kernel.debug/install.debug etc stuff.
Sense ${DEBUG} to decide on building kernel.debug or not.
Use a common install and install.debug target to minimize duplication.
(I deleted the ELF transition kernel warning, it was getting dated..)
1999-04-13 18:25:08 +00:00
Tor Egge
87c737bc83 Backout early start of APs since it caused some machines to hang. 1999-04-13 03:24:47 +00:00
Brian Somers
7b598cd2e7 ppp != iijppp any more
Mention nos-tun as a tun device user.
1999-04-12 09:45:29 +00:00
Nick Hibma
7dc1a5bd17 Make debugging more selective.
Remove debugging options from GENERIC
1999-04-11 20:53:50 +00:00
Peter Wemm
b4718cedf6 Move initialization of SWI's in the tty|net|bio masks from isa.c into
the static initializers in ipl.s.
1999-04-11 15:51:15 +00:00
Greg Lehey
4357ca882d Back out default debug kernel. The flags revert to historical behaviour.
Requested-by:	ache
		bde
		dg

Modify targets for debug kernels:  when -g was specified, make will
now build a debug kernel called kernel.debug, and create a stripped
version called kernel at the same time.  The two targets install and
install.debug are otherwise unchanged.

Requested-by:	dillon

Update man page accordingly.
1999-04-11 03:40:11 +00:00
Eivind Eklund
4e697da8b3 Correct prototype for wdstart 1999-04-11 03:10:25 +00:00
Eivind Eklund
c6d0e3f0c1 Staticize. 1999-04-11 03:06:07 +00:00
Eivind Eklund
bff24b1f66 Random text after #endif changed to comment. 1999-04-11 02:58:31 +00:00
Tor Egge
44c57e7121 Add prototype for wait_ap(). 1999-04-11 00:43:43 +00:00
Tor Egge
90c26b0d2d Let BSP wait until all APs are initialized. 1999-04-10 22:58:29 +00:00
Tor Egge
c8464c3072 When trying to enable or disable an interrupt not described by the mp table,
just return instead of dereferencing a null pointer.
1999-04-10 19:22:17 +00:00
Tor Egge
0bf47fca4f Test CF after a btrl operation instead of testing ZF (which is undefined). 1999-04-10 19:19:02 +00:00
Nick Hibma
8f2a96f2cb uncomment the uhci entry 1999-04-10 15:23:12 +00:00
Alan Cox
53134efb59 pmap_remove_pte:
Use "loadandclear" to update the pte.

pmap_changebit and pmap_ts_referenced:
	Switch to pmap_TLB_invalidate from invltlb.
1999-04-10 02:58:17 +00:00
Nik Clayton
c64aec80f8 Add a warning bout the SoundBlaster and ISA DMA locking up the machine,
and a possible workaround.

PR:		docs/5358
Submitted by:	Matthew Dillon
Reviewed by:	nik
1999-04-09 21:14:56 +00:00
KATO Takenori
4ebe777123 o sys/i386/include/soundcard.h
Reduce synth_info.name lenght for binary compatibility.

o sys/i386/isa/sound/mpu401.c
   Reduce mpu device number info to avoid overflow of mpu_synth_info.name.

Submitted by:	Akio Morita <amorita@meadow.scphys.kyoto-u.ac.jp>
1999-04-08 08:09:34 +00:00
Peter Wemm
bfda1e3ff7 Disable the mtrr copy calls, it doesn't work with the i686_mem.c stuff.
This should make it compile/link again.
1999-04-07 17:08:40 +00:00
Greg Lehey
2005b07aa8 1. Modify config to issue different code for debugging.
2.  Config complains if you use -g:

    Debugging is enabled by default, there is no ned to specify the -g option

3.  Config warns you if you don't use -s:

    Building kernel with full debugging symbols.  Do
    "config -s BSD" for historic partial symbolic support.
    To install the debugging kernel, do make install.debug

    (BSD was the name of the config file I used; I print out the same
    name).

4.  Modify Makefile.i386, Makefile.alpha, Makefile.pc98 and config to
    work if a kernel name other than 'kernel' is specified.  This is
    not absolutely necessary, but useful, and it was relatively easy.
    I now have a kernel called /crapshit :-)

5.  Modify Makefile.i386, Makefile.alpha, Makefile.pc98 "clean" target
    to remove both the debug and normal kernel.

6.  Modify all to install the stripped kernel by default and the debug
    kernel if you enter "make install.debug".

7.  Update version number of Makefiles and config.
1999-04-07 09:28:03 +00:00
Mike Smith
1f2d03c05e Add defines for the P6 model-specific registers. 1999-04-07 03:58:15 +00:00
Mike Smith
4ffd949eaa mem.c
Split out ioctl handler a little more cleanly, add memory
	range attribute handling for both kernel and user-space
	consumers.

pmap.c
	Remove obsolete P6 MTRR-related code.

i686_mem.c
	Map generic memory-range attribute interface to the P6 MTRR
	model.
1999-04-07 03:57:45 +00:00
Mike Smith
90ea793afe Add i686_mem.c - memory range attribute support for P6 processors. 1999-04-07 03:55:36 +00:00
Poul-Henning Kamp
bbca5c9c2c failled spell-check 1999-04-06 21:15:18 +00:00
Bill Paul
d02c233129 Add driver support for gigabit ethernet adapters based on the Alteon
Networks Tigon 1 and Tigon 2 chipsets. There are a _lot_ of OEM'ed
gigabit ethernet adapters out there which use the Alteon chipset so
this driver covers a fair amount of hardware. I know that it works with
the Alteon AceNIC, 3Com 3c985 and Netgear GA620, however it should also
work with the DEC/Compaq EtherWORKS 1000, Silicon Graphics Gigabit
ethernet board, NEC Gigabit Ethernet board and maybe even the IBM and
and Sun boards. The Netgear board is the cheapest (~$350US) but still
yields fairly good performance.

Support is provided for jumbo frames with all adapters (just set the
MTU to something larger than 1500 bytes), as well as hardware multicast
filtering and vlan tagging (in conjunction with the vlan support in
-current, which I should merge into -stable soon). There are some hooks
for checksum offload support, but they're turned off for now since
FreeBSD doesn't have an officially sanctioned way to support checksum
offloading (yet).

I have not added the 'device ti0' entry to GENERIC since the driver
with all the firmware compiled in is quite large, and it doesn't really
fit into the category of generic hardware.
1999-04-06 17:08:31 +00:00
Alan Cox
47b9dbd431 Two changes to pmap_remove_all:
1. Switch to pmap_TLB_invalidate from invltlb, eliminating a full TLB
flush where a single-page flush suffices.  (Also, this eliminates some
unnecessary IPIs.)

2. Use "loadandclear" to update the pte, eliminating a race condition
on SMPs.

Change #2 should be committed to -STABLE.
1999-04-06 04:52:27 +00:00
Peter Wemm
2ada239c12 Use reference counted PHOLD/PRELE rather than the P_PHYSIO flag. 1999-04-06 03:06:51 +00:00
Julian Elischer
8d17e69460 Catch a case spotted by Tor where files mmapped could leave garbage in the
unallocated parts of the last page when the file ended on a frag
but not a page boundary.
Delimitted by tags PRE_MATT_MMAP_EOF and POST_MATT_MMAP_EOF,
in files alpha/alpha/pmap.c i386/i386/pmap.c nfs/nfs_bio.c vm/pmap.h
    vm/vm_page.c vm/vm_page.h vm/vnode_pager.c miscfs/specfs/spec_vnops.c
    ufs/ufs/ufs_readwrite.c kern/vfs_bio.c

Submitted by: Matt Dillon <dillon@freebsd.org>
Reviewed by: Alan Cox <alc@freebsd.org>
1999-04-05 19:38:30 +00:00
John Polstra
4fe88fe637 Restore support for executing BSD/OS binaries on the i386 by passing
the address of the ps_strings structure to the process via %ebx.
For other kinds of binaries, %ebx is still zeroed as before.

Submitted by:	Thomas Stephens <tas@stephens.org>
Reviewed by:	jdp
1999-04-03 22:20:03 +00:00
KATO Takenori
cd9559886a Include nss.h only when PC98 is defined.
Pointed out by:	"Pierre Y. Dampure" <pierre.dampure@k2c.co.uk>
1999-04-03 02:32:54 +00:00
Alan Cox
087e80a934 Put in place the infrastructure for improved UP and SMP TLB management.
In particular, replace the unused field pmap::pm_flag by pmap::pm_active,
which is a bit mask representing which processors have the pmap activated.
(Thus, it is a simple Boolean on UPs.)

Also, eliminate an unnecessary memory reference from cpu_switch()
in swtch.s.

Assisted by:	John S. Dyson <dyson@iquest.net>
Tested by:	Luoqi Chen <luoqi@watermarkgroup.com>,
		Poul-Henning Kamp <phk@critter.freebsd.dk>
1999-04-02 17:59:49 +00:00
Poul-Henning Kamp
2def3dba56 We don't need to splbio() around biodone(). 1999-04-02 13:58:24 +00:00
Poul-Henning Kamp
1f8601aee2 Add back cxswitch() it was used afterall. 1999-04-02 13:58:01 +00:00
KATO Takenori
bd5934b045 o sys/i386/include/soundcard.h
Add Sound Card ID for the nss(NEC PC-9801-86 Sound System) driver.
      Old name of this driver was pcm driver in FreeBSD 2.2.x.
  Fix lack of the length of the name member of the synth_info structure.
      (attach_mpu401 in sys/i386/isa/sound/mpu401.c requires 33 chars.)

o sys/i386/isa/sound/dev_table.h
  Add the DMAbuf flags definition DMA_DISABLE.
  Add the nss driver entry.

o sys/i386/isa/sound/dmabuf.c
  Add the DMA_DISABLE flag check in DMAbuf_outputintr and DMAbuf_inputintr
      to disable DMA control in FIFO only use (nss driver required).

o sys/i386/isa/sound/local.h
  Add the nss driver entry.

o sys/i386/isa/sound/mpu401.c
  Replace inb function in probe_mpu401 to mpu401_status macro.
  Wrap macro argument for above replace.
  Add I/O port maping macro for NEC PC-98x1 arch.
  Add delay in NEC PC-98x1 arch.

o sys/i386/isa/sound/pcm86.c
  Change driver name to avoid name space conflict to new pcm driver.
  Fix NEC PC-9801-86 driver to work on RELENG_3 branch or latter.

o sys/i386/isa/sound/sound_calls.h
  Fix the mpuintr definition.
  Add the nss driver entry.
      attach_nss, probe_nss, nssintr

o sys/i386/isa/sound/soundcard.c
  Fix lack of the mpuintr registration.
  Add the nss driver entry.

o sys/pc98/conf/files.pc98
  Add the nss driver entry.

Reviewed by:	kato
Submitted by:	Akio Morita <amorita@meadow.scphys.kyoto-u.ac.jp>
1999-04-02 08:51:06 +00:00
Poul-Henning Kamp
89f96f7b90 fix polarity reversal.
Noticed by:	jhay
1999-04-01 17:08:06 +00:00
Kazutaka YOKOTA
fd99a054d9 Follow up to the recent vm86 change in rev. 1.19.
- Make a copy of the information block returned in the vm86 space
  by the VESA BIOS init function.  Otherwise it will be overwritten
  by subsequent BIOS calls in the same vm86 context.
1999-03-31 15:27:00 +00:00
Eivind Eklund
3ee9bf69aa Add NTFS 1999-03-31 15:23:31 +00:00
Søren Schmidt
b31d9a1d23 The DEVFS case was screwed by my last commit here.. 1999-03-31 12:30:58 +00:00
Eivind Eklund
e048f09fdf Fix the oltr entries. 1999-03-30 21:32:43 +00:00
Nick Sayer
9bc318bff0 SX ISA cards are only 32k wide in 8 bit mode (which is the only
mode supported by the manufacturer).

PR:		6255
Submitted by:	nsayer
1999-03-30 21:22:39 +00:00
Poul-Henning Kamp
4738ca443e Organize the various modes (CISCO/AUTO/DEMAND/LEASED) a little bit better,
centralize the code.

Remember to call TLF/TLS on the hardware in CISCO mode.
1999-03-30 13:28:23 +00:00
Poul-Henning Kamp
35c08af0ad Reduce overhead of PPS when not active.
Pointed out by:	bde
1999-03-30 12:41:04 +00:00
Poul-Henning Kamp
323753d200 Add PPS-API support for DCD on serial ports.
Submitted by:	jhay
Slightly changed by:	phk
1999-03-30 09:02:38 +00:00
Poul-Henning Kamp
6a5d592ae8 Purging lint from the Bruce filter. 1999-03-30 09:00:45 +00:00
Kenneth D. Merry
4a64714fd8 Delete all references to the "aic" driver. It isn't in the tree, and
may not show up for a while, and I'm tired of people asking about it.

Perhaps this will eliminate some of the confusion.
1999-03-29 17:56:28 +00:00
Kazutaka YOKOTA
d1a9e1a0cb Another round of fix for palette loading.
- Don't try to change DAC width when unnecessary.
- Convert 8 bit DAC data to 6 bit DAC data before unloading the vesa
  KLD module.
1999-03-29 15:10:56 +00:00
Poul-Henning Kamp
c867b0e582 Spelling fixes.
PR:		10764
Submitted by:	Chris Piazza <cpiazza@home.net>
1999-03-29 14:00:46 +00:00
Dmitrij Tejblum
a4ca0596ca Ifdef declaration of a conditionally defined function "timezero". 1999-03-28 23:28:18 +00:00
Dmitrij Tejblum
f4694a8785 Fix syntax error. While I am here, comment out a negative option and add
another two commented out negative options.
1999-03-28 23:08:12 +00:00
Søren Schmidt
55bfaed1c0 Fourth update to the new ATA/ATAPI driver:
Well, better late than newer, but things has been hectic
around here, sorry for the long delay.

DMA support has been added to the ATA disk driver.
This only works on Intel PIIX3/4, Acer Aladdin and Promise controllers.
The promise support works without the BIOS on the board,
and timing modes are set to support up to UDMA speed. This
solves the problems with having more than one promise controller
in the same system.
There is support for "generic" DMA, that might work on other
controllers, but now you have been warned :)
More chipset specific code will come soon, I have to find testers
with the approbiate HW, more on that when I have it ready.

The system now uses its own major numbers, please run MAKEDEV
with the devices you need (ad?, acd?, afd?, ast?).
For now the disk driver will also attach to the old wd major
so one can at least boot without this step, but be warned, this
will eventually go away. The bootblocks will have to be changed
before one can boot directly from an "ad" device though.

Fixed problems:

    All known hang problems should be solved
	The probe code has been sligthly changed, this should solve
	the reports I have lying around (I hope).

    Hangs when accessing ata & atapi device on the same channel simultaniously.
	A real braino in ata_start caused this, fixed.

As usual USE AT YOUR OWN RISK!!, this is still pre alpha level code.
Especially the DMA support can hose your disk real bad if anything
goes wrong, agaiin you have been warned :)

But please tell me how it works for you!

Enjoy!

-Søren
1999-03-28 18:57:20 +00:00
Chuck Robey
dbc5af6d2b Add Turtle Beach Malibu soundcard (and a sample config) to CARDS as
a real example of a CS4237 soundcard.
Luigi said all contributions like this were welcome in this file.
1999-03-25 04:25:38 +00:00
Steve Price
9e7e4882cb Add support for Cardinal MVP288IV PnP modem.
Submitted by:	Alex Zepeda <garbanzo@hooked.net>
1999-03-25 00:32:54 +00:00
Steve Price
222b8f6a91 Add support for the USR3090 PnP modem.
PR:		10773
Submitted by:	Mike Durian <durian@boulderlabs.com>
1999-03-24 17:59:25 +00:00
Peter Wemm
67ef82978d Update Specialix download microcode for the transputer based serial host
cards from the 3.0-beta to 3.0.4 release.

Submitted-by:  Nick Sayer <nsayer@quack.kfu.com>
PR: 10674
1999-03-24 02:49:43 +00:00
Bruce Evans
3aacd339f0 Fixed a couple of missing drive selects in wdreset(). This mainly
affects cases where there is a slave but no master.  These bugs
were usually recovered from provided ATAPI was configured, but only
after lengthy delays.  Configuring ATAPI still fixes some bugs for
non-atapi drives.

Don't wait for seek complete in wdreset().  If necessary for pre-ata
drives, it can be waited for later (we got it wrong by only looking
at it for drive 0 anyway).  It is set as part of a historical
signature for ata drives but doesn't say anything useful about the
reset state.  It is cleared as part of a non-historical signature
for atapi drives so that drivers which don't understand atapi drives
seem to see no drive.  Waiting for it caused lengthy delays and
broke the status returned by wdreset() in cases where the master
was not an ata drive.  Then the whole wdprobe() failed in some
cases where the recovery code didn't work.

Don't wait for drive ready in wdreset().  The considerations are
the same as for seek complete, except drive ready does say something
useful about the reset state of ata drives, and waiting for it
later is required anyway for such drives.

Lengthy delays can now be avoided by not configuring nonexistent
(ata) drives.  Unfortunately, this breaks detection of atapi drives
in some configurations.
1999-03-23 10:22:19 +00:00
Justin T. Gibbs
1652f91eb5 Fix a typo.
PR: 10722
Submitted by:	Chris Costello <chris@holly.dyndns.org>
1999-03-23 07:27:38 +00:00
Jordan K. Hubbard
8abc4f6dad Add cdev 120 as the audit device.
Requested by:	Robert Watson <robert+freebsd@cyrus.watson.org>
1999-03-21 21:53:09 +00:00
Poul-Henning Kamp
48c619d0ee Link the bb structures together as we find them. 1999-03-21 12:30:50 +00:00
Alan Cox
2618393ec3 Eliminate a pointless TLB flush from the SMP idle loop.
Submitted by:	Luoqi Chen <luoqi@watermarkgroup.com>
Reviewed by:	"John S. Dyson" <toor@dyson.iquest.net>
1999-03-20 18:44:13 +00:00
Jonathan Lemon
9947b0e93f Cast (u_char *) to (vm_offset_t) to silence compiler warnings. 1999-03-18 20:13:20 +00:00
Jonathan Lemon
1baefb0612 Remove debugging printf that I overlooked. 1999-03-18 18:43:03 +00:00
Jonathan Lemon
77e3f271a1 Update to use the modified vm86_datacall interface. 1999-03-18 04:38:16 +00:00
Jonathan Lemon
1fe3054698 Change the vm86_datacall interface so that callers are now responsible
for passing in their own data space and associated page table information.

Update the support files so that any pages in the vm86 page table are
mapped, rather than just one page.

Restore the E820 memory probe, and have it use the new interface.
1999-03-18 04:37:35 +00:00
Jonathan Lemon
6d2b6a085e Change btrl/btsl to cmpl/movl, since each cpu now has their own copy
of private_tss, and there's no need to use a bit array.  Also fixes
the problem of using `je' after btrl, since cmpl sets ZF.

Noticed by: Luoqi, on -current
1999-03-18 04:22:23 +00:00
Luigi Rizzo
ab090e5b4e MF22... add bridging support to the device drivers. Without this
bridging cannot work on -current/releng3!
1999-03-17 16:44:53 +00:00
Matt Jacob
1afb37ef7f describe new ISP options 1999-03-17 01:50:21 +00:00
Mike Smith
dbffaab09b Don't call int15:820, it's not allowed to be called from vm86 mode.
PR:		i386/10485
Submitted by:	takawata@shidahara1.planet.sci.kobe-u.ac.jp
1999-03-16 21:22:24 +00:00
Mike Smith
446a106927 Look for the right ACPI table signature.
PR:		i386/10587
Submitted by:	Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>
1999-03-16 21:11:28 +00:00
Eivind Eklund
495967e4b4 Remove old reference to needing 'make clean' for QUOTAS - that is no
longer correct.
1999-03-16 16:27:46 +00:00
Søren Schmidt
d99434fb80 Rewert the atapi CDROM driver's name to wcd.
This is to avoid confusion with the new system.
Also provide real entires in MAKEDEV for the new system.
1999-03-16 13:34:03 +00:00
Søren Schmidt
eb7ea64622 Add majors for new ATA/ATAPI driver. 1999-03-16 12:50:02 +00:00
Kazutaka YOKOTA
170f96bb1a This is a temporary workaround for kernel panic occurring when
switching video modes.  People typically see the panic when the screen
saver has been running and is being stopped.

WARNING: this is not a real fix.  Something really funny must be
happening in the page table entries for the physical memory
0x0-0xa0000, which is mapped to the beginning of the kernel region.
1999-03-15 00:20:56 +00:00
Joerg Wunsch
aae5936ed5 Make NDGBPORTS an official option. 1999-03-13 13:20:59 +00:00
Alan Cox
10e77073e1 pmap_qenter/pmap_qremove:
Use the pmap_kenter/pmap_kremove inline functions
	instead of duplicating them.

pmap_remove_all:
	Eliminate an unused (but initialized) variable.

pmap_ts_reference:
	Change the implementation.  The new implementation is much smaller
	and simpler, but functionally identical.  (Reviewed by
	"John S. Dyson" <dyson@iquest.net>.)
1999-03-13 07:31:29 +00:00
Greg Lehey
4cc4752c03 Add a dire warning about the folly of configuring vinum in
the kernel.
1999-03-13 06:32:06 +00:00
David Greenman
8681b974c1 Increased kernel virtual address space to 1GB. NOTE: You MUST have fixed
bootblocks in order to boot the kernel after this! Also note that this
change breaks BSDI BSD/OS compatibility.
Also increased default NKPT to 17 so that FreeBSD can boot on machines
with >=2GB of RAM. Booting on machines with exactly 4GB requires other
patches, not included.
1999-03-11 18:28:46 +00:00
Ollivier Robert
cd1df78903 Fix two tests against hex. values for CPUID.
PR:		i386/10050
Submitted by:	Kevin Day <toasty@dragondata.com>
1999-03-10 20:42:00 +00:00
Kazutaka YOKOTA
0a0319c27f - Added new options (ATKBD_DFLT_KEYMAP, KBD_DISABLE_KEYMAP_LOAD and
KBD_INSTALL_CDEV).
- Removed the note that the VESA option cannot be used on the SMP system;
  this is not true.
- Moved the option VESA to more appropriate place.
1999-03-10 14:47:41 +00:00
Kazutaka YOKOTA
e9deda23ae Keyboard driver update in preparation for the USB keyboard driver.
- Refined internal interface in keyboard drivers so that:
  1. the side effect of device probe is kept minimal,
  2. polling mode function is added,
  3. and new ioctl and configuration options are added (see below).

- Added new ioctl: KDSETREPEAT
  Set keyboard typematic rate.  There has existed an ioctl command,
  KDSETRAD, for the same purpose.  However, KDSETRAD is dependent on
  the AT keyboard.  KDSETREPEAT provides more generic interface.
  KDSETRAD will still be supported in the atkbd driver.

- Added new configuration options:
  ATKBD_DFLT_KEYMAP
  Specify a keymap to be used as the default, built-in keymap.
  (There has been undocumented options, DKKEYMAP, UKKEYMAP, GRKEYMAP,
  SWKEYMAP, RUKEYMAP, ESKEYMAP, and ISKEYMAP to set the default keymap.
  These options are now gone for good.  The new option is more general.)

  KBD_DISABLE_KEYMAP_LOADING
  Don't allow the user to change the keymap.
1999-03-10 10:36:53 +00:00
Julian Elischer
fda82fc2b9 Submitted by: Larry Lile
Move the Olicom token ring driver to the officially sanctionned location of
/sys/contrib. Also fix some brokenness in the generic token ring support.

Be warned that if_dl.h has been changed and SOME programs might
like recompilation.
1999-03-10 10:11:43 +00:00
Poul-Henning Kamp
a2210fe12b Make TIMER_FREQ a normal, undocumented option. Raise confusion to
a higher level with example in LINT.

Clarify comment about PPS_SYNC.  Ignore for now that it doesn't
work in FLL mode, it will in a few days.
1999-03-09 20:20:09 +00:00
Brian Somers
4f5f3f0763 typo police 1999-03-09 00:24:27 +00:00
Jordan K. Hubbard
8770025ccf Reserve cdev 115 for University of Waikato DAG network capture boards 1999-03-08 23:31:04 +00:00
Justin T. Gibbs
e01902feb4 Ask the card where our interrupt is instead of attempting to use the EISA
config info.  On early revision cards (742a), the EISA register space,
other than the location used to determine the address of the card's main
command ports, is write only.
1999-03-08 21:35:03 +00:00
Justin T. Gibbs
4297664797 Pull 'ISA style' probe where interrupt information is determined through
commands sent to card, into the base driver module.  It is now used for
EISA board probes too.
1999-03-08 21:32:59 +00:00
Steve Price
0d43bf40ed Spell David correctly. 1999-03-08 21:21:43 +00:00
Hellmuth Michaelis
c02553cef2 add kernel config support for i4b driver for AVM Fritz PCI 1999-03-07 16:11:12 +00:00
Hellmuth Michaelis
c76c6f9233 update the i4b include files to i4b release 0.71.00 1999-03-07 16:09:45 +00:00
Garrett Wollman
acc8326d0c Expose a slightly-lower-level interface to timeouts which allows callers
to manage their own memory.  Tested on my machine (make buildworld).
I've made analogous changes on the alpha, but don't have a machine
to test.

Not-objected-to by:	dg, gibbs
1999-03-06 04:46:20 +00:00
Justin T. Gibbs
c07760c6a4 Block cam hardware interrupts at splvm(). Controller drivers may
perform malloc(NO_WAIT) and free operations that could touch the
page queues.

Noticed by:	Tor Egge <tegge@FreeBSd.org>
1999-03-05 23:39:02 +00:00
Justin T. Gibbs
da925f6c0f Poll for bus reset completion instead of assuming that our interrupt
is enabled.
1999-03-05 23:37:07 +00:00
Justin T. Gibbs
f15aa8d8d9 Modify to deal with changes in the storage of user negotiation settings. 1999-03-05 23:28:42 +00:00
Bruce Evans
efc96764e0 The magic "no-cpu" cpu number is 0xff. Don't misrepresent cpu
numbers as chars or use bogus casts in an attempt to unmisrepresnt
them.  In top, don't assume that 0xff is the only negative cpu
number when cpu numbers are (mis)represented.
1999-03-05 16:38:13 +00:00
Alan Cox
901671c028 Fix an SMP-only TLB invalidation bug. Specifically, disable
a TLB invalidation optimization that won't work given the
limitations of our current SMP support.

This patch should be applied to -stable ASAP.

Thanks to John Capo <jc@irbs.com>,
          Steve Kargl <sgk@troutmask.apl.washington.edu>, and
          Chuck Robey <chuckr@mat.net>
for testing.
1999-03-05 08:05:44 +00:00
Joerg Wunsch
785c7fcba3 Adopt syscons's recent change from key_t to keyent_t (this part of
pcvt is plug-compatible to syscons to facilitate an identical
VT-switching interface), so PR misc/1247 can be closed.
1999-03-04 10:50:36 +00:00
Søren Schmidt
61f625f0f3 Add the atapi fd driver (LS120 & ZIP drive support) 1999-03-04 09:53:19 +00:00
Bruce Evans
84f79a6d3c Fixed null pointer panic for misconfigured master ports.
PR:		i386/10273
Submitted by:	Stephen Kiernan <sab@yin.vegamuse.org>
1999-03-03 14:38:07 +00:00
KATO Takenori
c1aca4d070 Added FE_8BIT_SUPPORT into the list. The fe driver includes opt_fe.h.
Submitted by:	Takahashi Yoshihiro <nyan@dd.catv.ne.jp>
1999-03-03 10:40:27 +00:00
David Greenman
37cd370c97 Correct casts in vtophys and avtophys to be vm_offset_t. 1999-03-02 16:20:39 +00:00
Julian Elischer
4ac9ae7083 Fix thread/process tracking and differentiation for Linux threads emulation.
Submitted by:	Richard Seaman, Jr." <dick@tar.com>

Also clean some compiler warnings in surrounding code.
1999-03-02 00:28:09 +00:00