Commit Graph

541 Commits

Author SHA1 Message Date
cgd
c8fbe2de87 PSL_IPL_HIGH -> ALPHA_PSL_IPL_HIGH 1996-08-21 15:53:26 +00:00
cgd
a6ff68785e add cached dirbase PFN, protos for pmap_{,de}activate() 1996-08-20 23:02:59 +00:00
cgd
0a50735abb OLD_PMAP -> NEW_PMAP 1996-08-20 23:02:30 +00:00
cgd
8bc62db31e K0SEG_END is inclusive 1996-08-20 23:02:17 +00:00
cgd
ce626bee48 rename translation buffer invalidation macros to start with ALPHA_,
like all other macros defined in alpha_cpu.h.
1996-07-14 20:00:15 +00:00
cgd
3a2af0734c (1) Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
(2)     Minor cleanup.
1996-07-14 04:15:27 +00:00
cgd
5beb1a522c (1) Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:15:10 +00:00
cgd
5a367fefb1 (1) Clean up interrupt handling slightly.
(2)     Clean up badaddr() definition.
1996-07-14 04:12:59 +00:00
cgd
deb9f8f4b6 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Restructure and improve machine check and correctable error
handling based on information in the 2nd Ed. of the Alpha Architecture
Reference Manual.
(3)     Removed unused (and not likely useful) PALcode assembly stubs.
1996-07-14 04:12:46 +00:00
cgd
43dae279eb (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
1996-07-14 04:12:03 +00:00
cgd
105697388d Instead of treating the trap/syscall/exception frame like a struct
containing a substruct (the hardware frame) and an array of registers,
treat it like one big array of registers, for easier and prettier
access.  Update everything to deal with that.
1996-07-11 05:31:16 +00:00
cgd
4d024971bf update to use new definitions in alpha_cpu.h 1996-07-11 03:46:00 +00:00
cgd
436a892738 Add definitions for:
Process Control Block
	Interrupt/Exception/Syscall Stack Frame
	Machine Check Error Summary Register
	Machine Check Logout Area
clean up some, and add prototypes for all of the CPU instruction and
PALcode function stubs.
1996-07-11 03:44:50 +00:00
cgd
b119b40c59 it compiles, but DEFINITELY does not run 1996-07-10 03:17:09 +00:00
cgd
77ba495772 temporarily move new pmap code into a seperate header, so changes to
one version won't spam people compiling with the option to get the other.
1996-07-09 22:22:25 +00:00
cgd
8c87bcbe93 definitions and constants which are part of the Alpha AXP
Architecture, and which relate to the OSF/1 PALcode.
1996-07-09 00:40:58 +00:00
cgd
2ba2d62b9b redefine lots of things in terms of definitions in alpha_cpu.h 1996-07-09 00:39:24 +00:00
cgd
48f29c8bc0 this file should not exist, for now 1996-07-09 00:38:37 +00:00
cgd
c3a7b67f3d Everything which would be defined here is defined in
alpha_cpu.h, and this file is no longer necessary for the
Alpha.  However, some machine-independent code (e.g.
/sys/compat/common/kern_exit_43.c) still wants a file with
this name to be around.
1996-07-09 00:37:51 +00:00
cgd
c2cd1ae6f5 profile_swpipl() -> _alpha_pal_swpipl() 1996-07-09 00:35:05 +00:00
cgd
04294813bd various cleanup, move setsoft* and spl* into intr.h. 1996-07-09 00:33:20 +00:00
cgd
29a40482db clean up comments, add OSF/1 rdmces and wrmces PALcode function calls. 1996-07-09 00:30:22 +00:00
cgd
2eab3353db delete cruft, clean up constants 1996-07-09 00:28:25 +00:00
cgd
808bbc3d50 minor cleanups to fit into the NetBSD source tree better (e.g. remove
RCS Log messages).  Haven't even tried to compile it yet.
1996-07-02 22:51:46 +00:00
cgd
255c6be565 pull in the Mach3 alpha pmap, as a base for the new pmap module. Modified
from the mach3 versions only as much as necessary to allow the old
NetBSD/Alpha pmap code to compile.  THESE WILL NOT WORK AS-IS, and at
minimum will require code to implement reference- and modified-bit
emulation.
1996-07-02 22:42:39 +00:00
cgd
9241c534de if OLD_PMAP defined, pull in <machine/pmap.old.h> and ignore the other
contents of this file.
1996-07-02 22:22:20 +00:00
cgd
1beca2d96b add a new machine-dependent sysctl, machdep.root_device, which is the
(string) name of the root device.  It's a string so that it can
be used before dev_mkdb has been run.
1996-06-14 20:40:46 +00:00
cgd
386aeb320f clean up copyright notices 1996-06-13 18:31:49 +00:00
cgd
d97900c6f4 boot device autodetection, using PROM's boot device environment variable.
This is a bit of a hack, as-is, since there's a lot of code that's
outright duplicated between the various files and because it doesn't
support detection of a network device as the root device.  The
latter's not a problem yet, because NetBSD/Alpha can't load the kernel
from the network to begin with.
1996-06-13 04:53:47 +00:00
cgd
d714189d53 implement bus_mem_subregion() and bus_io_subregion(). 1996-06-11 21:16:21 +00:00
cgd
37ec86f0cc avoid lots of upper-case letters in interrupt names. prettier that way. 1996-06-05 03:38:02 +00:00
cgd
666c7f6fd4 interrupt counters for TurboChannel systems. 1996-06-05 00:30:48 +00:00
cgd
c6dd609e7f gross hack to get around the fact that there are currently devices with
common back-ends that live on multiple very-different busses (e.g. PCI and
TC), which need bus-specific DMA mapping support.  As a nice side effect,
this will allow the especially nasty (vtophys(va) | 0x40000000) expressions
to go away in favor of less nasty bus-specific function calls.
1996-06-03 20:18:48 +00:00
cgd
a78f16f702 moved to ../tc 1996-05-17 23:41:36 +00:00
cgd
491ab6c2ed remove redundant header, now that ECOFF_SEGMENT_ALIGNMENT macro for
<sys/exec_ecoff.h> is fixed.
1996-05-09 23:52:19 +00:00
cgd
2daf9d8f3b change structure member names to be in line with what various ECOFF
documentation I have calls them, and update for new definitions in
sys/exec_ecoff.h.  Also, fix ECOFF_SEGMENT_ALIGNMENT macro so that it
actually returns the right alignment.
1996-05-09 23:47:25 +00:00
cgd
49c46e1789 Preliminary CFB support. Does not work as machine's console (for two
reasons: it won't attach as console, and there's currently no way to do
keyboard input on TC machines), and has no real RAMDAC (colormap, cursor,
etc.) support.  Digital UNIX does not support CFB frame buffers in the
Alpha, but they appear to work OK (with an appropriate monitor) in my
3000/300.
1996-05-01 23:25:00 +00:00
cgd
b65a5bbdfc preliminary SFB support. Does not work as machine's console (for two
reasons: it won't attach as console, and there's currently no way to do
keyboard input on TC machines), and has no real RAMDAC (colormap,
cursor, etc.) support.
1996-05-01 21:15:46 +00:00
cgd
85d72d56a2 add an entry for the SFB+, and clean up entries some 1996-05-01 19:44:21 +00:00
cgd
b2ab71db24 fix definition of the "Primary Eligible" RPB PCS processor variation field. 1996-04-29 16:23:09 +00:00
cgd
58a104f26a pal_halt doesn't return; give it a noreturn attribute.
Mark assembly that uses 'mb' as clobbering memory (pthreads does, and
it can't hurt).
1996-04-23 15:24:09 +00:00
cgd
5437babf6c prom_halt doesn't return; give it a noreturn attribute 1996-04-23 15:23:18 +00:00
cgd
ff0a52ccd9 define bus_io_{read,write}_multi_{1,2,4,8} functions, which read/write
multiple values from a single I/O port in to/out of an array of values.
1996-04-18 05:47:29 +00:00
cgd
cad6c2d600 capitalize IRQ names here, to match what's reported on boot 1996-04-13 00:25:24 +00:00
cgd
576c769331 clean up copyrights and RCS IDs 1996-04-12 06:07:05 +00:00
cgd
0da2610536 this file is no longer used 1996-04-12 05:35:51 +00:00
cgd
0e6af1ab55 keyboard and frame buffer interface include files, grabbed from the
sparc with minimal modifications, to make X go.  Should really be
trimmed down to include only the relevant information.
1996-04-12 01:45:41 +00:00
cgd
b6e9f99e08 TGA reg defns, moved here from ../pci for X. doesn't really belong here 1996-04-12 01:44:23 +00:00
cgd
59ca8b07e6 header which defines 'workstation console glue' ioctls 1996-04-12 01:43:06 +00:00
cgd
0af73c4da4 alpha sysarch header. right now, only defines (inline) alpha_rpcc() 1996-04-12 01:42:45 +00:00
cgd
a37e40ef1b the Alpha implementation of <machine/intr.h> 1996-04-12 01:42:17 +00:00
cgd
84b2d703c7 the Alpha implementation of <machine/bus.h> 1996-04-12 01:39:34 +00:00
cgd
b151b7e326 these have moved elsewhere 1996-04-12 01:38:51 +00:00
cgd
0e1f086279 add XOPEN constants, clean up 1996-04-12 01:38:25 +00:00
cgd
4bdd407757 update copyright 1996-04-12 01:36:51 +00:00
cgd
f695b5badd use jmp, rather than br, in the JMP macro 1996-04-12 01:35:58 +00:00
jtc
2ce5f1478b Add _BSD_WINT_T_ definition so we can handle wint_t type added in NA1. 1996-03-16 01:31:45 +00:00
cgd
18ec26aa21 add _MACHINE and _MACHINE_ARCH, which are like MACHINE and MACHINE_ARCH,
execpt without quotes.  meant to be __CONCAT()ted for easy #includes
of machine-dependent headers for MI code (e.g. for the MI ISA/EISA/PCI/TC
bus code).
1996-03-04 05:04:10 +00:00
mycroft
88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
mycroft
cd8fe86bcb Make the type of __builtin_va_list a long. 1995-12-26 01:16:24 +00:00
mycroft
c098d54e0a Stylistic changes. 1995-12-26 00:15:47 +00:00
mycroft
ce000f04ef Remove deprecated cpu_setstack(). 1995-12-21 05:01:32 +00:00
cgd
17f70e1910 portability definitions for machine-independent TC configuration code. 1995-12-20 00:09:29 +00:00
cgd
b206d2fe18 move DELAY's functionality into delay() 1995-12-20 00:08:43 +00:00
cgd
deb4082f80 wholesale update from my NetBSD/Alpha source tree. Includes:
Support for AXPpci CPUs,
	Support for AlphaStation 600 CPUs,
	new boot block structure, which requires an 'installboot'
	    program and works a lot like the NetBSD/sparc boot blocks.
1995-11-23 02:33:17 +00:00
mycroft
c5ec5c3003 Add splsoftnet(). 1995-08-13 00:03:11 +00:00
cgd
67e0ffcf73 bump NKMEMCLUSTERS up to 4M (increase of 4x) 1995-08-03 00:51:00 +00:00
cgd
d6eba5b92f rename MB to wbflush, make it inline 1995-08-03 00:03:09 +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
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
d4a54b73d2 kill user-land DELAY macro, as suggested by gwr. 1995-06-28 02:43:36 +00:00
cgd
5cc82e159a Support for ISA programmed I/O functions. 1995-06-28 01:16:33 +00:00
cgd
ba164ee03d update for various (old) NetBSD changes 1995-06-28 01:16:13 +00:00
cgd
f36f0cf3e2 update to make current state of knowledge 1995-06-28 01:14:41 +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
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
cgd
8703076975 define BROKEN_SWAP and/or cpu_swapout as appropriate. 1995-05-05 03:41:51 +00:00
cgd
66927585fc make an __indr_references macro, that expands to nothing... 1995-05-03 00:13:55 +00:00
cgd
7cc5a0ed42 make FLT_ROUNDS call __flt_rounds, so dynamic rounding mode is grabbed. 1995-04-29 05:45:44 +00:00
cgd
18d9d7e5ef first cut of the alpha version. 1995-04-29 01:09:17 +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
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
jtc
71ab4ed9dc KERNEL -> _KERNEL 1995-03-28 18:13:48 +00:00
cgd
804b49ae1f remove support for double-mapping the user area/kernel stack 1995-03-24 15:01:31 +00:00
cgd
f2682e8576 fill in sysnames for the 300 family 1995-03-24 15:00:51 +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
cgd
dd5a5290f2 update from my local tree; better CPU configuration, support for 3000/300. 1995-03-08 00:38:44 +00:00
cgd
d5300f2692 update for NetBSD's header standards, kill OSF/1 cc hacks. 1995-02-16 03:08:04 +00:00
cgd
85854cb4ad preliminary Alpha support. note that NOT ALL OF THE MODIFICATIONS TO
THE REST OF THE KERNEL ARE IN THE TREE YET.  Also, some of this is
_incredibly_ hack-ish, etc., but it works.
1995-02-13 23:06:39 +00:00