Commit Graph

491 Commits

Author SHA1 Message Date
cgd 17264a54f2 s/k0segtophys/ALPHA_K0SEG_TO_PHYS/ 1996-09-15 17:16:24 +00:00
cgd 3af6ed0256 pollin', pollin', pollin', make them drivers pollin'... (support poll()). 1996-09-15 17:15:26 +00:00
cgd 0b77b04b6e set a0 to be the initial sp, and set pv to be program entry point. 1996-09-10 19:13:42 +00:00
mycroft b3ffba62a6 Move strip(1) flags into a separate variable, so that $STRIP can
be passed to subordinate make(1)s.  Remove $TOUCH.  Add HOSTED_CC,
HOSTED_CPPFLAGS, and HOSTED_CFLAGS, and use them when depending genassym.
1996-09-09 21:06:55 +00:00
cgd 7ba205c37e Sync the 53c94 SCSI driver with the sparc version. Update the DMA code to
match the interfaces required by the driver.
1996-09-09 18:10:35 +00:00
cgd 2b118fc59b add entries for rd (cdev + bdev), ss (cdev), and uk (cdev). 1996-09-09 16:38:52 +00:00
cgd 65538ec48d add specs for 'rd' 1996-09-09 16:31:36 +00:00
mycroft e6dd44f034 Use SIGBUS iff we get a legitimate bus fault. Use SIGSEGV for page protection
violations (per Solaris, SVR4, AIX, Linux, Irix, and SunOS).
1996-09-07 22:26:41 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
cgd e6e14683fe note that the AlphaStation 500 works (with the same caveats as the
AlphaStation 600).
1996-09-06 04:01:37 +00:00
mycroft fc3def4096 Remove duplicate declarations of LKM functions and macros. 1996-09-05 15:46:22 +00:00
mycroft b3eac79b64 tty stop functions really should return void, not int, and certainly not both. 1996-09-02 06:43:16 +00:00
mycroft 30a617c634 Wrap the default definition of `S' in `.ifndef'. 1996-08-31 21:40:47 +00:00
cgd 71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
cgd 2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
cgd 2c47809239 include <sys/systm.h> for printf prototype 1996-08-27 16:28:08 +00:00
cgd b9a7acad48 define a new frame buffer type code for the TGA2 1996-08-23 00:50:25 +00:00
cgd 2d7e005418 add COMPAT_12 to all configs 1996-08-21 16:25:05 +00:00
cgd 78b0ddd68b wrap a debugging printf in NEW_PMAP 1996-08-21 15:54:18 +00:00
cgd c8fbe2de87 PSL_IPL_HIGH -> ALPHA_PSL_IPL_HIGH 1996-08-21 15:53:26 +00:00
cgd 137c61ba70 OLD_PMAP -> NEW_PMAP 1996-08-20 23:18:44 +00:00
cgd 04bac6838f OLD_PMAP -> NEW_PMAP. also, fix bug where i wasn't disabling
all reporting of correctable errors on startup, but rather was
just clearing all outstanding correctable errors.
1996-08-20 23:16:27 +00:00
cgd 645fb5dd99 lots of debugging printf flags, serious clean, add pmap_{,de}activate() 1996-08-20 23:08:08 +00:00
cgd 00c4aefc1a add a bunch of printfs for NEW_PMAP 1996-08-20 23:05:10 +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 488b657b68 OLD_PMAP -> NEW_PMAP 1996-08-20 23:00:24 +00:00
cgd e59fad87f5 OLD_PMAP -> NEW_PMAP 1996-08-20 22:38:26 +00:00
cgd e4ff992e15 allow dots in names (but not at start of names), so that
GENERIC.PROF gets built.
1996-08-20 22:28:37 +00:00
cgd 33d6183e0f kill OLD_PMAP, since it now takes 'NEW_PMAP' to get the new pmap code. 1996-08-20 22:25:16 +00:00
cgd 68f23ebb4d kill 'microcode' Makefile.inc include, define CWARNFLAGS with ?=. 1996-08-20 22:23:01 +00:00
cgd 8bdeec7c79 switch 'old_pmap' option to 'new_pmap', since getting the new pmap code
is going to take a while...
1996-08-20 22:20:07 +00:00
cgd eb9c65ce77 add a version of GENERIC which is always compiled with
profiling enabled.  (named the same as what GENERIC kernel
would be named if configured with config -p, which would end up
generating the same kernel as this.)
1996-08-19 04:53:24 +00:00
cgd 15f9c59baf check in the code used to build the kernel that Andrew Gallatin used to
figure out the correct IRQ for the ethernet on the AlphaStation 500.
That code is enabled via KN20AA_BOGUS_IRQ_FROB (but hopefully won't be
needed any time soon, and won't link w/o slight changes to other code).
Basically, when establishing an interrupt that we don't know what to
do with, prompt the user for what interrupt line to enable.  If you
get stray interrupts when you try to use the device (but not before),
then you've got the right line.
1996-08-19 04:28:25 +00:00
cgd 3c7eaa04e2 fix typo in comment 1996-08-19 04:19:01 +00:00
cgd b4bfcf063f 21040 ethernet chip on AlphaStation 500 lives in slot 6 (a slot not
found on the AlphaStation 600), and interrupts on interrupt line 13.
Thanks to Andrew Gallatin for booting a test kernel 32 times (trying
each interrupt line, looking for the right one) to find this.
1996-08-19 04:14:58 +00:00
cgd e295ad51df clean up stray interrupt handling a bit. 1996-08-15 22:17:44 +00:00
cgd b3703a8fcd oops; fix bogon in last. 1996-08-14 05:47:39 +00:00
cgd 1f675e847d say 'stray kn20aa irq' rather than 'stray PCI irq'; former is more correct. 1996-08-14 05:45:52 +00:00
cgd a96b24415d fix inadvertent reordering of switch which cases by slot number but
is ordered by interrupt number.
1996-08-14 05:44:31 +00:00
mycroft 558d72128e Put into . Remove hooks for `config-dependent' and
`device-driver' flags.
1996-08-12 00:51:24 +00:00
mycroft cf67f29afe * Add a HOSTED_C_C variable, which strips `-p', `-pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.
1996-08-10 06:07:57 +00:00
mycroft f94052ed3a * Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.
1996-08-10 05:29:24 +00:00
mrg 5abbf990f3 Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models.  It is currently silently ignored on all other
hardware now, however.  The MD function "boot()" has been changed to
also take a char *.
1996-08-09 10:30:23 +00:00
cgd 440a942944 fix bogus returns from dec_kn20aa_intr_map(), and slightly simplify interrupt
mapping code.  (instead of using a "slot" and multiplying by 4 and adding the
pin number later to get the IRQ, just use base IRQ value and add the pin
number.)
1996-08-07 04:33:21 +00:00
cgd efec732f4d fix a typo, add a function kn20aa_disable_intr() to disable a given
kn20aa interrupt line.
1996-08-07 04:22:40 +00:00
cgd 2549add59e rework bootstrap/startup process to match the BSD pmap startup model.
start adding back in tracing printfs.  add support for the virtual page
table.  Now it gets to user-land code, but fails because i've not
added support to the context switch code to activate and deactivate pmaps.
1996-07-16 04:51:16 +00:00
cgd 6713334e56 if !OLD_PMAP set up proc0 pcb asn and ptbr before return to assembly. 1996-07-16 04:42:49 +00:00
cgd f385991329 do TBIA rather than TBIAP after initial context switch 1996-07-16 04:40:32 +00:00
cgd 892dd0455b add FIX_UNALIGNED_VAX_FP. It wastes space, but hey, this kernel includes
netweird...
1996-07-15 08:32:30 +00:00
cgd c087540e8c actually implement code to handle unaligned VAX FP reg loads and stores.
Not tested yet, but also not compiled into the standard kernel.
1996-07-15 08:28:09 +00:00
cgd 14c123b28d include all PCI drivers that actually compile, clean up list, alphabetize,
and add descriptions.
1996-07-14 21:14:46 +00:00
cgd 6be650149e include 'microcode' dependencies, in case the aic7xxx driver is ever made
to work on 64-bit systems or in case other drivers need it eventually.
1996-07-14 20:20:10 +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 c62727acea print the label for the opcode in unaligned access printf as "op" not "type" 1996-07-14 04:36:21 +00:00
cgd 0fb84b3c3f (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)     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:22:12 +00:00
cgd 6cb84cdd13 (1) Removed unused (and not likely useful) PALcode assembly stubs.
(2)     Minor cleanup.
1996-07-14 04:21:53 +00:00
cgd b431daf1d1 (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)     Add a boot flag ('H' and 'h') to make sure the kernel never
reboots after panic.  Useful for debugging kernels which panic early
on after user processes have started, to fend off infinite reboot cycles.
Sort boot flag switch.
(3)     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:21:33 +00:00
cgd 2db316d75f (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)     Clean up interrupt handling slightly.
(3)     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.)
(4)     Minor cleanup.
1996-07-14 04:21:09 +00:00
cgd 775cca7853 (1) Restructure and improve machine check and correctable error
handling based on information in the 2nd Ed. of the Alpha Architecture
Reference Manual.
(2)     Clean up interrupt handling slightly.
(3)     Clean up badaddr().
1996-07-14 04:20:40 +00:00
cgd 43588a48d5 (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)     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.)
1996-07-14 04:20:22 +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 f72a611ccc (1) Clean up interrupt handling slightly.
(2)     Include more headers to bring necessary prototypes into scope.
1996-07-14 04:08:56 +00:00
cgd 644f74f9f2 (1) Clean up interrupt handling slightly. 1996-07-14 04:08:41 +00:00
cgd c915721a81 (1) Include more headers to bring necessary prototypes into scope. 1996-07-14 04:08:21 +00:00
cgd 9905bce8a5 (1) Clean up interrupt handling slightly. 1996-07-14 04:06:27 +00:00
cgd 38a0da40ee allow people to use the (slower) MI in_cksum.c vi 'options GENERIC_IN_CKSUM' 1996-07-14 03:46:05 +00:00
cgd 45ca1fa22f rename rei() to exception_return(). rename proc_trampoline() to
switch_trampoline().
1996-07-11 23:02:19 +00:00
cgd 15fbec10d4 rename rei() to exception_return(). rename proc_trampoline() to
switch_trampoline(). clean up trap/exception/syscall entries and
eliminate common code where appropriate.  clean up bootstrapping
code.
1996-07-11 23:01:09 +00:00
cgd 9310a8c8aa don't save and set the USP at every trap entry and exit. It's
unnecessary, and given that there's no reason to waste time and
add complexity in trap handlers.  This means that code which sets and
uses the USP has to be a bit more careful, but that doesn't happen much.
1996-07-11 20:14:17 +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 3e323f7a08 update for new alpha_cpu.h definitions, -Wall cleanups, and make
things compile with the new work-in-progress pmap code.
1996-07-11 03:53:23 +00:00
cgd 192e4b94c0 update for new alpha_cpu.h definitions. 1996-07-11 03:52:44 +00:00
cgd 9aa794a63d update for new alpha_cpu.h definitions 1996-07-11 03:52:16 +00:00
cgd f8f96d4b7d clean up for -Wall 1996-07-11 03:47:55 +00:00
cgd 742da2e049 compile with new pmap code 1996-07-11 03:47:46 +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 3986cf9624 make this compile with pmap work in progress 1996-07-11 03:33:25 +00:00
cgd 7a83b5d468 some cleanup for -Wall 1996-07-11 03:30:11 +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 db0b3ca200 kill a typo 1996-07-09 22:08:28 +00:00
cgd c5d7ffec0d fix a few botched names 1996-07-09 04:18:13 +00:00
cgd 0cefc7ef74 clean and update for new defintions, prototypes, etc. 1996-07-09 00:53:48 +00:00
cgd b9659c52a5 add -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes as
CWARNFLAGS in the Makefile, but (for the time being, i.e. until that
works) override that with 'makeoptions' in std.alpha.
1996-07-09 00:46:01 +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