Commit Graph

2152 Commits

Author SHA1 Message Date
peter
903db590c7 Reclaim UPAGES_HOLE (8k) that was chopped out of process address space.
The UPAGES have not been there since Jan '96, but the hole was preserved
for BSD/OS binary compatability.  This has been fixed other ways (%ebx
now has a pointer to PS_STRINGS), and the stack is nowhere near where
it used to be so this hack isn't required anymore.
1999-12-11 10:54:06 +00:00
phk
f4febe538d Remove the if_ze and if_zp drivers.
These drivers were cloned from the ed and ep drivers back in 1994
when PCMCIA cards were a very new thing and we had no other support
for such devices.  They treated the PCIC (the chip which controls the
PCCARD slot) as part of their device and generally hacked their way
to success.  They have significantly bit-rotted relative to their
ancestor drivers (ed & ep) and they were a dead-end on the evolution
path to proper PCCARD support in FreeBSD.

They have been terminally broken since August 18 where mdodd forgot
them and nobody seems to have missed them enough to fix them since.

I found no outstanding PRs against these drivers.
1999-12-10 10:45:11 +00:00
sos
224ba89395 Finally use the new ata driver. 1999-12-08 09:19:37 +00:00
peter
386c6276bc Fold the pnp code into the base isa system to pave the way for PNPBIOS.
Reviewed by:	dfr (a few weeks ago)
1999-12-06 18:17:42 +00:00
luoqi
fc0fb0314c Need header <machine/smp.h> for prototype declaration of smp_rendezvous()
in my previous commit.
1999-12-06 05:12:26 +00:00
luoqi
5c9244cd12 User ldt sharing. 1999-12-06 04:53:08 +00:00
dfr
d2ed1bf3b6 Don't use a bogus bus number for Ross host-pci bridges.
PR:	kern/15278
Submitted by: Ahmed Benani <ahmed_benani@urbanet.ch>
1999-12-05 18:41:34 +00:00
luoqi
9fd208b74c Reinstate the aic driver.
PR:		conf/15187
1999-12-05 01:56:42 +00:00
wpaul
cdd3a692fe Add the if_dc driver and remove all of the al, ax, dm, pn and mx drivers
which it replaces. The new driver supports all of the chips supported
by the ones it replaces, as well as many DEC/Intel 21143 10/100 cards.

This also completes my quest to convert things to miibus and add
Alpha support.
1999-12-04 17:41:31 +00:00
kato
8931340216 The address 0x472 is used for the SCSI HDD geometry information on
PC-98.  Therefore, the PC-98 kernel should not modify it.
1999-12-04 13:09:26 +00:00
marcel
7abb3f060e oszsigcode -> szosigcode
Pointed out by: bde
1999-12-04 10:53:39 +00:00
marcel
404e06a7ba Fix type of sf_addr.
Pointed out by: bde
1999-12-04 10:40:24 +00:00
mdodd
87e31f4b90 Remove the 'ivars' arguement to device_add_child() and
device_add_child_ordered().  'ivars' may now be set using the
device_set_ivars() function.

This makes it easier for us to change how arbitrary data structures are
associated with a device_t.  Eventually we won't be modifying device_t
to add additional pointers for ivars, softc data etc.

Despite my best efforts I've probably forgotten something so let me know
if this breaks anything.  I've been running with this change for months
and its been quite involved actually isolating all the changes from
the rest of the local changes in my tree.

Reviewed by:	peter, dfr
1999-12-03 08:41:24 +00:00
msmith
aadc1e0695 Remove the 'gzip' image activator. We're not using a.out anymore, so save
ourselves just over 8k.
1999-12-03 00:16:20 +00:00
jlemon
8824ec0de5 Remove code to select APM version with flags to the apm0 device. This
code has been disabled for the last 4 months.

Prodded into action by:	 n_hibma
1999-12-02 03:13:11 +00:00
msmith
73c5f3be1f Add the AMI MegaRAID and Mylex DAC960 drivers. Installation to arrays
on these controllers is now no different to the process for any other
supported disk controller.
1999-12-02 02:53:08 +00:00
dillon
be8594a1e7 Make BOOTP work again.
Submitted by:	Doug Ambrisko <ambrisko@whistle.com>
1999-11-29 18:51:04 +00:00
obrien
35494eb053 Sort PCI SCSI controlers. 1999-11-28 00:59:03 +00:00
obrien
85441bb239 /sys adjustments to add the `sym' controler driver.
This is commented out in GENERIC as you cannot mix `sym' with `ncr' right now.
Note that LINT is no more broken by this commit.
1999-11-28 00:48:15 +00:00
obrien
55f70c3a7a Add a commented out 'ATA' driver config block to help assist -CURRENT
people to migrate to this driver since it will be the default IDE/ATA/ATAPI
driver in 4.0-R.
1999-11-27 23:25:17 +00:00
bde
4955977bad Moved scheduling-related code to kern_synch.c so that it is easier to fix
and extend.  The new function containing the code is named schedclock()
as in NetBSD, but it has slightly different semantics (it already handles
incrementation of p->p_cpticks, and it should handle any calling frequency).

Agreed with in principle by:	dufault
1999-11-27 12:32:27 +00:00
phk
ccda399c72 Retire MFS_ROOT and MFS_ROOT_SIZE options from the MFS implementation.
Add MD_ROOT and MD_ROOT_SIZE options to the md driver.

Make the md driver handle MFS_ROOT and MFS_ROOT_SIZE options for compatibility.

Add md driver to GENERIC, PCCARD and LINT.

This is a cleanup which removes the need for some of the worse hacks in
MFS:  We really want to have a rootvnode but MFS on a preloaded image
doesn't really have one.  md is a true device, so it is less trouble.

This has been tested with make release, and if people remember to add
the "md" pseudo-device to their kernels, PicoBSD should be just fine
as well.  If people have no other use for MFS, it can be removed from
the kernel.
1999-11-26 20:08:44 +00:00
julian
b317e3ce30 Fix out-of-date comment 1999-11-26 05:02:06 +00:00
archie
d6eae9ff98 Change the prototype of the strto* routines to make the second
parameter a char ** instead of a const char **.  This make these
kernel routines consistent with the corresponding libc userland
routines.

Which is actually 'correct' is debatable, but consistency and
following the spec was deemed more important in this case.

Reviewed by (in concept):	phk, bde
1999-11-24 01:03:08 +00:00
green
4f8112e204 Fix a confusion between osigcontext and ucontext_t in the previous commit.
Since an osigcontext is smaller, if you check for a valid (much larger sized)
ucontext_t and it fails, we bogusly would reject the osigcontext as per
rev 1.378.  Instead, check for osigcontext range validity first, and
ucontext_t later.  This unbreaks Netscape.

Pointed to the right commit by:	peter
1999-11-23 04:09:13 +00:00
shin
887d0bc6a8 move INET6 option from GENERIC to LINT.
Thanks for Brian Fundakowski Feldman and Dag-Erling Smorgrav,
to give me the comment and the patch.

Submitted by:Dag-Erling Smorgrav
1999-11-22 11:13:00 +00:00
shin
cad2014b27 KAME netinet6 basic part(no IPsec,no V6 Multicast Forwarding, no UDP/TCP
for IPv6 yet)

With this patch, you can assigne IPv6 addr automatically, and can reply to
IPv6 ping.

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
1999-11-22 02:45:11 +00:00
pho
6b4195bebd Moved useracc() to top of sigreturn as to avoid panic
caused by invalid arguments to rutine.

Reviewed by:	marcel, phk
1999-11-21 14:46:43 +00:00
phk
d19d6e6b45 s/p_cred->pc_ucred/p_ucred/g 1999-11-21 12:38:21 +00:00
phk
b506adfada Use LIST_FOREACH to traverse the allproc list.
Submitted by:   Jake Burkholder jake@checker.org
1999-11-19 21:34:50 +00:00
dillon
1ac9471dbc Optimize two cases in the MP locking code. First, it is not necessary
to use a locked cmpexg when unlocking a lock that we already hold, since
    nobody else can touch the lock while we hold it.  Second, it is not
    necessary to use a locked cmpexg when locking a lock that we already
    hold, for the same reason.  These changes will allow MP locks to be used
    recursively without impacting performance.

    Modify two procedures that are called only by assembly and are already
    NOPROF entries to pass a critical argument in %edx instead of on the
    stack, removing a significant amount of code from the critical path
    as a consequence.

Reviewed by:	Alfred Perlstein <bright@wintelcom.net>, Peter Wemm <peter@netplex.com.au>
1999-11-19 16:49:30 +00:00
peter
5a49af516f If we have found pci devices via pci_cfgopen(), but don't find a
host->pci bridge specifically, then add a pcib0 device on the motherboard
for the pci bus to hang off.

Requested by:  Anders Andersson <anders@sanyusan.se>
Obtained from: dfr
1999-11-18 08:58:37 +00:00
luoqi
bd6a600078 Segment registers can be read(write) to(from) memory locations as well as
general registers.
1999-11-15 19:45:19 +00:00
obrien
d7ffc4c6e0 Fix clobbers so that GENERIC may compile with GCC 2.95.2.
Historically, the documentation of extended asm was lacking, namely you
should NOT specify the same register as an input, and a clobber.
If the register is clobbered, it should be specified as an output as well,
e.g., by linking input and output through the "number" notation.
(Beware of lvalues, some local variables needed...)

URL:http://egcs.cygnus.com/faq.html

In versions up to egcs-1.1.1, the compiler did not even warn about it,
but it was liable to output bad code. Newer egcs are pickier and simply
refuse to swallow such code.

Note, since *addr changes, it needs to be an output operand.
We might be excessive in saying that all memory has changed.

Obtained from:	OpenBSD
		w/extra thanks to Marc Espie <Marc.Espie@liafa.jussieu.fr>
1999-11-14 03:36:34 +00:00
marcel
3c012534a7 Reserve space for FPU state in struct sigcontext. Fix some style bugs
and comments while there.

Submitted by: bde
1999-11-12 13:52:11 +00:00
marcel
553664c80a Change the type of sf_addr in struct {o}sigframe from char* to
register_t.

Fix some style bugs and bitrotted comments.

Submitted by: bde
1999-11-12 11:21:34 +00:00
alc
49c5eada3d Passing "0" or "FALSE" as the fourth argument to vm_fault is wrong. It
should be "VM_FAULT_NORMAL".
1999-11-09 01:44:28 +00:00
phk
34f8a5b20f Patch got this one wrong, we want to check securelevel in open() 1999-11-07 12:32:45 +00:00
phk
a7f67fc819 Remove the iskmemdev() function. Make it the responsibility of the mem.c
drivers to enforce the securelevel checks.
1999-11-07 12:01:32 +00:00
jhb
57783992cd Remove the prototypes for two functions that were removed when the
CD9660_ROOT option was axed.
1999-11-02 19:38:27 +00:00
msmith
4584f23d75 This is a complete rewrite of vfs_conf.c, which changes the way the root
filesystem is discovered.  Preference is given to using the kernel
environment variable vfs.root.mountfrom, which is set by the loader
according to the contents of /etc/fstab.  Changes in the MD code
provide fallback mechanisms for systems not using the loader.

A more robust fallback path is also provided, with the last recourse
being to prompt on the console for a root device.

These changes drastically simplify the machine-dependant parts of
the root configuration process.  In addition, support for CDROM root
devices has been removed; it was a nasty hack and didn't work.
1999-11-01 23:51:00 +00:00
peter
ff69a3419a Update examples using 'disk' and 'tape' - they used to have magic meaning
to config(8) for static device tables that have not existed for quite
some time.  They have been aliases for 'device' for a while, and "tape"
went away entirely as it wasn't used anywhere (except in an example
in LINT.. "fixed").
1999-11-01 04:02:58 +00:00
alc
61bba49fd7 The useracc() calls in osigreturn() and sigreturn() should specify
VM_PROT_READ rather than VM_PROT_WRITE.  (This mistake predates
the B_READ/B_WRITE -> VM_PROT_READ/VM_PROT_WRITE change.)

Submitted by:	bde
1999-10-31 19:39:51 +00:00
iwasaki
945a25b489 i8254_restore is called from apm_default_resume() to reload
the countdown register.
this should not be necessary but there are broken laptops that
do not restore the countdown register on resume.
when it happnes, it messes up the hardclock interval and system clock,
which leads to the infamous "calcru: negative time" problem.

Submitted by:	kjc, iwasaki
Reviewed by:	Steve O'Hara-Smith <steveo@eircom.net> and committers.
Obtained from:	PAO3
1999-10-30 14:56:01 +00:00
alc
a301513e80 The core of this patch is to vm/vm_page.h. The effects are two-fold: (1) to
eliminate an extra (useless) level of indirection in half of the page
queue accesses and (2) to use a single name for each queue throughout,
instead of, e.g., "vm_page_queue_active" in some places and
"vm_page_queues[PQ_ACTIVE]" in others.

Reviewed by:	dillon
1999-10-30 07:37:14 +00:00
phk
8d8f53dcdc Change useracc() and kernacc() to use VM_PROT_{READ|WRITE|EXECUTE} for the
"rw" argument, rather than hijacking B_{READ|WRITE}.

Fix two bugs (physio & cam) resulting by the confusion caused by this.

Submitted by:   Tor.Egge@fast.no
Reviewed by:    alc, ken (partly)
1999-10-30 06:32:05 +00:00
phk
8e3c3eafed useracc() the prequel:
Merge the contents (less some trivial bordering the silly comments)
of <vm/vm_prot.h> and <vm/vm_inherit.h> into <vm/vm.h>.  This puts
the #defines for the vm_inherit_t and vm_prot_t types next to their
typedefs.

This paves the road for the commit to follow shortly: change
useracc() to use VM_PROT_{READ|WRITE} rather than B_{READ|WRITE}
as argument.
1999-10-29 18:09:36 +00:00
phk
c3fe19695c Remove #ifdef notyet code for doing I/O in a way we never will do it. 1999-10-29 10:26:20 +00:00
mdodd
55b88837b6 Modify the entries regarding the 'ep' driver to take into account
my recent changes to that driver.
1999-10-27 06:30:10 +00:00
alc
fde4bba974 Add text for the AMD-751 host-to-PCI and PCI-to-PCI (AGP) bridges. 1999-10-25 06:28:04 +00:00