Commit Graph

265 Commits

Author SHA1 Message Date
cgd 8f5cf31b8a clean up the recent reimplementation, and kill several bogons in the new
definitions.
1996-10-22 21:23:49 +00:00
cgd 48dc9aaae4 update alpha bus.h for new bus space interfaces. chipsets haven't
been updated yet, and the hacked DMA vto(busphys) macro is gone and
hasn't yet been replaced.
1996-10-22 18:06:54 +00:00
cgd 8f799be896 add a WEAK_ALIAS macro if building on an ELF-capable system, which creates
a weak alias for a symbol.
1996-10-17 18:33:53 +00:00
cgd 905f7abae1 Add __CONCAT and ___CONCAT to concatenate identifiers. Add LLABEL to
create an assembly label, and SYSCALLNUM to convert a syscall name into
the macro that's defined to be its number.  Add a CALLSYS_NOERROR macro
which invokes the named system call.  (CALLSYS_NOERROR is here since
it's used in locore, for sigcode.)
1996-10-17 02:49:04 +00:00
cgd 9da2b9743a define and call a new function, hwrbp_restart_setup(). It's called after
autoconfiguration to clear the RPB's per-cpu-slot BIP flag and to set up the
RPB's restart function pointers, etc.
1996-10-15 23:52:49 +00:00
cgd 01565a3ced typedef, not typeded 1996-10-13 19:57:59 +00:00
christos 7d1960f502 backout previous kprintf change 1996-10-13 02:59:38 +00:00
christos b078069824 in_addr_t and in_port_t changes 1996-10-13 02:55:48 +00:00
cgd b2f63215fc don't forget to switch back to the .text after emitting warning
strings in their own sections.
1996-10-12 18:08:12 +00:00
christos a60beecedb printf -> kprintf, sprintf -> ksprintf 1996-10-10 23:44:49 +00:00
cgd c11d591cfe add support for ELF toolchain, including weak alias support (for upcoming
libc changes) and reference warnings.
1996-10-09 22:41:54 +00:00
cgd 6d0af59ad0 change __va_list's "offset" field to be a 'int' to match what gcc now
uses, plus add a compatibility hack so that code compiled with old
versions of gcc (e.g. libraries) can work with code compiled with
new versions.
1996-10-09 21:13:04 +00:00
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
cgd d557a6a159 change md_coredump struct to actually reflect the machine-dependent stuff
that's dumped.  use it, rather than a hack, to export the info to user-land
(gdb).
1996-10-07 23:57:21 +00:00
cgd c488b75b83 kill misnamed __indr_references() macro, that would have broken things
if it _had_ been properly named.
1996-10-04 19:30:04 +00:00
cgd 4588414318 move kvtol1pte outside of _KERNEL 1996-10-01 20:21:05 +00:00
cgd 0b1ff14ff3 first cut at alpha machdep kernel coredump header 1996-10-01 18:38:05 +00:00
cgd acaf5ffad5 kill __BDEVSW_DUMP_OLD_TYPE 1996-10-01 14:26:18 +00:00
cgd db9418238e add support for the prom 'write' operation. 1996-09-26 22:51:53 +00:00
cgd 64f4e1937e rename <machine/ecoff.h> to <machine/ecoff_machdep.h> for clarity and
consistency with the way machdep headers for other things are done.
(the creation of the ecoff_machdep.h files was done on the CVS server, to
keep the RCS logs intact.)
1996-09-26 22:39:14 +00:00
cgd 0e097578a2 add and use a machine-dependent header, which currently defines some
macros to use to remove #ifdefs from the machine ID case check.
Eventually, these headers will contain other information, e.g.
machine-dependent relocation information, etc.
1996-09-26 21:50:55 +00:00
cgd 5645b6ef46 simplify profiling entry. add 'label' argument tp PANIC, PRINTF, and MSG,
which is the label that the message string should be stored with.
1996-09-15 22:42:29 +00:00
cgd e025186655 save and restore registers symmetrically. don't forget to restore PV (t12). 1996-09-15 22:33:28 +00:00
cgd b9a7acad48 define a new frame buffer type code for the TGA2 1996-08-23 00:50:25 +00:00
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