Commit Graph

600 Commits

Author SHA1 Message Date
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
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 6d3cc133ad define OLD_PMAP for all Alpha kernels. Eventually, when a new pmap module
works, this will be removed.
1996-07-02 22:34:02 +00:00
cgd 31f2acb42e if OLD_PMAP defined, don't usee alpha/pmap.c and use alpha/pmap.old.c instead. 1996-07-02 22:32:16 +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 e8fab58348 allocate a flat 10% of memory to buffer pages. 1996-06-15 03:55:17 +00:00
cgd 55651c941b punt on the grep and do all the file selection in find. don't try
to build kernels from files with '.' anywhere in their names.
1996-06-15 03:45:02 +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 5c5c2d1804 add a delay before serial console is initialized, to allow any
outstanding PROM output to drain.  Move the console-type printfs
so that they're only printed if console selection fails.
1996-06-14 20:38:11 +00:00
cgd ef8b4f596a clean up entry printf 1996-06-14 20:04:45 +00:00
cgd 643339aa90 Don't pass arguments to the kernel, trim unnecessary environment
calls, kill 'ask' loop (i.e. if boot fails, halt), seperate
ECOFF and a.out support into seperate options.
1996-06-14 20:02:52 +00:00
cgd 1a6ddd64d7 cpu_model must be an array to make sysctl be happy. 1996-06-13 23:16:43 +00:00
cgd 0729742246 fix error in 'swap generic' nfs root picking code (a case that can never
currently happen) which forgot to set rood device correctly.
1996-06-13 23:10:37 +00:00
cgd 49c6ac313f update readme files for present reality. 1996-06-13 20:36:04 +00:00
cgd 53a97a8870 get rid of now-unnecessary kernel config files (now that swap generic
works) for my machines and now-nonexistent test machines.  Clean up
options in existing config files so that they're more consistent.  Add
more units of various pseudo-devices to several.
1996-06-13 19:18:16 +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 3a7c6bd270 note that the DEC 21000 isn't supported in the same way as for the 2000/300 1996-06-13 00:28:59 +00:00
cgd b26a6f1d3d We'd like to differentiate case for kernel boot flags, but the Alpha AXP
Architecture Reference Manual says that we shouldn't.  'a' is now back
to ~RB_SINGLE, and 'n' and 'N' now get RB_ASKNAME.
1996-06-13 00:24:52 +00:00
cgd a59ba05045 don't pass "argc," "argv," and "envp" from boot blocks to kernel;
they're unnecessary and there's no reason to use them.  Have the
kernel get necessary values from the PROM directly.
1996-06-12 22:11:28 +00:00
cgd 3b3f71fb25 don't pass the firmware's console environment variable to the various console
initialization functions any more.  None of them used it, and they can
get the same data more easily via the RPB.
1996-06-12 22:06:40 +00:00
cgd f6d4b1367d null-terminate strings returned by prom_getenv() 1996-06-12 21:59:52 +00:00
cgd 5006cfa9ac remove old, unused, framework for boot device detection. It's going
to be replaced by something new and working.
1996-06-12 19:00:17 +00:00
cgd eef7b263f1 remove GENERIC_NFS, because:
(1) right now GENERIC can boot via NFS, and
	(2) in the long run, GENERIC should autodetect network booting
	    and pick the correct root device.
Because of (1), GENERIC_NFS is no longer _needed_ in the short term.
Because of (2), GENERIC_NFS is not _wanted_ in the long term.
1996-06-12 02:00:10 +00:00
cgd 811bbb5c72 rework setroot() and friends, largely by cloning from the sparc code
and whacking a bit here and there where appropriate.  Does not yet do
automatic root device detection, but that's much easier to add now.
RB_ASKNAME now supports specification of network devices, for diskless
booting.  Also, RB_ASKNAME is now supported on _all_ kernels.
1996-06-12 01:57:17 +00:00
cgd ba53a90965 add example 'config' specs for 'root on sd0...' and 'root nfs...' 1996-06-12 01:44:31 +00:00
cgd 698dd157cf remove "options GENERIC" since it's not needed with new setroot() code for
GENERIC kernels, and since it no longer has any other special meaning.
1996-06-12 01:42:46 +00:00
cgd 9d614a5f3f GENERIC no longer has any special meaning (don't set RB_ASKNAME #ifdef GENERIC) 1996-06-12 01:38:09 +00:00
cgd 5109def361 change the meanings of some boot flags:
a (was ~RB_SINGLE, redundant with 'A') -> askname
n (was RB_ASKNAME) -> no meaning
d (was RB_DFLTROOT) -> no meaning (unnecessary with new setroot() code)
m (was RB_MINIROOT) -> no meaning (miniroots currently unsupported;
    #ifdef'd out)
N (was ~RB_ASKNAME) -> no meaning (unnecessary; just don't specify RB_ASKNAME!)
1996-06-12 01:36:01 +00:00
cgd 4a4d4dfc26 copy from sparc port, trim bogus swdevt entries 1996-06-12 01:26:37 +00:00
thorpej 87a6b74c89 Sync up with my local tree:
- add union filesystem
	- add DEFTA device
1996-06-11 23:24:02 +00:00
cgd f4e69ce47d fix pasto in last commit. 1996-06-11 21:28:31 +00:00
cgd 2d9140fb20 add definitions and code to support use of multiple I/O and _dense_
memory regions.
1996-06-11 21:25:25 +00:00
cgd bbdf2df9b0 since bus_mem_subregion() can return failure, don't even bother to try
to handle the case where subregion offset isn't a multiple of 8.
1996-06-11 21:20:08 +00:00
cgd d714189d53 implement bus_mem_subregion() and bus_io_subregion(). 1996-06-11 21:16:21 +00:00
cgd 9aa03f4dd9 update for changed definitions in ciareg.h 1996-06-10 00:04:53 +00:00
cgd 2465bd00e5 store HAE_MEM and HAE_IO register contents in the cia configuration
structure, and add prototypes for the bus_{mem,io}_init() functions.
1996-06-10 00:03:59 +00:00
cgd 55cbf94f22 read value of HAE_MEM and HAE_IO, so that the bus_* functions can
do window recognition correctly.
1996-06-10 00:02:31 +00:00
cgd 9198817ce3 update for new memory window handling in pcs_bus_mem_common.c. 1996-06-10 00:01:09 +00:00
cgd c247b24843 add definitions used to figure out how PCI/EISA/ISA memory regions are
mapped.
1996-06-09 23:59:38 +00:00
cgd df2ba1e245 add support for mapping multiple memory windows. This is necessary
for mapping ISA/EISA 'hole' memory on the AlphaStation 600.
1996-06-09 23:57:45 +00:00
cgd 8df74fa62a wrap __STRING() in a #define so that its argument, which must be
expanded by the preprocessor, will be.  Problem pointed out by Matt
Thomas.
1996-06-09 23:49:24 +00:00
cgd ebe3a58f01 pull down changes from NetBSD 1.2 release branch:
>Update for present reality (function names), clean up a bit (printfs,
>"panic: foo XXX"), and fix a couple of printf format specified bugs
>(which were normally #if 0'd out).  Inspired by Multia/UDB support
>changes sent by Matt Thomas.
and:
>changes from Matt Thomas so that the Multia/UDB can attach its
>'com' interrupts, cleaned up some.  Basically: if sharing type of
>new interrupt is different than what the hardware is currently set up
>for (e.g. requesting edge-triggered and the hardware is set up by
>the PROM for level triggered) and there are no interrupt handlers on
>that line already, warn about it and use the hardware type that the
>line was already set for (to avoid making the console blow up on
>reboot).  If same circumstances but there is already a handler, panic
>as before.
1996-06-05 22:52:34 +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 56db5baced print slot number as decimal, not hex 1996-06-05 01:32:00 +00:00
cgd 666c7f6fd4 interrupt counters for TurboChannel systems. 1996-06-05 00:30:48 +00:00
cgd 2d03e599c7 don't depend on being able to read the IMR. Apparently, it doesn't
work (as documented in the DEC 3000/[3-9]00 System Programmer's Manual)
in some of the older 3000/500 systems.
1996-06-04 19:02:16 +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 e038a84b34 add "le* at pci?", because it compiles and may actually work. 1996-06-03 20:10:52 +00:00
cgd 729d7a8aa8 only do tty_attach() for first tty of each chip; that's the only real tty. 1996-06-03 19:43:31 +00:00
cgd afe080291e fix pasto: s/NETISR_CCITT/NETISR_PPP/ at the appropriate place in
netintr().  From Matt Thomas <matt@lkg.dec.com>.
1996-06-03 18:32:37 +00:00
cgd 99a50a5e0d now that the bug has been fixed, we can go back to using the
Alpha-optimized in_cksum().
1996-05-30 23:18:14 +00:00
cgd ea82d613ab Fix from Matt Thomas to fix problem where packets like
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01 would be checksummed
incorrectly: rather than adding two 32-bit quantities together to
sum a quadword (which was losing a carry bit), add as four 16-bit
quantities.
1996-05-30 23:08:36 +00:00
cgd 6e6fc14f32 add tty_attach() calls where appropriate 1996-05-30 18:44:30 +00:00
cgd f7dcef06d4 add missing splx(). From Jason Thorpe 1996-05-29 22:24:47 +00:00
cgd 48652c763f fix UMAPFS entry, add entry for UNION 1996-05-23 23:29:10 +00:00
cgd 82dd8bf609 disable alpha-specific in_cksum.c; it seems slightly buggy 1996-05-23 23:27:25 +00:00
cgd 5e29c383e2 add wbflush() calls in strategic places. These really shouldn't be
here, and there should be a generic 'bus' interface to do memory
read/write barriers.
1996-05-20 03:14:07 +00:00
cgd 397617080d add 'pseudo-device strip' for Metricom Ricochet packet radio driver
recently kicked in by Jonathan Stone.  It compiles on the alpha, and
may even work.
1996-05-20 02:58:53 +00:00
cgd daad29a36c add fta, fpa, and fea drivers, for DEC TC, PCI, and EISA FDDI controllers. 1996-05-20 01:37:18 +00:00
cgd 17bc20b5a4 minor cleanups, mostly KNF. 1996-05-19 21:41:00 +00:00
cgd 260dba439d Tuned in_cksum() from Matt Thomas <matt@3am-software.com>. According
to him, this implementation is approximately 50% faster than the
machine-independent portable version.
1996-05-19 21:24:14 +00:00
cgd 6f5bee3001 add -O2 to the optimization flags. A reason why optimization seemed
to fail on some systems was never found; hopefully it's gone away (or
was never really there).
1996-05-19 21:16:51 +00:00
cgd 4145f89f54 TurboChannel bus_mem_* functions. bus_mem_{read,write}_8, and
bus_mem_read_{1,2} are not yet supported for sparse space.
1996-05-18 00:00:51 +00:00
cgd 0307c36933 bus_io_* functions. These have no meaning on the TurboChannel, since
it's a memory-mapped bus and has no I/O space.  They all are
fancy wrappers around panic().
1996-05-17 23:59:31 +00:00
cgd 84b37ec80d set up a bus_chpiset_tag_t, and pass it to the TC code 1996-05-17 23:58:43 +00:00
cgd e49dcae424 add files for the implementation of the TC 'bus' mem & I/O functions 1996-05-17 23:44:02 +00:00
cgd a78f16f702 moved to ../tc 1996-05-17 23:41:36 +00:00
cgd eda3fcd053 fix declaration of main() 1996-05-17 18:29:41 +00:00
cgd 93bc248f7c add 'kernel_text' symbol, for use by kvm_mkdb 1996-05-16 22:54:30 +00:00
mycroft 540f9550c0 Make `make depend' work for libraries. 1996-05-11 16:11:30 +00:00
cgd 3393d0e53b a few more minor ecoff-header-related tweaks. 1996-05-10 00:15:04 +00:00
cgd 56017a3c1e update to include <sys/exec_ecoff.h>, rather than the alpha-specific
(and redundant) coff.h file (which has now been removed).
1996-05-09 23:54:07 +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 d5b0482bb9 update for changed ecoff headers. minor consistency changes for the
ecoff functions, as well.
1996-05-09 23:48:47 +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
thorpej fe64460341 *** empty log message *** 1996-05-07 00:33:35 +00:00
thorpej f857b38b11 Don't attempt to map the `delay port' (0x84). It's mapped and exported
by the ISA bus attach code.
1996-05-05 01:41:53 +00:00
cgd 7c1754fdff add a bit of clarafication in a comment, and change the interrupt
handling code so that if a given interrupt is disabled (and therefore
can't have caused the actual I/O interrupt), its handler won't be
called even if its bit is set in the interrupt register.
1996-05-02 21:56:46 +00:00
cgd b97609d17d the kernel config file for my 3000/300LX. 1996-05-01 23:32:45 +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 1668855fc5 add support for PMAG-B Color Frame Buffer (CFB) option boards. OSF/1
doesn't support these, but they appear to work OK (with an appropriate
monitor) in my 3000/300.
1996-05-01 23:22:16 +00:00
cgd cb0eb158e7 fix the test for option slot interrupts. If a given interrupt is
disabled (and therefore can't have caused the actual I/O interrupt),
don't try to call its handler even if its bit is set in the interrupt
register.
1996-05-01 23:19:50 +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 a449bdaea1 add sfb at tc, wscons at sfb 1996-05-01 20:33:17 +00:00
cgd 69ecf2f7f4 add the right (raster, wsconsdev) attributes to sfb 1996-05-01 20:26:39 +00:00
cgd 8199dee1d8 add SFB at tc, wcsons at sfb, and fix up le declarations 1996-05-01 20:23:04 +00:00
cgd 85d72d56a2 add an entry for the SFB+, and clean up entries some 1996-05-01 19:44:21 +00:00
cgd 4335844690 fix botched printf spacing in last change. 1996-04-29 16:36:19 +00:00
cgd 6deeeb8a0f update for dk_establish() proto change 1996-04-29 16:34:50 +00:00
cgd b2ab71db24 fix definition of the "Primary Eligible" RPB PCS processor variation field. 1996-04-29 16:23:09 +00:00
cgd 5e0ec7280a clear BIP; it should really happen at end of autoconfiguration. 1996-04-29 16:09:28 +00:00
cgd f22c1ccb83 clean up setting of the default tty cflag. don't do the "delay if
high bit set" thing.
1996-04-29 14:48:25 +00:00
thorpej 34c1e309b6 Yes, folks, there was a REASON that maxusers -> 32 slipped through the
cracks when I mentioned it to Chris.  (Read: it doesn't work.)
1996-04-26 18:54:15 +00:00
thorpej 2931555121 Correction I mentioned to Chris that slipped through the cracks...
maxusers -> 32.
1996-04-26 00:53:08 +00:00
cgd 72e70ce045 update for present reality 1996-04-25 04:28:04 +00:00
cgd 3e07e4275a clean up and improve instructions, update to reflect current reality. 1996-04-25 00:11:09 +00:00
cgd 7bc9a18250 prototyping cleanups 1996-04-23 15:26:06 +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 59cdf4331e clean up some, and use new sioreg.h 1996-04-23 14:15:55 +00:00
cgd 8253c155fe hanges from Trevor Mendez <tmendez@bbn.com> to use new sioreg.h
header.  Also, I moved the LCA_SIO_DEVICE definition higher up in the
file.
1996-04-23 14:15:28 +00:00
cgd 84da7b5f97 Intel 82378 System I/O (SIO) Chip register defintions, cleaned up a
bit from a version supplied by Trevor Mendez <tmendez@bbn.com>.
1996-04-23 14:10:53 +00:00
cgd e9bbf69ff6 Changes from Trevor Mendez <tmendez@bbn.com> to add definitions of a
couple of registers useful for debugging.
1996-04-23 14:03:46 +00:00
cgd fea5e372e6 Corrections from hardware manual, from Trevor Mendez <tmendez@bbn.com>.
Adds comments and sets IOC_CONF correctly (it's write-only!).
1996-04-23 14:00:53 +00:00
cgd d8adbe4247 Changes from Trevor Mendez <tmendez@bbn.com> to make this compile
with NWSCONS == 0.
1996-04-23 13:57:55 +00:00
cgd 0895b8dd09 Changes from Trevor Mendez <tmendez@bbn.com> to print 0x's before hex
numbers when panic()ing because of a machine check, for sanity.
1996-04-23 13:54:32 +00:00
cgd 7458364702 Implement the I/O read/write-multiple functions for chipsets
that use this file (APECS, LCA, and CIA).
1996-04-18 05:53:04 +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 e27e15d0ac change NLE flag for IOASIC LANCE buffer to NLE_IOASIC, and add comments 1996-04-18 00:59:11 +00:00
cgd 03d386daa7 attach le with different attributes, depending on parent (i.e. tc or
ioasic), and use those attributes to pull in appropriate files.
le_ioasic now has needs-flag, but le doesn't; the flag is only necessary
on systems configured with IOASIC-attached LANCE chips.
1996-04-18 00:55:15 +00:00
cgd 17731baa0d fix copyrights 1996-04-17 22:22:32 +00:00
cgd 69ad2e587b ioasic doesn't need a flag, and correctly conditionalize inclusion of
machines' tc configuration files.
1996-04-17 22:08:29 +00:00
cgd 71c7924099 clean up clock handling: clock drivers are now seperate from the
chip-independent clock code.  'clock' has been renamed 'mcclock'  'clock'
has been renamed 'mcclock' (since it's a driver for that particular
clock, and since eventually there may be another clock chip driver),
and now attaches via seperate match/attach functions to both TC and ISA.
This removes a whole lot of #ifdefs...
1996-04-17 22:01:16 +00:00
cgd a5778ae63b print cpu names slightly differently (number first) 1996-04-17 21:50:56 +00:00
cgd 0b0a8bfe15 fix bug in pcivga_erasecols() that would cause garbage to be spit out.
other minor style cleanup.
1996-04-17 21:49:58 +00:00
cgd d727565526 fill in the tty window size information, so that standard terminal
entries can be used with weird displays.
1996-04-17 21:48:30 +00:00
cgd 60add3dea0 update for current state 1996-04-15 19:00:46 +00:00
cgd 1bd905d710 include <sys/termios.h> to make <dev/isa/comvar.h> happy, and set the
serial ('com') console bit size and parity to be "cs8 -parenb".
1996-04-15 18:58:20 +00:00
cgd 98d92322b1 update for recent config changes: xxcd -> xx_cd 1996-04-13 00:31:37 +00:00
cgd cad6c2d600 capitalize IRQ names here, to match what's reported on boot 1996-04-13 00:25:24 +00:00
cgd 21ac0b2a36 update for new ISA/EISA/PCI/'bus' interfaces. Untested 1996-04-13 00:24:30 +00:00
cgd 161623e54e add (untested) support for EISA busses hanging off of PCEBs. 1996-04-13 00:23:34 +00:00
cgd f32c94e82c note that these IRQs are ISA IRQs 1996-04-13 00:22:58 +00:00
cgd c0b2b5595c Replace with completely new version derived from APECS code. No serious
bugs to fix (that i know of), just doing it that way was easiest.
1996-04-12 23:37:10 +00:00
cgd 56a6e33bb6 "Do over." Throw the old file away, replace it with a version hacked
from the current apecs_pci.c.  This new version hopefully works for
the same sets of devices that that previous one did, and hopefully
will work for multi-function devices and for secondary PCI busses as
well.  (looking at the code, there was no way the old one could have!)
1996-04-12 23:27:05 +00:00
cgd 435c2f935e config first, so there's someplace to cd to. 1996-04-12 20:27:42 +00:00
cgd ae42d9fdbd oops; forgot to remove a line of debugging/testing code 1996-04-12 20:22:14 +00:00
cgd 576c769331 clean up copyrights and RCS IDs 1996-04-12 06:07:05 +00:00
cgd eb4de32615 Set up and pass isa chipset tag to ISA bus, when attaching.
Should do the same for EISA, when that support is finished.
1996-04-12 05:43:02 +00:00
cgd 98c183ff49 remove (hack) version of isa_intr_establish() 1996-04-12 05:41:50 +00:00
cgd 69d8f0e09a define all of the appropriate functions, as indirections through
a function switch.
1996-04-12 05:39:02 +00:00
cgd 0da2610536 this file is no longer used 1996-04-12 05:35:51 +00:00
cgd 931ec3829c partially update for new ISA/EISA/PCI and 'bus' interfaces. not yet
complete, or tested.
1996-04-12 04:40:49 +00:00
cgd c6af4505f1 implement 'bus' functions for the CIA chipset. 1996-04-12 04:40:01 +00:00
cgd 647469cfbc update for new ISA/EISA/PCI and 'bus' interfaces. 1996-04-12 04:38:33 +00:00
cgd 125eefcd67 implement APECS and LCA 'bus' functions, and share them between the
two chipsets, since they're the same.
1996-04-12 04:36:12 +00:00
cgd 04645aa7ad chipset 'bus' functions that seem to be common to all host bus
adapters that exist in single-CPU systems.  APECS, CIA, and LCA
all use this, but with different #defines.
1996-04-12 04:34:59 +00:00
cgd ba7bbf8c30 update for new PCI, etc., interfaces 1996-04-12 04:33:06 +00:00
cgd be813334f8 (mostly) update for new PCI and 'bus' interfaces. 1996-04-12 04:32:10 +00:00
cgd b26a595361 update for new PCI, etc., interfaces. 1996-04-12 04:31:48 +00:00
cgd caa9d61d58 add indirect register definitions. 1996-04-12 04:31:08 +00:00
cgd 7b08107723 update for new PCI code, etc. As yet, untested. 1996-04-12 04:30:11 +00:00
cgd f357f1b38a partially update for new PCI & bus macros. update to deal with new
console glue.  Split out RAMDAC-specific code into seperate files.
1996-04-12 02:13:09 +00:00
cgd a52d1c3efe clean up for new ISA and 'bus' code, etc. 1996-04-12 02:11:22 +00:00
cgd c2ca361599 update for new ISA & PCI code, etc. 1996-04-12 02:09:51 +00:00
cgd 706b61a9a3 add some sanity checks to avoid lossage when dealing with unmanaged
pages, and clean up a little bit.
1996-04-12 02:09:24 +00:00
cgd de1319f259 define delay() here, rather than in clock.c 1996-04-12 02:07:52 +00:00
cgd 92c3ba0426 new entries for keyboard, mouse, and parallel printer 1996-04-12 02:07:23 +00:00
cgd 99841b9cdd cast return of phystok0seg() to a caddr_t, to suit uiomove proto 1996-04-12 02:06:21 +00:00
cgd 73378c1529 add rpcc entry point 1996-04-12 02:05:48 +00:00
cgd 26bf14c6fe update for new ISA & bus code, and clean a bit 1996-04-12 02:05:14 +00:00
cgd f0a062ba62 replaced by files in ../wscons 1996-04-12 02:02:06 +00:00
cgd 89579980e6 this has moved to ../include 1996-04-12 02:01:51 +00:00
cgd 7a58e4fe08 "workstation console glue." glass tty code, console emulation,
keyboard and mouse interfaces, etc.  Mostly grabbed from the sparc,
and adapted and trimmed where appropriate.
1996-04-12 02:00:42 +00:00
cgd 607fdc7ab6 (incomplete) machine-dependent ISA definitions. 1996-04-12 01:57:42 +00:00
cgd 42362ab7a1 PC timer definitions 1996-04-12 01:54:56 +00:00
cgd da4d801b40 speaker (PIT AUX port) definitions 1996-04-12 01:54:46 +00:00
cgd c032474c02 add CMU copyright notice 1996-04-12 01:54:04 +00:00
cgd 7aadd7593f support for PS/2-style mice 1996-04-12 01:53:06 +00:00
cgd 1c35246b36 update for bus.h, add support for X, and provide use of the bell. 1996-04-12 01:52:45 +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
cgd 1d001142a9 don't forget dkcksum.c, now that it's seperate 1996-04-12 01:35:15 +00:00
cgd 29fe6c8918 clean up a lot, make work with outline mode, and switch functions:
build now builds from scratch, rebuild just runs make.
1996-04-12 01:33:40 +00:00
cgd 9e1fc3f99c kill this; more trouble (for more people) than it was worth 1996-04-12 01:32:54 +00:00
cgd ba87ccc479 update for latest MI TC and SCSI code, and clean up in the face of
config changes.
1996-04-12 01:31:43 +00:00
cgd 7128b7a114 i no longer can do anything with macallan, so kill its kernel config.
However, Jason has a turbochannel alpha, so add its config file.
1996-04-12 01:21:43 +00:00
cgd 34e27f0c56 update for present alpha reality:
add drivers for ps/2-style mice (on the PC-ish alphas), and for the
workstation console glue code.  also, update for config changes, etc.
1996-04-12 01:20:40 +00:00
cgd 83f9bdc359 update for the fact that config_found() and config_rootfound() now
return pointers.  (Check vs. NULL, rather than just boolean tests.)
1996-04-04 06:25:00 +00:00
thorpej 08607bc611 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:03:02 +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
christos ab0e60a42f fdopen -> filedescopen 1996-03-14 21:20:59 +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
cgd 3d67685d36 Do not build vnode_if.[ch] for each kernel. Build them once, like the
various syscall sources/headers, and just compile them.  From PR 2142, OK'd
by mycroft.
1996-02-29 20:54:58 +00:00
mycroft 2ce52ae489 Define build programs with `?=', so they can be overridden with `makeoptions'. 1996-02-26 02:53:20 +00:00
mycroft 753fe3a25a Fix mkdep problems due to missing flags. 1996-02-09 02:21:13 +00:00
christos 2c8314f73c vm prototype changes 1996-02-05 02:06:38 +00:00
mycroft 5bc076e17e Use `-traditional-cpp' when building .s and .S files. 1996-02-03 00:43:50 +00:00
mycroft dcd66e9f4d Clone these, and fix many bugs. 1996-02-02 20:08:17 +00:00
mycroft 2dfbe4f961 Don't define _LOCORE here. 1996-02-02 20:05:08 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
mycroft fc9d84fb46 assym.s -> assym.h
(Some ports did this already.)
1996-02-02 02:34:09 +00:00
mycroft ac03d03239 assym.s -> assym.h
(Some ports did this already.)
1996-02-02 02:33:26 +00:00