3868 Commits

Author SHA1 Message Date
Steve Passe
45fedb144d 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
Steve Passe
a2e4067731 Minor cleanup.
Comment about expanded use of NAPICIDS.
Change default NINTR from 64 to 48.
1997-05-25 02:43:42 +00:00
Steve Passe
2515353993 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
Steve Passe
7f6c65fa06 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
Peter Wemm
e83d2f266d The wavelan driver doesn't even compile! 1997-05-24 12:23:44 +00:00
Søren Schmidt
4aab40db6c 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
Philippe Charnier
f29fffef82 typo (Cyirx -> Cyrix). 1997-05-23 06:22:47 +00:00
Steve Passe
89921bb594 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
Steve Passe
27584cebe0 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
Mike Smith
4eb256367e Add 'wl' Wavelan driver.
Obtained from:	Jim Binkley <jrb@cs.pdx.edu>
1997-05-22 08:50:14 +00:00
Mike Smith
98d46ad0c9 Add the 'wl' ISA Wavelan driver.
Obtained from:	Jim Binkley <jrb@cs.pdx.edu>
1997-05-22 08:47:40 +00:00
John Polstra
61b005296f 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
John Polstra
5851a3655a 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
John Polstra
9e86cdb740 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
John Polstra
713da3ed8b 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
Justin T. Gibbs
cc80aa3972 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
Joerg Wunsch
00081cc989 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
KATO Takenori
0f5ccb66e4 Recognize AMD 486 CPUs. 1997-05-19 12:41:35 +00:00
Poul-Henning Kamp
468d825d86 Whoops, missed a zero there. Flags 0x10000 it is. 1997-05-18 21:22:11 +00:00
Poul-Henning Kamp
e12ca851a6 Flags 0x1000 on sio now disables the dreaded test#3.
PR:		3395
1997-05-18 21:19:04 +00:00
Poul-Henning Kamp
8463cf03a9 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
Bruce Evans
906265bada 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
Tor Egge
7783c29bb1 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
Tor Egge
b262c3b12b Update netboot manual page.
Submitted by:	Luigi Rizzo <luigi@iet.unipi.it>
1997-05-15 19:04:33 +00:00
Kazutaka YOKOTA
3ef626ecd5 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
Tor Egge
f811abf08c 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
Satoshi Asami
b1671e460a 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
Tor Egge
472ac7f0bd 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
Andreas Klemm
99f962423c - fixed typo
- merged SMP option SMP_AUTOSTART from LINT
- enabled SMP_AUTOSTART, since it's the desired working mode and it's
  reported to work now.
PR:
Reviewed by:
Submitted by:
Obtained from:
1997-05-11 19:01:24 +00:00
Tor Egge
432aad0e98 Bring in some kernel bootp support. This removes the need for netboot
to fill in the nfs_diskless structure, at the cost of some kernel
bloat. The advantage is that this code works on a wider range of
network adapters than netboot. Several new kernel options are
documented in LINT.
Obtained from: parts of the code comes from NetBSD.
1997-05-11 18:05:39 +00:00
Bruce Evans
b8dbeb6b4d Fixed initialization of ldt[]. Unused entries were garbage. A comment
was stale.

Fixed initialization of gdt[] for the BDE_DEBUGGER case.  APM entries
clobbered debugger entries if the debugger was loaded (APM is incompatible
with BDE_DEBUGGER) and unused entries were garbage if the debugger wasn't
loaded.
1997-05-11 12:39:43 +00:00
Steve Passe
a56fb4ee60 Documented SMP_AUTOSTART to be working. 1997-05-10 17:40:53 +00:00
Joerg Wunsch
28d90c30ee Add the D_DISK flag to the cdevsw structs of various CD-ROM drivers. 1997-05-10 12:13:17 +00:00
John Hay
02c186c9bf Remove IPXPRINTFS, it is now a sysctl knob. 1997-05-10 11:16:22 +00:00
John-Mark Gurney
5719a93caf forgot to add the "longer" description of bktr and add an example device
line.
1997-05-10 09:23:55 +00:00
John-Mark Gurney
6baab37637 add a line for bktr (Bt848 base capture cards) to LINT. 1997-05-10 09:18:46 +00:00
Bruce Evans
1cbeae88a4 Cleaned up #includes. Lite2 cleaned up <sys/mount.h> so no kludges
are required for NFS now.

Ifdefed SMP #defines.
1997-05-10 08:01:13 +00:00
Kenjiro Cho
68713f97a1 merge ATM driver 1997-05-09 12:19:06 +00:00
Peter Wemm
4d37268944 Fatal trap 13: Brain fault, commit botched.
Current task:     transcribing patch
Time:             for a coffee
Faulting address: bde
1997-05-09 09:46:50 +00:00
Peter Wemm
230ebd9559 Bandaid old register offset code after md_regs changed type..
Submitted by: Eivind Eklund <perhaps@yes.no>
1997-05-09 04:02:58 +00:00
Peter Wemm
894c517fd6 Add _BSD_CLOCKID_T_ and _BSD_TIMER_T_ for posix clock/timer support
Obtained from: NetBSD
1997-05-08 13:45:43 +00:00
Steve Passe
c2855f6e47 fix bug in get_isa_apic_mask() where EISA bus was ignored.
Submitted by:	 Peter Wemm <peter@spinner.DIALix.COM>
1997-05-07 22:25:27 +00:00
Peter Wemm
d021fc112b Don't allow access to illegal addresses in /dev/kmem to panic kernel
(eg: above 0xffc00000).  Programs using /dev/kmem are implicitly racing
the kernel, and can get right up high in memory.  I've been running
these for some time now, but with printfs.  It's saved two panics at
least that I can remember.
1997-05-07 20:32:41 +00:00
Peter Wemm
1f8745a9c3 clean up forked child creation. This is simplified also by having
md_regs being struct trapframe *.  Do a npxsave() if needed and copy the
pcb rather than use the increasingly defunct savectx().  Copy %edi and
%ebp explicitly.

Submitted by: bde

XXX npxproc could be declared in npx.h so the externs with smp fruit
are not needed.
1997-05-07 20:19:18 +00:00
Peter Wemm
914970e6e9 md_regs is struct trapframe * now, rather than int []
Remove TF_REGP() macro and use.  The original reason (address space
problems due to having UPAGES in mapped into user space) is gone.  It
looks cleaner without it.
1997-05-07 20:12:47 +00:00
Peter Wemm
835834c085 md_regs is now a struct trapframe * 1997-05-07 20:08:53 +00:00
Peter Wemm
8359d00f20 forgotten comment 1997-05-07 20:07:25 +00:00
Peter Wemm
213fdd8050 md_regs is a struct trapframe * now, not int [] 1997-05-07 20:05:45 +00:00
Peter Wemm
36428e6100 simplify IOPL gain/remove privs code. It's easier with md_regs
being a trapframe.
1997-05-07 20:02:38 +00:00
Peter Wemm
06884fd04e remove now redundant (struct trapframe *) cast 1997-05-07 19:58:13 +00:00