Commit Graph

247 Commits

Author SHA1 Message Date
cgd d4a54b73d2 kill user-land DELAY macro, as suggested by gwr. 1995-06-28 02:43:36 +00:00
mellon 34f8cc760a leinit: we always have at least one address now. 1995-06-27 19:54:49 +00:00
cgd 2d49c3885b clean up definitions of ctod(), dtoc(), ctob(), btoc(), btodb(), and
dbtob().  remove unused definitions of ctos(), stoc(), and dtob().
1995-06-26 06:55:38 +00:00
cgd 1c0be437b1 define __BDEVSW_DUMP_OLD_TYPE for ports where it's true. clean up
some m68k ports inclusion of common header.
1995-06-26 05:13:37 +00:00
christos 98df248f95 Makefile.`arch`: - Add -lcompat
- Change clean: target to be a double dep one,
			  so libraries can use the clean target too
			- Add genassym to the clean targets
1995-06-24 20:46:09 +00:00
jtc 55fbbc705d Wrap with #ifndef _XXX_FLOAT_H_/#define _XXX_FLOAT_H_/ ... /#endif. 1995-06-20 20:45:22 +00:00
jtc 1d65cdd4ab #include <sys/cdefs.h>.
Wrap __flt_rounds() declaration with __BEGIN_DECLS/__END_DECLS.
1995-06-20 20:32:22 +00:00
mellon 1305dc32df Put parentheses around macro arguments 1995-06-16 02:07:33 +00:00
jonathan 8e556dece3 Change default optimization level from -O to -O2. 1995-06-09 06:44:41 +00:00
jonathan ae4eae4f63 Change reference in asm code from ``__mcount'' to ``___mcount'', to be
consistent with the (default) prepending of underscores to identifiers.

Because this reference is inside an ASM string it's too hairy to
conditionalize to support different toolchains that don't prepend underscores.
(Just don't do profiling with  such  toolchains.)
1995-05-31 00:25:06 +00:00
jonathan 8a93b408d6 Fix BPF bit-rot in receive side of pmax/dev/if_le.c: prepend ether header. 1995-05-31 00:15:46 +00:00
jtc f90f8d10aa Removing -DKERNEL, transition to _KERNEL has been completed 1995-05-16 22:24:17 +00:00
jonathan 4175c2819f Redo 3MAX+ (5k/240) interrupt enable code.
Instead of being a no-op, kn03_intr_enable() sets the sw copy of the
interrupt-enable mask *and* writes it into the IO asic intr-enable
register.  Boot code sets the sw copy (kn03_tc_imask) to something
sane (KN03_IM0, with tc option slots turned off).  Tested and works.
Interrupt code for other IOASIC machines should be redone so that
interrupts for devices are enabled by drivers, rather than by
cpu-specific boot code.  Functions common to all IOASIC machines
(PSWARN?) should be done by asic_init().

Checked in without the above changes so that 3MAX+, MAXINE and 3MIN
interrupt-(enable,handle) can converge.
1995-05-12 23:27:23 +00:00
mellon 214234c937 Fix MAXine interrupt mask routine 1995-05-05 06:48:14 +00:00
cgd 8703076975 define BROKEN_SWAP and/or cpu_swapout as appropriate. 1995-05-05 03:41:51 +00:00
mellon 3ff601e7a1 Don't conditionalize utility routines based on DEBUG flag 1995-05-05 02:45:31 +00:00
jonathan 03c9dc7a48 Fix long-standing bug in NetBSD/pmax interrupt initalization on
Turbochannel machines with an IOASIC.

After an interrupt is taken, the IOASIC interrupt enable mask is
and'ed with the kernel's interrupt-mask variable.  This masks
off any interrupts that were enabled after the hardware interrupt-enable
mask was set. Due to this bug all iynterrupts must be enabled before
the first interrupt is taken. (Interrupts enabled later aren't on in the
ioasic intr-mask  register, so they aren't on in (sirm & kernelmask),
which is what used to get written back to the ioasic interrupt-mask
register.  	Fixed, and tested on  on 3MAX+ but not xine/3min.

If this patch perchance breaks on Xines or 3mins, the old code can be
re-enabled by changing the #if 0 in machdep.c to #if 1.
1995-05-04 19:48:41 +00:00
mellon c6a24163a3 Use Alpha cdefs.h 1995-05-03 06:04:54 +00:00
jonathan 64b99b333d The pmax 3100 interrupt-init code is broken: cpu_startup() enables
interrupts before it calls configure().  On 3100s, this can result in
the ethernet interface interrupting before leprobe() is ever called.
Be a bit more defensive in leintr(), where it was dereferencing a null
pointer.  This reputedly fixes the oft-reported problems of 3100s not
ooting unless they're on an idle net or had a hard reset done before boot.
(Reworking the config code completely would be nice too.)
1995-05-02 20:00:09 +00:00
jonathan be2c7f3d13 If we panic inside trap(), Do a stack traceback before printing the trap log.
Also change the stack-traceback code to avoid having multiple returns
(and thus multiple stack pops) because with gcc -O2 that breaks the
heuristic that a "jr ra" preceding the PC precedes code to push the
current stack frame.  Which breaks stacktrace() before it even
traces past itself :-(.  Use a goto instead.
1995-05-02 19:51:52 +00:00
mellon edab8dc1d9 Oops, took out a bit too much 1995-05-01 17:35:45 +00:00
mellon 7bada980a5 Oops. Undo some console code checkins that didn't belong. 1995-05-01 17:22:20 +00:00
cgd 4d059559f7 resurrect, and move files.pmax.newconf to new location. 1995-04-30 10:11:00 +00:00
jonathan fb9f07db36 Update MIPS stack backtrace code to trace through locore functions,
traps, and interrupts  The earlier (4.4bsd) code didn't do the first two, and
got the last one wrong.  Also print some functions (e.g., trap handlers)
by name.  Add hook to use something other than printf() as the output
function, e.g,. for kernel debugging.
Tested with the `native' toolset, but not ELF format kernels.
(i.e., unwinding the $GP register is not tested.)

The stack backtrace code that interprets and unwinds stackframes is still
opaque and stylistically awkward.
1995-04-29 21:10:31 +00:00
jonathan f54398dae4 Add prototype (new-style) config for pmax. This doesn't yet work;
auto-configuration initialization code is missing. It uses "needs-count"
flags to come slightly close to what the old-style pmax source expects.
Perhaps autoconfig code can be lifted from the alpha port or volunteers
found to write some.
1995-04-28 23:34:39 +00:00
jonathan b2c7420e5a Fix performance bug in pmax MachFlushDCache(). Old code disabled icache
and wasn't unrolled. This code runs cached and unrolled, giving an order
of magnitude improvement in some cases (e.g., DMA-capable network devices).
In use at Stanford DSG since late January 1995.
1995-04-28 23:17:51 +00:00
jonathan 026a077a5d Check in source code actually containing changes in previous log message--
fixes to turbochannel-based DECstation interrupt enabling.
(I hate network firewalls that break rsh and remote CVS.)
1995-04-28 22:50:29 +00:00
jonathan 523e8bccbc Fix hardware interrupt-mask setup in the 5k/240 (3max)+ interrupt handler.
(A similar fix needs to be applied to the 3min and xine handlers.
This fixes a long-standing problem when booting with a card that
wants to interrupt (e.g., a network interface) would have interrupts
enabled before a handler was set up.

Add interrupt-counting code to model-independent interrupt handler,
and 3max (5k/200) and 3max+ (5k/240) md handlers, for vmstat -i.
Similar changes for 3min and xine are obvious but not done.

Add  code for 5k/240 to read, and latch, the current value of the
IOASIC bus-cycle counter at each timer interrupt.  The latched
counter is needed to accurately interpolate the bus-cycle counter value
as a high-resolution clock.
1995-04-28 21:48:11 +00:00
cgd 0e59975fac rename files files for new config/config.old naming 1995-04-28 08:19:12 +00:00
jonathan 07992ead4b Add memory-mapped address of the IO ASIC TurboChannel bus-cycle counter,
as present on 5k/2xx and Alpha IOASICs. Older machines may or may not
have the hardware counter. To be used as a high-resolution DECstation clock.
1995-04-28 04:44:21 +00:00
jonathan ef8023a47b Check in changes suggested by Ralph Campbell: update variable names
to use turbochannel slot numbers, add a couple of extra slots, just
in case.
1995-04-28 03:10:41 +00:00
mellon 59f33bea48 Add sfb device driver 1995-04-27 20:52:39 +00:00
mellon 1992309f8b Fix a few compat code casualties 1995-04-25 19:16:43 +00:00
mellon 3eca8117f7 Fix up args to scdebug_{call,ret} 1995-04-25 05:30:14 +00:00
christos de42a28a1b - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
1995-04-22 20:24:40 +00:00
mellon 71d223dc04 Add dummy fb device driver reference for compatibility with conf.c changes 1995-04-21 23:58:36 +00:00
mellon acc8d94430 Oops, still need to set waittime... 1995-04-21 23:04:32 +00:00
mellon 88603eca8f Use vfs_shutdown to sync disks... 1995-04-21 22:16:01 +00:00
mellon 92509d125f Add support for clean flag 1995-04-21 20:54:04 +00:00
mellon 6a233c363c Fix up tty struct change from conf.h 1995-04-21 01:24:26 +00:00
mellon 07a0117e2a Fix up tty struct changes 1995-04-21 01:21:06 +00:00
mellon 8da89a0fc3 Fix leioctl declaration mismatch 1995-04-19 18:06:03 +00:00
mycroft 7945dde65c leinit() returns void. Prototype more functions. Garbage collect some things
in leattach().
1995-04-19 16:23:11 +00:00
cgd 3ff27e09e2 fixes (mostly) from Jonathan Stone, to make this driver match the
state of the world as expected by the networking headers/mi code.
i changed one or two things in his patch slightly (do the lestart()
proto the right way, actually delete the if_output assignment line).
1995-04-19 06:56:21 +00:00
mellon db8fd32d53 Add cpu_exec.c, rcons.c 1995-04-12 20:08:40 +00:00
mellon a3c29d62df Use _KERNEL, not KERNEL 1995-04-12 01:55:35 +00:00
mellon 30bad269b8 Fix bogus declaration for mm and chrtoblktbl 1995-04-12 00:01:01 +00:00
jtc 32a6db8a76 Mips specific portions of ieeefp.h (fp_rnd, fp_except, constants, etc.). 1995-04-11 18:20:46 +00:00
jtc 600a989fb6 Changed FLT_ROUNDS from constant to a call to __flt_rounds(), so that the
current rounding mode is accurately reported.
1995-04-11 18:18:35 +00:00
mellon 7baeefcfb5 Make TOCCATA support the new console regime 1995-04-11 10:52:33 +00:00
mellon ef6295229a Raster Console pseudo-device driver 1995-04-11 10:23:32 +00:00
mellon 4b8e4e1a20 Smart Framebuffer driver 1995-04-11 10:21:51 +00:00
mellon 10ed38a4df Add rcons pseudo-device 1995-04-11 10:14:52 +00:00
mellon 94f146ad0f Console initialization code 1995-04-11 10:08:42 +00:00
mycroft fecbe784d6 Oops; finish that last change. 1995-04-10 12:45:53 +00:00
mycroft 22cefc03bc Bring back pmap_kernel(), for now always inlined as a pointer to
kernel_pmap_store.
1995-04-10 12:41:29 +00:00
mycroft 127e0761c9 Add mmopen(), mmclose(), and mmmmap() where appropriate. Lock vmmap when
needed.  Make types consistent.
1995-04-10 11:54:47 +00:00
mycroft 9da61beca9 map --> mmap 1995-04-10 07:31:22 +00:00
mycroft 7ccad2faec Update for conf.h. 1995-04-10 07:29:42 +00:00
mycroft 9e5184dfec Add dummy cnstop(), more return types. 1995-04-10 07:14:33 +00:00
mellon 404e6bc5c9 Put endif COMPAT_09 inside function definition 1995-04-10 04:47:47 +00:00
mellon 23023327a2 Move cpu-specific exec support to cpu_exec.c; Support 4.4BSD a.out 1995-04-03 04:38:04 +00:00
jtc 8ba211cde0 Added #define _KERNEL 1995-03-28 18:37:27 +00:00
jtc 71ab4ed9dc KERNEL -> _KERNEL 1995-03-28 18:13:48 +00:00
cgd fa2133533d invoke ktrsyscall with (vp, code, argsize, args) as args. 1995-03-26 08:03:29 +00:00
jtc f86410093b Changed name of __weak_reference() to __indr_reference(). They really
are indirect references, and I want to add a real __weak_reference()
macro to <machine/cdefs.h> soon.
1995-03-23 19:58:48 +00:00
jtc d57fb977bb Added -D_KERNEL to CFLAGS alongside each -DKERNEL. 1995-03-23 19:46:18 +00:00
cgd b8403d582b don't be so quick to cast macro arguments to unsigned; if the
arguments are really off_t's (e.g. to btodb), then you can lose
information.  This was the "> 4G file systems don't work" bug; physio
uses btodb, which was broken.
1995-03-18 07:22:43 +00:00
mycroft 2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +00:00
mycroft 4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
mellon 2368e7c469 Added DECwrl networking TC options 1995-02-01 04:53:13 +00:00
mellon ca69d7e138 Add Jonathan's T3 device driver... 1995-02-01 04:49:40 +00:00
mellon d1d5ee421f Fix up callv references 1995-02-01 04:43:52 +00:00
jtc 830a53e394 ANSI says that <stdarg.h>'s va_end macro must expand to a void expression.
For consistancy, I'm changing <varargs.h> too.
1995-01-28 01:51:46 +00:00
cgd 2ef4ca1f3d vn -> vnd renaming, for consistency 1995-01-25 04:48:07 +00:00
mellon f3933f8a6a Undo argument change to cnopen 1995-01-23 18:39:30 +00:00
jtc 9540190d45 This file, which will be included by <sys/cdefs.h>, will contain macros
such as __warn_references() and __weak_reference() which are actually
machine dependant.  This will make it easier for ports that are being
bootstraped with ELF and ECOFF based toolchains.

This change also introduces a new macro, _C_LABEL(x).  _C_LABEL expands
its argument, an identifier, to a character string of the identifier
name as it is represented in an object file.

For most ports, _C_LABEL(x) will expand to "_x", for ELF based ports
_C_LABEL(x) will expand to "x".
1995-01-19 01:38:36 +00:00
mellon ca985c53b6 Many changes from Jonathan Stone and a few from me to make small boot blocks and handle NetBSD a.out 1995-01-18 06:53:36 +00:00
mellon 8f24f1259a Write out new-style core files 1995-01-18 06:52:46 +00:00
mellon 9e9d8e5a78 Ultrix pcb_regs compatibility, reorder interrupt handlers (probably futile), use new callv naming 1995-01-18 06:51:46 +00:00
mellon 07fcdf4578 Add partial sfb support, ELF and 4.4BSD a.out support, Ultrix-compatible pcb_regs, fix sigcontext, probably more 1995-01-18 06:49:12 +00:00
mellon 13301513c1 Add conditional gp support; add interrupt disable before setting or clearing soft ints 1995-01-18 06:45:29 +00:00
mellon 2c8e2a0818 Update clock initialization/updating for interoperability with Ultrix (still some problems with this, though 1995-01-18 06:43:47 +00:00
mellon 834d6abd93 Add definition for tc_enable_interrupt for future reference 1995-01-18 06:42:56 +00:00
mellon 4e0b8e9b63 break mullo and mulhi out of gp regs in sigcontext 1995-01-18 06:42:01 +00:00
mellon 14f5639dca Make register definitions compatible with Ultrix 1995-01-18 06:40:12 +00:00
mellon 09f6d5d141 Make pcb_regs structure compatible with Ultrix 1995-01-18 06:39:43 +00:00
mellon faf867c2b2 Support for alternate compilers and file formats 1995-01-18 06:38:57 +00:00
mellon b9a71d25d2 Add NUMBOOT for benefit of disklabel program 1995-01-18 06:37:55 +00:00
mellon 714099f07a Add arch/pmax/pmax/elf.c as a standard file 1995-01-18 06:37:01 +00:00
mellon 6919eac432 Make it easier to use different compilers (we hope) 1995-01-18 06:36:13 +00:00
mycroft 40073dc687 Clean up deleted files. 1995-01-18 06:19:31 +00:00
mellon c19690fb69 Start code for boot loader (under new name with some changes) 1995-01-18 06:19:01 +00:00
mellon 2dd8487ae4 Support for loading ELF on NetBSD/pmax - to be combined with elf loader under sys/compat later 1995-01-18 06:16:33 +00:00
mellon 3a011804a6 ELF format (to be combined with elf header in sys/compat later) 1995-01-18 06:15:38 +00:00
mellon 20a4f723d7 4.4BSD binary format 1995-01-18 06:14:58 +00:00
mellon 355685bb12 Configuration for a MAXine 1995-01-18 06:14:27 +00:00
jtc d7a8b2964f Only define sig_atomic_t when _ANSI_SOURCE is defined. 1995-01-10 19:01:00 +00:00
hpeyerl 45a2b7262c Change majour for rz to 21. (From Jonathan Stone) 1995-01-03 22:42:03 +00:00
hpeyerl f2c558b59b microtime() returns void. 1995-01-03 22:37:41 +00:00