Commit Graph

7999 Commits

Author SHA1 Message Date
peter
80d8241040 add ipl_funcs.c (Hmm.. should probably use a "compile-with" arg rather
than a Makefile.i386 hook)
1997-05-31 09:23:44 +00:00
peter
09b39a0660 compile ipl_funcs.c with -fomit-frame-pointer, as suggested by Bruce. This
cuts the cost of a function call instead of an inline.
1997-05-31 09:19:19 +00:00
peter
3bcc8c4b88 move spl.h to ipl.h, minus the inline spl macros. The inline spl
implementation is now in isa/ipl_funcs.c (at least for the time being),
leaving the definitions of the SWI_* and cpl/idelayed/ipending.
1997-05-31 09:16:36 +00:00
peter
fbe84f722a remove #include of <machine/spl.h> - they are externed now
Reviewed by: bde
1997-05-31 09:13:03 +00:00
peter
c0b8239aff move intrhand2_t from isa_device.h to machine/types.h - it's used far more
than in the isa dependent code.
create intrmask_t in machine/types.h  (replaces "intrmask" typedef from
sys/interrupt.h)

Reviewed by: bde
1997-05-31 09:07:36 +00:00
peter
83a98bc0a2 Store the macro values for SWI_TTY_MASK and SWI_NET_MASK in variables to
that lkm's can use them for fiddling the masks without being dependent on
which mode the kernel is compiled in (SMP or UP).  This is particularly
for ppp_tty.c which has some domain crossing between the net and tty
subsystems.  The values are not used in the spl code, they are for
reference only (ie: the compiled code uses immediate values rather than
an indirect 32 bit address and 32 bit data fetch).
1997-05-31 09:03:52 +00:00
peter
72b61693b5 The SWI_NET_MASK and SWI_TTY_MASK handlers are now back adjacent to the
top of the hardware interrupt handlers.  Apparently this is slightly
faster with the bit scanning instruction that looks these up - this set of
changes reverts the original change.

Reviewed by: bde
1997-05-31 08:59:51 +00:00
peter
ea8d17534e Bruce's original implementation of the splxxx() routines, but as C code
rather than inlines.  These are compiled with -fomit-frame-pointer and
work out pretty close to the original routines, but it might be a fraction
slower.  The reason for doing this is to prevent the SWI_* and HWI_* values
from being compiled into drivers and lkms etc which is one of the things
that prevents the same lkm from being used on both SMP and UP kernels.

This gives us a lot more scope for experimenting with the splxxx
implementaton for SMP parallelism etc.

Reviewed by: bde
1997-05-31 08:57:05 +00:00
peter
10d300a786 Bruce's original definitions for the spl/ipl code when running on the old
PIC's.

Reviewed by: bde
1997-05-31 08:50:34 +00:00
peter
f4cc25da4c Definitions for the spl/ipl code when running on an IO APIC.
Obtained from: fsmp  (part of what Steve added for IO APIC support)
Reviewed by:   bde
1997-05-31 08:49:08 +00:00
kato
ad1b2dcc5c - Use 6x86MX' instead of M2'. Cyrix officially use `6x86MX' for the
CPU code-named `M2'.

- Use the result of cpuid instruction instead of DIR to identify
  6x86MX cpu.  DIR0 and DIR1 are not documented in the data sheet, and
  cpuid instruction is enabled at reset time.

- Add a function, init_6x86MX() to initialize 6x86MX cpu.  It supports
  CPU_SUSP_HLT and CPU_IORT options.  It always sets NC1 (640K - 1M is
  not cached.), and enables L1 cache in write-back mode.

- Fix typo in the comment in identblue().
1997-05-31 08:45:24 +00:00
fsmp
5e2a5c5971 Modified code in direction of supporting MULTIPLE_IOAPICS.
- moved read_io_apic_maskc24() from isa/mpapic.h, disabled it, currently unused.
 - cleaned up various panic() calls.
1997-05-31 03:29:57 +00:00
fsmp
01f80ab36a Modified code in direction of supporting MULTIPLE_IOAPICS.
- removed set_io_apic_mask() & clr_io_apic(_mask)
 - moved read_io_apic_maskc24() to i386/mpapic.c, disabled it, currently unused.
1997-05-31 03:29:06 +00:00
stark
a3186f5a8d Submitted by: Rich Murphey (ages ago) and Gene Stark
Hopefully I've done the proper magic to merge changes between 1.17 and
1.17.2.1 into the main trunk.  Description of those changes follows:

Brought in changes sent to me in late 1995 by Rich Murphey.
I cleaned up a few things and am currently running these under
2.2-970205-GAMMA.

The changes deal with software debouncing apparently necessary on
todays faster hardware, and also some problems with the use of the -Select
line for the TW-523 sync.  This driver allows use of +PaperEnd as an
alternative.
1997-05-31 02:39:32 +00:00
dfr
654c037a9c The previous fix didn't work properly for small block size filesystems,
which caused very slow file access for cd9660 and some ext2fs filesystems.

Reviewed by:	bde
1997-05-30 22:25:35 +00:00
se
854d44183b Add code to correctly probe all buses on the Intel XXPRESS motherboard.
Add a few Intel PCI chip-set names (VX) and fix Orion entries.
1997-05-30 21:01:47 +00:00
se
e0cae756d1 Remove use of intrec*, use void* instead.
Disable test entries for wired PCI devices on bus 1.
1997-05-30 20:58:04 +00:00
kato
da76705884 Synchronize with sys/i386/isa/isa.c revision up to 1.87. 1997-05-30 10:05:56 +00:00
kato
9cb73532ad Synchronize with sys/i386/i386/microtime.s revision 1.23. 1997-05-30 10:00:58 +00:00
kato
f4a833edc3 Synchronize with sys/i386/i386/trap.c revision 1.96. 1997-05-30 09:59:11 +00:00
kato
37507fd982 Synchronize with sys/i386/isa/clock.c and sio.c revisions 1.85 and
1.168, respectively.
1997-05-30 09:57:09 +00:00
tegge
ddd2ab1026 Don't remove the controlling tty from the session if the vnode is being
cleaned. This should help for PR kern/3581.
1997-05-29 13:29:13 +00:00
fsmp
587ca3db0a Code such as apic_base[APIC_ID] converted to lapic__id
Changes to pmap.c for lapic_t lapic && ioapic_t ioapic pointers,
currently equal to apic_base && io_apic_base, will stand alone with the
private page mapping.
1997-05-29 05:58:41 +00:00
fsmp
1d5eea67e2 apic.h now has structure definitions for both the local APIC and io APIC.
apic.h has defines like:
#define lapic__id       lapic->id

Once private pages and "known virtual addr" mapping of the APICs is
ready all 'lapic__XXX' will be changed to 'lapic.XXX', and the defines
will be removed.

Changes to smp.h for lapic_t lapic && ioapic_t ioapic pointers,
currently equal to apic_base && io_apic_base, will stand alone with the
private page mapping.
1997-05-29 05:57:43 +00:00
fsmp
9872779de2 Added code to manage the local and io APICs as structures. 1997-05-29 05:56:12 +00:00
peter
76a3a648cb remove no longer needed opt_smp.h includes 1997-05-29 05:11:11 +00:00
peter
4dd6bbc1f4 minor style police (recent divergence from KNF code) 1997-05-29 05:07:10 +00:00
peter
85a1abc657 remove opt_smp.h and fix the reason it was needed. 1997-05-29 05:04:30 +00:00
peter
37a0f54086 No longer need opt_smp.h here 1997-05-29 05:00:35 +00:00
peter
ee55041d22 remove opt_smp.h from this well-included file, minor style police 1997-05-29 04:58:04 +00:00
peter
d1a736837d remove opt_smp.h, minor style police 1997-05-29 04:55:39 +00:00
peter
007e29a189 Don't need "opt_smp.h" on these files 1997-05-29 04:52:04 +00:00
peter
9f6afc2b7f Don't refer to NCPU in extern decl for SMPruntime[] 1997-05-29 04:50:23 +00:00
peter
94e94a5dbf forward declare struct timeval so that pcibus.c doesn't get a warning.
(it doesn't #include <sys/time.h> since it doesn't need it)
1997-05-29 04:46:07 +00:00
peter
6f94abef97 Update the #include "opt_smpxxx.h" includes - opt_smp.h isn't needed
very much in the generic parts of the kernel now.
1997-05-29 02:57:22 +00:00
se
cb12eb9f1d Fix problem reported by PHK: Panic in pcic probe because of NULL pointer
dereference (head->next in intr_disconnect).
1997-05-28 22:11:00 +00:00
jmz
da224a2363 The correct way to combine 2 4bit values into a 8bit one is (a<<4) | b, not
(a<<8) || b.
The conical hat please!
1997-05-28 21:25:49 +00:00
se
9764a899d5 Add one more compatibility define to make the Adaptec driver compile
with option AHC_ALLOW_MEMIO again ....
1997-05-28 20:37:19 +00:00
fsmp
d68cba57cf Add declaration of mp_probe().
This is now called directly from machdep.c.
1997-05-28 18:44:11 +00:00
se
19f6360161 Define command register enable bits, which are required for a consitency
test added to pci_compat.c
1997-05-28 11:15:18 +00:00
se
364b813321 Add consistency check to the functions that map port or memory ranges:
Return failure, if the enable bit corresponding to the map type has not
been set in the command register. This feature was requested by Justin
Gibbs, who pointed out that some early PCI to PCI bridges do not correctly
support memory windows (I assume because of the risk of deadlocks that
have been taken care of in the PCI 2.2 spec) and that some BIOS clears
the memory address decode enable bit in the command register of the PCI
device, if it finds them behind such a bridge.
1997-05-28 10:10:02 +00:00
se
81eaba2daa Two minor changes to the code that builds the pci map array:
1) Stop at the first map register that contains a zero value.
2) When testing for the map size work up from low values, since
   this works around a bug in some BusLogic SCSI card, which has
   the 16 upper port base address bits hardwired to zero.

The config register dump printed in the bootverbose case has
been slightly rearranged.
1997-05-28 10:01:03 +00:00
kato
07d5bdb4cf Synchronize with following files:
>  Revision  Changes    Path
>  1.65      +3 -3      src/sys/i386/boot/biosboot/boot.c
>  1.18      +1 -5      src/sys/i386/boot/biosboot/boot.h
>  1.26      +7 -6      src/sys/i386/boot/biosboot/disk.c
>  1.22      +4 -2      src/sys/i386/boot/biosboot/io.c
>  1.20      +12 -9     src/sys/i386/boot/biosboot/sys.c
1997-05-28 09:23:00 +00:00
kato
006dee4f27 Synchronize with sys/i386/isa/wd.c revision 1.130. 1997-05-28 09:19:35 +00:00
kato
e8929e7abf Synchronize with sys/i386/isa/isa.c revision 1.85. 1997-05-28 09:18:23 +00:00
kato
2450f614ec Synchronize with sys/i386/i386/machdep.c revision up to 1.245. 1997-05-28 09:16:19 +00:00
kato
071f6fe0fc Synchronize with sys/i386/isa/clock.c revision 1.84. 1997-05-28 09:04:26 +00:00
wpaul
db46899f5a Resolve conflicts. 1997-05-28 04:45:15 +00:00
alex
e9395b7e9a Define NPRIMES in terms of the number of elements in 'primes' (as opposed
to hardcoding it).
1997-05-28 00:47:27 +00:00
fsmp
072ad65a29 Nuke the printing of the unredirect message unless bootverbose. 1997-05-27 19:28:10 +00:00
fsmp
22acbff456 Minor cleanup of APIC_IO code.
Submitted by:	Stefan Esser <se@freebsd.org>
1997-05-27 19:24:36 +00:00
se
cb4e9a7a1b Fix problem introduced in the CMD640 workaround which could lead
to a NULL pointer dereference.

PR:		kern/3696
Submitted by:	Joel.Faedi@esial.u-nancy.fr
1997-05-27 18:28:08 +00:00
bde
d46797c1ba Staticize. 1997-05-27 16:26:39 +00:00
yokota
41dc0592de scprobe() referred to the psm_softc structure even after it was
freed ;-<

PR:		kern/3694
1997-05-27 11:55:41 +00:00
charnier
93d61f4b17 prevent `struct proc' from being declared inside parameter list.
PR:	kern/3548
1997-05-27 06:17:22 +00:00
fsmp
b5037ea036 Add support for APIC_IO to pci IRQ configuration.
The support for APIC_IO was lost in the new set of pci modules.  This patch
restores the ability to build SMP/APIC_IO kernels.
1997-05-27 04:09:01 +00:00
se
b80cb4d64d Yet another fix for configuration mechanism 1 register accesses:
Adjust the data port address by adding the two low order bits of
the register number. The address port takes only a word address
(i.e. ignores the two low order bits written to it).
1997-05-26 21:52:41 +00:00
se
d3b40e61a7 Fix previous fix: The enable bit is bit 31 (0x8000000) and not bit 15. 1997-05-26 21:25:24 +00:00
se
d4c4dc86bf Set enable bit when writing the configuration address in configuration
mode 1. Omission of this bit makes all config register accesses fail in
on recent chip sets ...

(The problem was reported and debug output provided by: Steve Passe)
1997-05-26 21:11:05 +00:00
fsmp
2d9259ea49 Fix breakage from my last commit where mp_start() was missing from UP builds. 1997-05-26 18:40:45 +00:00
fsmp
38b80d424b Changed inclusion of isa/icu.s to isa/ipl.s.
This is part of the breakup of UP/SMP specific INTerrupt code.
1997-05-26 18:00:34 +00:00
fsmp
be6c5ef7bc Split vector.s into UP and SMP specific files:
- vector.s		<- stub called by i386/exception.s
 - icu_vector.s		<- UP
 - apic_vector.s	<- SMP

Split icu.s into UP and SMP specific files:
 - ipl.s		<- stub called by i386/exception.s (formerly icu.s)
 - icu_ipl.s		<- UP
 - apic_ipl.s		<- SMP

This was done in preparation for massive changes to the SMP INTerrupt
mechanisms.  More fine tuning, such as merging ipl.s into exception.s,
may be appropriate.
1997-05-26 17:58:27 +00:00
se
7571227e55 This file has been made obsolete by the new PCI code. 1997-05-26 15:15:59 +00:00
se
cfea775806 Completely replace the PCI bus driver code to make it better reflect
reality. There will be a new call interface, but for now the file
pci_compat.c (which is to be deleted, after all drivers are converted)
provides an emulation of the old PCI bus driver functions. The only
change that might be visible to drivers is, that the type pcici_t
(which had been meant to be just a handle, whose exact definition
should not be relied on), has been converted into a pcicfgregs* .

The Tekram AMD SCSI driver bogusly relied on the definition of pcici_t
and has been converted to just call the PCI drivers functions to access
configuration space register, instead of inventing its own ...

This code is by no means complete, but assumed to be fully operational,
and brings the official code base more in line with my development code.

A new generic device descriptor data type has to be agreed on. The PCI
code will then use that data type to provide new functionality:

1) userconfig support
2) "wired" PCI devices
3) conflicts checking against ISA/EISA
4) maps will depend on the command register enable bits
5) PCI to Anything bridges can be defined as devices,
   and are probed like any "standard" PCI device.

The following features are currently missing, but will be added back,
soon:

1) unknown device probe message
2) suppression of "mirrored" devices caused by ancient, broken chip-sets

This code relies on generic shared interrupt support just commited to
kern_intr.c (plus the modifications of isa.c and isa_device.h).
1997-05-26 15:08:43 +00:00
se
eba9732c97 Add kern/kern_intr.c as a standard kernel component. This file contains
the new interrupt registration code, which is meant to be architecture
indeppendent.
1997-05-26 14:46:23 +00:00
se
d1289ee199 Add support for shared interrupts to the kernel. This code is meant
be (eventually) architecture independent. It provides an emulation
of the ISA interrupt registration function register_intr(), but that
function does no longer manipulated the interrupt controller and
interrupt descriptor table, but calls the architecture dependent
function setup_icu() for that purpose.

After the ISA/EISA bus code has been modified to directly call the new
interrupt registartion functions (intr_create() and intr_connect()),
the emulation of register_intr() should be dropped.

The C level interrupt handler function should take a (void*) argument,
and the function pointer type (inthand2_t) should defined in some  other
place than isa_device.h.

This commit is a pre-requisite for the removal of the PCI specific shared
interrupt code.

Reviewed by:    dfr,bde
1997-05-26 14:42:24 +00:00
se
a201b8ac68 Add support for shared interrupts to the kernel. This code is meant
be (eventually) architecture independent. It provides an emulation
of the ISA interrupt registration function register_intr(), but that
function does no longer manipulated the interrupt controller and
interrupt descriptor table, but calls the architecture dependent
function setup_icu() for that purpose.

After theISA/EISA bus code has been modified to directly call the new
interrupt registartion functions (intr_create() and intr_connect()),
the emulation of register_intr() should be dropped.

The C level interrupt handler function should take a (void*) argument,
and the function pointer type (inthand2_t) should defined in some  other
place than isa_device.h.

This commit is a pre-requisite for the removal of the PCI specific shared
interrupt code.

Reviewed by:	dfr,bde
1997-05-26 14:37:43 +00:00
fsmp
386d11add8 Added a test called 'LATE_START'.
This is now the default, it delays most of the MP startup to the function
machdep.c:cpu_startup().  It should be possible to move the 2 functions
found there (mp_start() & mp_announce()) even further down the path once
we know exactly where that should be...

Help from: Peter Wemm <peter@spinner.dialix.com.au>
1997-05-26 09:23:30 +00:00
peter
482f79be9f Uninitialised inp variable in div_bind().
Submitted by: Åge Røbekk <aagero@aage.priv.no>
1997-05-26 03:33:48 +00:00
yokota
f9425918d6 Corrected accidental breakage in the last commit.
Pointed out by: Steve Passe, smp@csn.net
1997-05-26 01:02:41 +00:00
fsmp
36bde2a165 Removed global hwisrs, replacing it with vec (formerly static to icu.s). 1997-05-25 16:58:03 +00:00
fsmp
4dce84d0e9 Made the array vec[] a global.
This allows the APIC code to reorder the vectors at runtime.
1997-05-25 16:55:26 +00:00
obrien
56fc405bf0 Fixed up ssigala@globalnet.it's "Jumping Daemon" screen saver for < v3.0. 1997-05-25 16:06:29 +00:00
darrenr
f083853503 Add lines for new files in ipfilter 1997-05-25 15:56:18 +00:00
darrenr
af71e3182a This commit was generated by cvs2svn to compensate for changes in r26124,
which included commits to RCS files with non-trunk default branches.
1997-05-25 15:50:46 +00:00
darrenr
31b14cdfce Import version 3.2alpha7 1997-05-25 15:50:46 +00:00
darrenr
a93925894f Import version 3.2alpha7 1997-05-25 15:50:46 +00:00
joerg
24604b1673 Add an entry for the Epson scanners since some of them repsond to more
than one LUN:

Submitted by:	simokawa@sat.t.u-tokyo.ac.jp (Hidetoshi Shimokawa)
1997-05-25 14:20:28 +00:00
peter
8f5a38010f uncomment wl again now that it compiles... 1997-05-25 07:18:22 +00:00
peter
45638e74d2 Make the multicast code compile under -current. This has not been reviewed
or tested yet.  Mike may want to make some adjustments.
1997-05-25 07:17:02 +00:00
peter
f0f8900890 Connect the ipdivert div_usrreqs struct to the ip proto switch table 1997-05-25 06:09:23 +00:00
peter
4623237221 Fix warnings (from LINT). Missing static prototype, missing vm includes
for vnode_pager_setsize().
1997-05-25 04:57:11 +00:00
peter
e803ad6c09 Fix some warnings (missing prototypes, wrong "generic" args etc)
umapfs uses one of nullfs's functions...
1997-05-25 04:50:02 +00:00
peter
47e5187c67 Fix(?) two volatile cast warnings. The buffer is volatile within the
function so as to avoid compiler side effects, but functions calling it
shouldn't be affected (gcc shouldn't cache memory scope past a function
call)
1997-05-25 04:13:27 +00:00
peter
ed2cb31ed0 match the #include opt_ file with options.i386 (it has opt_wavelan.h) 1997-05-25 04:04:20 +00:00
fsmp
7175017e0f Broke up parse_mp_table() into 2 passes:
- The 1st (preparse_mp_table()) counts the number of cpus, busses, etc. and
   records the LOCAL and IO APIC addresses.
 - The 2nd pass (parse_mp_table()) does the actual parsing of info and recording
   into the incore MP table.

This will allow us to defer the 2nd pass untill malloc() & private pages
are available (but thats for another day!).
1997-05-25 02:49:03 +00:00
fsmp
7f26f14e98 Minor cleanup.
Comment about expanded use of NAPICIDS.
Change default NINTR from 64 to 48.
1997-05-25 02:43:42 +00:00
fsmp
81f7ff2872 Delay mp_start() till after the msgbuf is mapped. We really want to delay
it till even later but tss setup prevents that right now...
1997-05-24 18:59:02 +00:00
fsmp
1befbb8296 Now that panic() is properly printing messages for early SMP panics all
the 'printf("..."); panic("\n")' sections are returned to 'panic("...")'.
1997-05-24 18:48:53 +00:00
fsmp
eee5a4f496 Move the printing of "cpu#%d" to AFTER the general panic argument string.
When a panic occurs early in the SMP boot process 'cpunumber()' hangs,
causing the panic string to be lost.  Now the system appears to hang
in 'breakpoint()', but at least the user sees the panic string before the
hang.
1997-05-24 18:35:44 +00:00
peter
16ff422327 Attempt to convert the ip_divert code to use the new-style protocol request
switch.  I needed 'LINT' to compile for other reasons so I kinda got the
blood on my hands.  Note: I don't know how to test this, I don't know if
it works correctly.
1997-05-24 17:23:11 +00:00
peter
9b1a826657 The wavelan driver doesn't even compile! 1997-05-24 12:23:44 +00:00
yokota
9319ecd97b Flip the daemon at the edge of the screen.
Submitted by:	Sandro Sigala, Chris Shenton
1997-05-24 01:44:39 +00:00
julian
38bb137783 submitted by: archie@whistle.com
Don't search for interface addresses matching interface "NULL"
it's likely to cause a page fault..
this can be triggered by the ipfw code rejecting a locally generated
packet (e.g. you decide to make some network unreachable by local users)
1997-05-23 22:33:16 +00:00
joerg
b70226eca1 Fix a couple of log()'s that came out with the wrong (default)
log level, as opposed to LOG_DEBUG.
1997-05-23 20:40:15 +00:00
sos
1dab91ea8d Fix support for the Hitachi CDR7730 IDE cdrom drive.
Patch from pr1730.
Tested on our IDE cdrom drive farm...
1997-05-23 16:22:04 +00:00
kato
6fdede24b9 Synchronize with sys/i386/i386/machdep.c revision 1.242. 1997-05-23 10:17:05 +00:00
kato
b7e54e530c Synchronize with sys/i386/conf/Makefile.i386 revision 1.97. 1997-05-23 10:12:10 +00:00
kato
29ff6d4741 Synchronize with sys/i386/conf/files.i386 and options.i386 revisions
1.161 and 1.45, respectively.
1997-05-23 10:11:04 +00:00
charnier
f5b1ff3b2b typo (Cyirx -> Cyrix). 1997-05-23 06:22:47 +00:00
brian
06bdbfe539 Create the alias library. This is currently only used by
ppp (or will be shortly).  Natd can now be updated to use
this library rather than carrying its own version of the code.

Submitted by:	Charles Mott <cmott@srv.net>
1997-05-23 04:41:31 +00:00
fsmp
5a1c8ae0ba Convert all:
panic( "xxxxx\n" );

to:
 printf( "xxxxx\n" );
 panic( "\n" );

For some as yet undetermined reason the argument to panic() is often NOT
printed, and the system sometimes hangs before reaching the panic printout.
So we hopefully at least print some useful info before the hang, as oppossed to
leaving the user clueless as to what has happened.
1997-05-22 22:35:42 +00:00
joerg
6c60e80883 Introduce a third queue per interface, serving only PPP control
protocol packets.  This queue is the only one being enabled until
network phase has been reached.
1997-05-22 22:15:39 +00:00
fsmp
79ff4a8f8f Make the default for NINTR really large (ie 64).
We just ran across one with 38+ entries.
1997-05-22 22:04:45 +00:00
fenner
62468b6b29 Disallow writing raw IP packets shorter than the IP header. 1997-05-22 20:52:56 +00:00
msmith
8b8b690675 Add 'wl' Wavelan driver.
Obtained from:	Jim Binkley <jrb@cs.pdx.edu>
1997-05-22 08:50:14 +00:00
msmith
c15db4fd91 Add the 'wl' ISA Wavelan driver.
Obtained from:	Jim Binkley <jrb@cs.pdx.edu>
1997-05-22 08:47:40 +00:00
phk
a10b0af918 Shrink struct inode by 20 bytes, so that malloc wastes less space.
Pointed out by:	bde
1997-05-22 07:30:55 +00:00
phk
3de9539eca Don't apply 5V when we want 3.3V.
Kludge around the case where the PCIC refuses to use 5V because it knows
better than us.
1997-05-22 07:29:24 +00:00
phk
21035d6476 Remove cruft relating to p_selbits and p_selbits_size 1997-05-22 07:25:20 +00:00
phk
507f70a63b Remove p_selbits and p_selbits_size so sizeof(struct proc) returns to 256
bytes.  Move p_hash to where it should have been all along, since we
change the layout anyway.

Recompile ps, top, libutil and all that.

Taked about with:	bde
1997-05-22 07:24:46 +00:00
jdp
9d49e3ca10 This commit affects ELF kernels only.
Remove "setdefs.h" and arrange to generate it automatically at
ELF kernel build time.

"gensetdefs.c" is a utility which scans a set of ELF object files
and outputs a line ``DEFINE_SET(name, length);'' for each linker
set that it finds.  When generating an ELF kernel, this is run just
before the final link to generate "setdefs.h".

Remove the init_sets() function from "setdef0.c", and its call from
"machdep.c".  Since "gensetdefs.c" calculates the length of each
set, it is no longer necessary in an ELF kernel to count the set
elements at kernel initialization time.  Also remove "set_of_sets"
which was used for this purpose.

Link "setdef0" and "setdef1" into the kernel only if building for
ELF.  Since init_sets() is no longer used, there is no need to link
them into an a.out kernel.
1997-05-21 23:21:30 +00:00
jdp
a57b7759a5 Fill out the ELF header files to make them more or less complete.
Fix a macro name that was misspelled both in brandelf.c and
imgact_elf.h.
1997-05-21 23:07:31 +00:00
jdp
0f85b0a29a Add new C global names also referenced from assembly language.
These mostly came from the addition of SMP support.
1997-05-21 22:56:59 +00:00
jdp
0d42d75ea0 Make setbits() SMP-safe. Eliminate the SETBITS() macro, and replace
all uses of it with the equivalent calls to setbits().

This change incidentally eliminates a problem building ELF kernels
that was caused by SETBITS.

Reviewed by:	fsmp, peter
Submitted by:	bde
1997-05-21 22:56:05 +00:00
joerg
2719fbb4b6 Initialize the buf_queue of the pt(4) driver.
PR:		kern/3629: /sys/scsi/pt.c doesn't...
Submitted by:	simokawa@sat.t.u-tokyo.ac.jp (Hidetoshi Shimokawa)

Add a catch-all record for removable SCSI devices to default them to
only one LUN.

PR:		kern/3580: Bad LUN probes on Xyratex...
1997-05-21 19:35:11 +00:00
gibbs
f81fb1863d Several bug fixes for the ee16 support from Richard Straka:
1) Adjust NFRAMES from 16 to 8 per 16k of memory.
2) Acknowledge interrupts to the card early in the interrupt
   handler before processing the event that caused the interrupt.
   This frees the card to process addtional events instead of
   waiting for the driver to finish handling events.
3) Changed the initialization of the transmit buffers to be a
   loop so that the number of buffers can be more easily changed.
4) Moved the code to take the adapter out of loop back mode to just
   before we enable the receiver.

I also made the driver dynamically size its resource arrays at attach
time so that we can take full advantage of adapters with more than 16k
of memory.

Richard has some other changes he's working on to improve performance,
but this should get ee16 support working reliably again.

Thanks to Wes Santee <wes@bogon.net> for testing these patches.

Submitted by: Richard Straka <straka@user1.inficad.com>
1997-05-21 18:26:09 +00:00
yokota
c251a5938b Introducing "Jumping Daemon" screen saver. This is really cute and
eye-catching :-)

Submitted by:	ssigala@globalnet.it
1997-05-21 14:18:27 +00:00
yokota
41c227a2da Introducing "Jumping Daemon" screen saver. This is really cute and
eye-catching :-)

Submitted by:	ssigala@globalnet.it

Also fixed some `extern' declarations in saver.h.
1997-05-21 14:18:00 +00:00
joerg
86fd58c179 Major nit: i've confused link0 and link1 in my brain and/or in either
the man page or the source file.  Fix this.

Minor problem: don't choke with ENETDOWN early.  As long as our output
queue has space, put the IP packets there even if IPCP ain't up yet.
We will eventually be able delivering them once the PPP state machine
came up.
1997-05-20 22:54:04 +00:00
dfr
a24aff37ce Plug a memory leak in nfs_link.
PR:		kern/1001
1997-05-20 08:06:31 +00:00
joerg
27ddec53f7 Major overhaul of the SyncPPP layer. Basically, this comprises now a
full implementation of the sate machine as described in RFC1661, and
provides support for plugging in various control protocols.  I needed
this to provide PPP support for the BISDN project (right now).

Unfortunatley, while the existing API was almost up to the point, i
needed one minor API change in order to decouple the this-layer-
started and this-layer-finished actions from the respective Up and
Down events of the lower layer.  This requires two additional lines in
the attach routines of all existing lower layer interface drivers that
are using syncPPP (shortcutting these actions and events).  Apart from
this, i believe i didn't change the API of all this, so everything
should plug in without too many hassles.  Please report if i broke
something in the existing drivers.

For a list of features (including new ones like dial-on-demand), and
things still to be done, please refer to the man page i'll commit asap.

Encouraged by:	Serge Vakulenko <vak@cronyx.ru>
1997-05-19 22:03:09 +00:00
jmz
1b34c46597 Set the quirks for the worm drives. 1997-05-19 17:32:10 +00:00
jmz
14ab45bc6e A few improvements to the worm driver.
- remove all calls to scsi_stop_unit(). Some drives refuse commands when
  stopped. This will fix the 'device not configured' message which was
  cleared after opening/closing the tray.
- Never set the logical block address in the scsi_cmd struct when writing.
  The computation was bogus for block sizes not a multiple of DEV_BSIZE.
  (the bug is still there in the READ case)
- reset the block size to the 2048 bytes in finalize_track() track to avoid
  an error when mounting a disk after an audio write.
- remove the WORMIOCQUIRKSELECT ioctl. Quirks are now recorded at probe time
  (see scsiconf.c)
- change and expand the argument to the WORMIOCPREPTRACK ioctl. It now possible
  to select more track options (copy bits, ISRC codes, track type,
  track number)
- add an error handler to catch false errors (warnings in fact) and record
  the error type.
- add an ioctl call (WORMIOERROR) to get more information on the nature of the
  error when a command or a write failed.
- add an ioctl call (WORMIOCFINISHTRACK) to finalize a track without closing
  the device (closing the device still finalize the track if the command was
  not performed)

Approved by:	joerg
1997-05-19 17:30:50 +00:00
dfr
d7e320b30e Fix a few bugs with NFS and mmap caused by NFS' use of b_validoff
and b_validend.  The changes to vfs_bio.c are a bit ugly but hopefully
can be tidied up later by a slight redesign.

PR:		kern/2573, kern/2754, kern/3046 (possibly)
Reviewed by:	dyson
1997-05-19 14:36:56 +00:00
kato
4788662bcf Recognize AMD 486 CPUs. 1997-05-19 12:41:35 +00:00
kato
c1e741e616 Synchronize with sys/i386/isa/sio.c revison 1.167. 1997-05-19 12:39:42 +00:00
tegge
4f2495eff0 Break apart initialization of s and inp from the declarations in
in_setsockaddr and in_setpeeraddr.
Suggested by:	Justin T. Gibbs <gibbs@plutotech.com>
1997-05-19 01:28:39 +00:00
tegge
ffb9c56f76 Disallow network interrupts while the address is found and copied in
in_setsockaddr and in_setpeeraddr.
Handle the case where the socket was disconnected before the network
interrupts were disabled.
Reviewed by:	Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
1997-05-19 00:18:30 +00:00
phk
b267ceab3d Whoops, missed a zero there. Flags 0x10000 it is. 1997-05-18 21:22:11 +00:00
phk
bdc03328fb Flags 0x1000 on sio now disables the dreaded test#3.
PR:		3395
1997-05-18 21:19:04 +00:00
phk
051d52fdad Detect various supersets of 16550A based on fifo depth.
PR:		i386/3523
Reviewed by:	phk
Submitted by:	vak@cronyx.ru
1997-05-18 20:53:52 +00:00
kato
a20592cd42 Synchronize with sys/i386/boot/biosboot/bios.S and
sys/i386/boot/biosboot/serial.S revisions 1.10 and 1.7, respectively.
1997-05-18 12:28:38 +00:00
phk
0419930c72 Remove redundant check for vp == dvp (done in VFS before calling). 1997-05-17 18:32:53 +00:00
kato
419736a877 Synchronize with sys/i386/isa/syscons.c and sys/i386/isa/syscons.h
revisions 1.216 and 1.29, respectively.
1997-05-17 11:52:26 +00:00
bde
4b84d80820 Removed some useless code:
- gcc assumes that %ecx and %edx are clobbered (due to calling
  conventions), thus there is no need for saving/restoring those two
  registers.
- %es is reset to default value by real_to_prot, thus there is no need
  for saving/restorig that register.
Submitted by:	tegge
1997-05-16 10:40:00 +00:00
tegge
6d6d2c4e4e Ignore the supplied nfs_diskless structure from the bootstrap loader
if we want to use NFS v3 to mount root and swap.
1997-05-15 19:12:56 +00:00
tegge
3bad217762 Update netboot manual page.
Submitted by:	Luigi Rizzo <luigi@iet.unipi.it>
1997-05-15 19:04:33 +00:00
yokota
3347d1b140 1) font loading (two fixes)
When an ioctl command SW_XXXX is issued, scioctl() checks if the font
appropriate for the specified mode is already loaded.  The check was
correctly done for 8 line and 16 line fonts, but not for 14 line font.

The symbols FONT_8, FONT_14 and FONT_16 were defined as numbers but
were sometimes treated as bit flags. They are now defined as bit
flags.

2) screen blinking (two fixes)

Removed a redundant call to timeout() in do_bell().

Don't let blink_screen() write to the video buffer if the screen is in
the graphics (UNKNOWN) mode.

3) screen saver timeout

The ioctl command CONS_BLANKTIME sets the screen saver's timeout.  The
value of zero will disable the screen saver. If the screen saver is
currently running it should be stopped.

4) border color and destructive cursor (two fixes)

The border color and the cursor type can be changed via escape
sequences.  But only VGA can change the border color and set the
cursor type to destructive (CHAR_CURSOR) in the current syscons.
scan_esc() failed to check this.

Reviewed by:	sos
1997-05-15 05:43:59 +00:00
tegge
87b96fe037 Don't send arp request for the ip address 0.0.0.0. 1997-05-14 16:39:52 +00:00
tegge
717a04bef3 Bring in some improved bootp support for netboot submitted by Luigi:
- TFTP is not needed any longer.
Add some other improvements:
      - swapsize is now detected if no value was specified.
      - resvport is used by default
      - merged code for setting/showing mount options for root/swap.
Submitted by:   Luigi Rizzo <luigi@labinfo.iet.unipi.it>
1997-05-14 02:44:27 +00:00
tegge
2939e33031 Use same syntax as netboot for root and swap mounts.
Handle mount options.
Ignore T16 (swap server address) and T6 (DNS server).
1997-05-14 01:36:51 +00:00
julian
30b41915f2 First cut at patches to make appletalk compile again
after the dissapearance of the USRREQ() entrypoint.
1997-05-13 21:01:45 +00:00
dfr
a35c448865 Check the B_CLUSTER flag when choosing whether to use unstable or filesync
writes.

PR:		kern/3438
Submitted by:	Tor Egge <Tor.Egge@idi.ntnu.no>
1997-05-13 19:41:32 +00:00
dfr
0ba9709268 Don't keep addresses in mbuf chains. This should simplify the next round
of network changes from Garret.

Reviewed by:	Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
1997-05-13 17:25:44 +00:00
peter
c67b6ed92c struct timespec needs to be useable with just <time.h>, but needs to not
conflict with the kernel visible one.  Make the new stuff not visible if
_ANSI_SOURCE or _POSIX_SOURCE is defined (!) because the new things are
not part of the base 1003.1-1990 standard or ansi (says Bruce).

Reviewed by: bde
1997-05-13 10:58:14 +00:00
asami
441849aead Add ${CFLAGS} to makerom command line. Note: don't add ${LDFLAGS} here,
it has a bunch of extra stuff defined above.

While I'm here, change "$(CFLAGS)" to "${CFLAGS}" to make all the rules
uniform.
1997-05-13 06:23:21 +00:00
tegge
1e22d2cd00 save/restore %ebx, %esi and %edi when calling bios routines.
Don't save/restore %ecx and %edx.
Reset segment limits when going to real mode.
Reviewed by:	phk (briefly)
1997-05-12 23:00:32 +00:00
tegge
642b91a41a Use the old nfs arguments in the nfs_diskless structure, to be
compatible with boot proms made from the 2.2 source.
Convert the nfs arguments when copying to the new diskless structure.
Copy the gateway field in the diskless structure.
1997-05-12 19:02:56 +00:00
kato
aa32c9dd60 Synchronize with sys/i386/i386/machdep.c revision 1.241. 1997-05-12 12:56:50 +00:00