Commit Graph

341 Commits

Author SHA1 Message Date
jonathan cd887a9930 Add "kvtophys()", which maps MIPS R2000 kernel-virtual addresses to physical addresses,
so they can (e.g.) be written to DMA mapping registers.
1995-09-25 20:36:23 +00:00
jonathan d1234038d4 Rename the force-all-pending-writes to memory function to wbflush().
Keep the old Mach-derived name "MachEmptyWriteBuffer()" as an alternate
entry point.
1995-09-21 23:28:31 +00:00
jonathan 0641f09bfb Include <sys/mount.h>, as the new <sys/syscallargs.h> won't compile without it. 1995-09-20 23:33:25 +00:00
thorpej 7d7396c414 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:53:47 +00:00
jonathan 9a914b5b01 Rename the Decstation 2100/3100 interrupt functions from "pmax_<func>"
to "kn01_<func>", to avoid confounding a model name (PMAX) with the name of the
entire port (pmax).


Change the signature of interrupt-handlers to take a void *
(a pointer to the softc) and return an int (indicating spurious
interrupts or other conditions.)

Pass softc pointers to the scsi and ethernet kn01 (DS_PMAX)  drivers,
rather than having unit numbers wired into the base-level interrupt
handler.
1995-09-11 22:03:00 +00:00
mycroft fa13d32c41 Add splsoftnet(). 1995-08-13 00:16:08 +00:00
jonathan 6a99440efd Add prototypes for most functions. Fix typo where statements
intended to increment interrupt counters for vmstat -i (i.e., "ctr++")
on 3100s had just a single "+", and hence had no effect.
1995-08-01 06:58:57 +00:00
jonathan 4525afdaeb Add diagnostics for 5k/240 turbochannel interrupts, and clean up IOASIC clock
declarations.
1995-07-23 20:21:17 +00:00
cgd 479fb9e45b add <sys/cdefs.h> inclusions. namsspace-protect physadr, label_t
def'ns against _POSIX_SOURCE and _ANSI_SOURCE.
1995-07-06 03:39:32 +00:00
paulus 08b7596c51 Add code to interrupt to call pppintr. 1995-07-04 12:22:21 +00:00
cgd c83f9c5568 remove unused cpu_exec() definitions. moved "broken swap" markers, for
ports that still need it, to types.h.
1995-06-28 02:55:18 +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
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 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
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
mellon c6a24163a3 Use Alpha cdefs.h 1995-05-03 06:04:54 +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
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 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
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 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 a3c29d62df Use _KERNEL, not KERNEL 1995-04-12 01:55:35 +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
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
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
mycroft 2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +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
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 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 13301513c1 Add conditional gp support; add interrupt disable before setting or clearing soft ints 1995-01-18 06:45:29 +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 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
jtc d7a8b2964f Only define sig_atomic_t when _ANSI_SOURCE is defined. 1995-01-10 19:01:00 +00:00
cgd e5049f4d59 make the definition of _JBLEN mach. dep. header-dependent. 1994-12-20 10:36:27 +00:00
mycroft a42208fd05 More underscores... 1994-12-15 17:48:39 +00:00
mycroft 487dab2ff9 Make a new macro _C_LABEL(), which prepends an underscore to the argument unless
NO_UNDERSCORES is defined.  Use it in the *LEAF() and END() macros.
1994-12-15 15:26:26 +00:00
mycroft db904fa0d4 Remove underscores from uses of *LEAF() and END(). Use _C_LABEL() in explicit
symbol references.
1994-12-15 15:18:29 +00:00
dean e5d5a6cf17 thread_wakeup wants (void *) not (int) 1994-11-23 20:46:20 +00:00
dean 342f9cd185 more underscore changes (from J. Stone) 1994-11-23 17:47:53 +00:00
dean e7558eafd1 put #ifdef KERNEL around CLK_TCK define 1994-11-15 19:00:49 +00:00
dean 705ee976cf Prepended underscores 1994-11-14 23:48:58 +00:00
dean add2031dcf Prepended underscores 1994-11-14 23:33:46 +00:00
cgd a63beafc2b new RCS ID format. 1994-10-26 21:08:38 +00:00
cgd 70d91988ab update for new syscall args description mechanism 1994-10-20 05:34:04 +00:00
cgd f501e4e128 make <stdarg.h> a symlink, and clean up ports' stdarg.h and varargs.h files. 1994-10-15 04:57:29 +00:00
jtc badcc17a6d Add constants required by XPG3 1994-10-05 17:16:29 +00:00
cgd cefdccbf31 changes for the new sys_process.c, and some cleanup 1994-08-15 16:37:04 +00:00
cgd 3fbc338a62 define __BIT_TYPES_DEFINED__ for compatibility with things like BIND and nvi 1994-07-20 05:44:19 +00:00
deraadt 50b13742e4 _MACHINE_VARGS_H_ 1994-06-29 00:45:01 +00:00
glass f6143cedc0 assembler problem 1994-06-25 07:05:12 +00:00
glass eff56c22fa much works but untested w/new fs. expect more tomorrow 1994-06-15 05:18:38 +00:00
glass 5e54277664 fix a few integration bugs, add vmfault debugging, more ultrix stuff 1994-06-02 06:14:56 +00:00
glass 8f22e98c12 VM_MIN_ADDR -> 0 1994-06-01 18:51:16 +00:00
glass af77c1caf2 more likely to work now, probably less knf...thats the next project 1994-05-28 20:21:30 +00:00
glass 6b63c739f3 bsd 4.4-lite pmax port as ported to NetBSD 1994-05-27 08:57:32 +00:00
glass 814f4529f3 upgrade to bsd 4.4-lite code base. only mod is rcsids 1994-05-27 08:40:50 +00:00
glass 377b097932 upgrade to bsd 4.4-lite code base. only mod is rcsids 1994-05-27 08:39:00 +00:00
cgd d64461d7d3 add basic integral types (a la sparc port) that new nvi wants.
mark old 'basic integral types' as XXX -- they should be squished
when whoever gets this port working.
1994-03-14 02:12:06 +00:00
deraadt b2c0b0a0c8 add a pmap_kernel() function 1994-01-16 00:58:07 +00:00
deraadt 6db422de7f cpu_exit returns void 1994-01-16 00:53:44 +00:00
deraadt 7c98e17fdb add sysarch() stub 1994-01-16 00:52:47 +00:00
deraadt 405bf3d48d use SYS_syscall instead of SYS_indir
and turn off the 64 bit syscall interface
1994-01-16 00:49:47 +00:00
deraadt 376a5f4108 pullin vm_statistics.h 1994-01-16 00:42:16 +00:00
deraadt aa7ced4bd5 intrframe -> clockframe 1994-01-15 18:46:00 +00:00
deraadt 9fd56d82c3 some pmax updating (Terry Friedrichsen is helping on this now). 1994-01-14 04:53:37 +00:00
deraadt 56cc97cb80 update from rick, tarfile of Oct 11 10:46 1993-10-15 02:56:33 +00:00
deraadt fe806afec2 pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca> 1993-10-12 03:22:19 +00:00