Commit Graph

582 Commits

Author SHA1 Message Date
cgd
fc7b72ee10 move interrupt establishment to just before clock interrupts are
enabled (from the attach routine), and add comments as to why.
Some PALcode apparently 'saves' a clock interrupt for the kernel,
and if the clock interrupt handler is enabled at attach time, it
will be run when that interrupt hits, i.e. right after the spl0()
at the end of autoconfiguration.  That would cause hardclock to be
run, but proc0's p_stats isn't set up by then, which would cause
hardclock to crash.
1996-11-23 06:31:57 +00:00
cgd
12fc617201 make ALPHA_K0SEG_TO_PHYS and ~0xfffffc00000000000 with the address,
rather than and-ing 16G-1.  That just strips the k0seg bits, rather
than making the false assumption that the physical address is going
to be in the lower 16G.  That doesn't apply for CIA device-space
addresses, for instance.
1996-11-23 06:25:31 +00:00
cgd
d22ab75ff0 clean up match: check args more carefully, make sure I/O space can be mapped 1996-11-23 06:21:43 +00:00
cgd
335c1af878 move probe and setup code into common functions. always probe (i.e.
even if PCI and the IDs are right), just for sanity, before declaring
success.  Split the single 0x3b0 -> 0x3df allocation into three seperate
ones: 0x3b0 -> 0x3bc (leaving the 4 ports available for lpt),
0x3c0 -> 0x3cf, and 0x3d0 -> 0x3df.  The former chunk has to be split
off if the lpt can exist there, and it's sort-of pretty to have each
group (based on second hex digit) have its own handle.
1996-11-23 06:06:43 +00:00
cgd
31cc61b793 try mapping the I/O space (as well as the memory space) in the probe routine. 1996-11-20 20:04:53 +00:00
cgd
7b52699cfd catch up with wscons frame buffer attachment, mmap, and ioctl
interface changes.
1996-11-19 05:23:07 +00:00
cgd
1c90055b77 clean up wscons frame buffer attachment interface slightly. Make
ioctl and mmap routines take a void *, rather than a struct device *,
so that they can be set up to work more easily when using a 'struct device *'
isn't appropriate.  Add a cookie (void *) to be passed to the mmap and
ioctl routines.  Rename a few struct members, and shuffle them into
a more sensible order.
1996-11-19 05:17:00 +00:00
cgd
a1476167f8 update for ISA VGA frame buffer possibily 1996-11-19 05:08:36 +00:00
cgd
f3415af098 update for VGA-related changes 1996-11-19 04:57:32 +00:00
cgd
2b4df4f147 implement isa_display_console(), to be used when console is an ISA display dev 1996-11-19 04:54:43 +00:00
cgd
8529bfe399 add an isa_display_console() function, to be used when console is an ISA dev 1996-11-19 04:53:07 +00:00
cgd
bf371611ab fix spelling error 1996-11-19 04:49:21 +00:00
cgd
e6a9d46085 update for VGA changes, and clean up slightly. 1996-11-19 04:43:55 +00:00
cgd
adc49e3c06 update for VGA changes and shared_intr.c move 1996-11-19 04:40:26 +00:00
cgd
2c43c05bc2 replace old PCI VGA driver with a common VGA back-end and ISA and PCI
front-ends.  Unfortunately, because of the way ISA and PCI are currently
probed, if you have a PCI VGA board in your machine and both drivers
in your kernel, the ISA VGA driver may accidentally match the PCI board.
For now, the only solution to this is to not put both drivers in
the GENERIC kernels.
1996-11-19 04:38:32 +00:00
cgd
bb2c8c35d7 this has moved to sys/arch/alpha/common. 1996-11-19 01:34:26 +00:00
cgd
e35cd5615f implement interrupt enable/disable and mapping as described in
the Digital Semiconductor AlphaPC 164 Motherboard Technical Reference
Manual.  This may not work, but it's the best i can do with the
documentation I have.
1996-11-17 02:30:25 +00:00
cgd
ccc668e0d7 use the new common chained-interrupt support code. 1996-11-17 02:05:26 +00:00
cgd
91c6442ca0 implement a (hack-ish) set of routines to do common chained-interrupt
handler management.  It's nasty, but three slightly different copies of
the code is worse.
1996-11-17 02:03:08 +00:00
cgd
bbb8f63dae clean up some 'system not supported' printfs 1996-11-17 01:59:35 +00:00
pk
336790c5a2 Sync with sparc revision 1.61:
Add explicit casts to `%l*' formatted arguments.
1996-11-16 23:17:18 +00:00
cgd
c5323239f6 add names and space for eb164 interrupt request counters 1996-11-16 23:11:57 +00:00
cgd
2e5bc1461a panic with "bogus size" if ncols or nrows is <= (not just <) 0 1996-11-16 23:10:06 +00:00
cgd
f48eac49ba compile with -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wcast-qual, even if DEBUG isn't defined.
1996-11-16 23:07:40 +00:00
cgd
c8201bca4d Add short delays after accessing registers, so that the z8530's settle
times are respected.  This solves the duplicated characters problem.
1996-11-16 00:40:14 +00:00
cgd
70147216ec Include a PMAGB-BA in the list of built-in devices only if SV_GRAPHICS
is set in the RPB's rpb_variation field.  This fixes a bug where machines
(e.g. the 3000/900) would see that they could touch memory where a built-in
PMAGB-BA, assume that it was there, and panic later because the memory they
were accessing didn't look like PMAGB-BA registers (because it wasn't).
1996-11-15 23:59:00 +00:00
jtc
16b48272c4 Define _BSD_CLOCKID_T_ and _BSD_TIMER_T_ 1996-11-15 22:38:45 +00:00
cgd
37b6fc0222 move DEVPAGER, SWAPPAGER, VNODEPAGER options into std.alpha since they're
mandatory, and clean up their descriptions.
1996-11-15 19:37:21 +00:00
cgd
03a0bfabac fix slight mis-ordering 1996-11-13 23:42:55 +00:00
cgd
d8aea5f52d print out unrecognized processor minor types as 0x%x, rather than %d,
also print out minor types in a few cases where they previously wouldn't
be printed (but that aren't likely to be run into, anyway).
1996-11-13 23:18:07 +00:00
cgd
a86f553589 update for all known processor major and minor type numbers. 1996-11-13 23:13:02 +00:00
cgd
6e3d55a53c clean up cpu type descriptions, in line with rev. 3 of the AARM 1996-11-13 22:26:41 +00:00
cgd
db5fd4e8e2 update copyright dates 1996-11-13 22:20:54 +00:00
cgd
6c9cb4aa9b compile cleanly with:
-Werror -Wall -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
1996-11-13 21:13:04 +00:00
cgd
750ee83e95 Set CWARNFLAGS to:
-Werror -Wall -Wstrict-prototypes -Wmissing-prototypes
	-Wcast-qual -Wno-format
(if not already set).  -Wno-format is necessary because of the few
bits of code in the tree that use NetBSD's special kernel printf()
formats, and because there are a few bits of code that try to use the 'q'
modifier to print int64_t's (but int64_t's are only 'long' on the
alpha, not 'long long').
1996-11-13 20:53:24 +00:00
cgd
3706f8b184 kill the makeoptions spec of CWARNFLAGS 1996-11-13 20:43:19 +00:00
cgd
f5abc1b89a recognize 21164A (ev56) 1996-11-13 01:03:52 +00:00
cgd
c55c19e5b1 -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual cleanups. 1996-11-12 21:00:33 +00:00
cgd
be771a0f36 add DEC_EB164 option 1996-11-12 18:05:53 +00:00
cgd
206e66a5a4 resort cpu option list 1996-11-12 18:05:27 +00:00
cgd
45ba05f710 convert cpu-dependent routine selection to use a centralized CPU switch, thus
deleting (and cleaning up) N pages of #ifdefs in machdep.c.  While we're
at it, make the cpu type options generate flags, and check them instead of
kernel Makefile defines.
1996-11-12 05:14:27 +00:00
cgd
bf40f3eaba add DEC_EB164 option, to include nascent eb164 support 1996-11-11 21:15:28 +00:00
cgd
d05ae32976 alphabetize and clean up machine-specific files, add eb164's machine file 1996-11-11 21:10:58 +00:00
cgd
8ffccdfae0 preliminary support for the EB164. The EB164 is more or less a 'normal'
21164 + 21172 box, with Yet Another Way of doing interrupts.  The
interrupt mapping and handling code hasn't been written yet, and none
of this code has been tested.  (Checkpoint of work in progress.)
1996-11-11 21:08:10 +00:00
cgd
b422a87601 add more system type names, to match new system type numbers. Also, add
appropriate bits of code to support the EB164.
1996-11-11 21:03:09 +00:00
cgd
f8ab7cfbcd clean up some spacing in switch statements 1996-11-11 21:02:32 +00:00
cgd
335926a2d0 add system type numbers up to 28, add the EV56 processor type number. 1996-11-11 20:59:02 +00:00
cgd
89e06b9449 build manual page and install it in the right place. 1996-11-06 23:09:13 +00:00
cgd
050d4ebd12 NetBSD/alpha installboot manual page. Copied from the sparc and lightly
tweaked by Curt Sampson <cjs@portal.ca>, then largely redone by me.
1996-11-06 23:07:55 +00:00
cgd
8a3333b2a9 Fix an inconsistency that came in with Lite: setrq() was renamed to
setrunqueue(), but remrq() was never renamed.  Rename remrq() to
remrunqueue().
1996-11-06 20:19:19 +00:00