Commit Graph

1705 Commits

Author SHA1 Message Date
thorpej
fcb0203141 First-cut at code to spin up secondary processors on a multiprocessor
Alpha system, conditional on MULTIPROCESSOR.

NOTE: This does not yet work completely.  The secondary CPU begins the
boot process, but never makes it into the cpu spinup trampoline.  This
is merely a snapshot of a work-in-progress.
1998-09-24 23:28:17 +00:00
thorpej
feb1d22dcc NCPU > 1 -> MULTIPROCESSOR 1998-09-24 23:00:43 +00:00
thorpej
3cde5f5817 Machine-dependent spin lock operations for Alpha, included if MULTIPROCESSOR
is specified.
1998-09-24 22:32:35 +00:00
thorpej
91a031471d Implement atomic test-and-set for longwords (32-bit). 1998-09-24 22:22:07 +00:00
thorpej
1b04ff4897 Make prom_enter() and prom_leave() public. 1998-09-24 21:18:13 +00:00
thorpej
ba6d13d876 Use the primary CPU ID on console_restart(), not hard-coded 0. 1998-09-24 21:12:43 +00:00
ross
e43333b7e7 Move if_ade* from alpha/pci/ to alpha/a12/ 1998-09-24 05:36:05 +00:00
ross
09c3723e08 Put back ahc and bha scsi HBA driver configs. 1998-09-24 05:33:41 +00:00
ross
81ea242049 Fix include path, these days a12 header files are in alpha/a12. 1998-09-24 05:32:52 +00:00
ross
ec4de2679b Track tfs -> ustarfs change. 1998-09-24 05:23:58 +00:00
thorpej
c69dbb3c28 Actually, yes we do know what the rpb_restart entry point is used for,
so delete some #if 0'd code.
1998-09-24 03:39:24 +00:00
thorpej
7521c309df When setting up the hwrpb for restarts, use the primary CPU ID from the
hwrpb.
1998-09-24 00:30:19 +00:00
thorpej
7df5ebc392 "Gee, there was already a function to do that." 1998-09-23 22:02:21 +00:00
thorpej
53d42701b5 Implement a function to recompute the HWRPB checksum. 1998-09-23 21:51:04 +00:00
ross
86f044d10e Track changes elsewhere in the PCI interface. 1998-09-23 21:20:55 +00:00
ross
55714d5b34 Update for vm_offset_t, vaddr_t sweep. 1998-09-23 21:17:17 +00:00
ross
ddde99135e A12 crossbar switch driver. 1998-09-23 21:14:58 +00:00
ross
73fdd29a64 A12 detached console tty driver and NetBSD console interface. 1998-09-23 21:14:02 +00:00
thorpej
d720002637 Fix a typo in RCS keyword. 1998-09-22 16:23:20 +00:00
thorpej
5fa16c668b Define the inter-console communication buffer portion of the per-cpu
info structure.
1998-09-22 08:16:51 +00:00
ross
ec49dd71dd Change 41 separate printf()'s into a table and 2 printf()'s. 1998-09-22 06:24:26 +00:00
thorpej
6871d2529f Add missing mb ops. 1998-09-22 06:10:53 +00:00
thorpej
402a9210a2 Implement quadword atomic test-and-set. 1998-09-22 05:56:52 +00:00
ross
5b01d45ac4 Add a `-b #' option and logic for locating the secondary boot image via
an absolute block address. It's cheating, as the motivation is support for
the libsa ustar tfs `filesystem' and the solution symmetrical to ufs and
cd9660 would have been to teach installboot about tfs. However, it still
would have been different as you can't mount a tfs with the kernel, and
this option gets possibly useful support for any contiguous format, even
completely raw boot images.
1998-09-22 05:03:36 +00:00
thorpej
e10cc7910d Add some support for multiple processors to the pmap module. Still left
to do: TLB shootdown code, but that will be much easier to write once
the code to spin up the additional CPUs is working.
1998-09-22 03:58:10 +00:00
ross
5fb9c16f05 While we are here in alpha/stand, bail out on ^C during boot. 1998-09-22 00:41:13 +00:00
ross
10da0cf1c3 Add fs_ops to file_system[] for the ustar-format `tfs'. 1998-09-22 00:39:31 +00:00
thorpej
2671c2fa42 Make bus_dmamap_load_uio() work, from Kevin Lahey <kml@nas.nasa.gov>. 1998-09-21 22:51:56 +00:00
matt
ad921921e4 Add softserial to the alpha port. This significantly improved PPP
throughput on com ports.
1998-09-21 00:33:16 +00:00
thorpej
47ca861322 Nuke some unneeded debugging code. 1998-09-20 18:54:03 +00:00
thorpej
3eaeeb5357 Add definitions for the maximum allowable `whami' procssor ID and the
maximum number of processors we'll allow (64, assuming procssor IDs start
at 0).
1998-09-20 18:28:50 +00:00
thorpej
a4a356f9a6 Need 83 longs for a jmp_buf now. 1998-09-14 06:07:29 +00:00
mycroft
fa31b94af9 Fix omission in previous; remember to record that we're on the signal stack. 1998-09-13 11:57:58 +00:00
thorpej
3ddf828326 Make signal delivery work again. 1998-09-13 01:51:29 +00:00
thorpej
70e641047c In cpu_coredump(), use MID_MACHINE rather than MID_* (whatever it expands
to).
1998-09-09 11:17:24 +00:00
thorpej
8abe0d6b1c Adjust for the new "reaper" kernel thread: do not free the vmspace and
u-area in machine-dependent code.  Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
1998-09-09 00:07:48 +00:00
christos
449820f2ea Assign copyright to TNF. 1998-09-05 15:28:04 +00:00
lukem
c9db84ecc9 distclean is a synonym for cleandir 1998-09-05 15:15:14 +00:00
pk
8adc8da66b Assign my copyright to TNF. 1998-09-05 13:40:35 +00:00
enami
38cae9f204 Replace TAB just after the keyword `options' with SPACE. 1998-09-02 02:02:33 +00:00
thorpej
1df7dffd26 Nuke an unused variable. 1998-09-01 21:28:04 +00:00
ross
899f8f8851 Fix off-by-one errors in assertion in DIAGNOSTIC in pmap_remove() 1998-09-01 20:30:20 +00:00
cgd
d58173741d kill the last remnants of __BROKEN_INDIRECT_CONFIG. (only the pica port
used it, and it's non-working and apparently slated for replacement.)
1998-08-31 22:28:04 +00:00
cgd
5fa7eee1ff don't define __BUS_SPACE_COMPAT_OLDDEFS by default. As stated in
bus_space(9), if drivers want it (they shouldn't; easy to convert) they
can define it right before including bus.h.  There's been a release since
the interfaces were (slightly) changed, and no code in the source tree
uses the old interfaces as far as I can tell.
1998-08-30 23:40:14 +00:00
cgd
3110e22945 use current bus_space interface names for barrier ops 1998-08-30 23:29:10 +00:00
thorpej
4b7b605d84 Use the "nointr" pool page allocator for pmap_pmap_pool. 1998-08-28 22:22:48 +00:00
thorpej
f369f261d1 Fix a debug printf. 1998-08-28 19:22:50 +00:00
tv
6baebf57c6 Nuke egcs warns: void main(), implicit int 1998-08-27 12:20:51 +00:00
thorpej
7cfa6e0972 Always use pmap_kremove() if removing a mapping from the kernel pmap. 1998-08-25 23:09:08 +00:00
thorpej
b42b94b608 Shave yet more translation ops from the inner loops of pmap_protect(). 1998-08-25 18:21:17 +00:00
thorpej
2fa5652849 Break the code that cleans out page tables from pmap_remove_mapping() into
separate functions that perform the cleanout starting at the l3pt, l2pt,
or l1pt.
1998-08-25 09:00:19 +00:00
thorpej
33caa59da3 Optimize the pmap_protect() loop. Will make a similar change to pmap_remove()
once some changes are made to how pt pages are cleaned up.
1998-08-25 08:00:15 +00:00
thorpej
b7fb6e1711 Change pmap_changebit() to take a mask of bits to set, and a PTE mask,
shaving several instructions out of the inner loop.
1998-08-25 06:21:16 +00:00
thorpej
7ff538b614 Oops, use M_VMPMAP as the malloc type in pool_init(). 1998-08-25 01:11:11 +00:00
thorpej
4dfff51650 Use the pool allocator to allocate pmap structures. 1998-08-25 01:09:04 +00:00
tv
b3e9be0ee3 egcs warning fixes, clean up `register' 1998-08-24 02:37:16 +00:00
thorpej
e7a551d60e Some internal cleanup; pass a tag around, not individual arguments. 1998-08-17 20:15:55 +00:00
thorpej
c529c40718 Normalize the copyright notice on this file. 1998-08-15 20:42:25 +00:00
mycroft
129cbf95ee Minor edit. 1998-08-15 05:16:41 +00:00
mycroft
df9baf2311 Assign copyrights to TNF. 1998-08-15 03:51:30 +00:00
thorpej
d5df55112a vm_offset_t -> {paddr_t,vaddr_t}, vm_size_t -> vsize_t 1998-08-14 16:50:00 +00:00
thorpej
97e83f6e0b Change the "vm_offset_t"s to "u_long"s for now; eventually, we can make
them vaddr_t and paddr_t, as appropriate (after scouring the RPB docs
to know which are phys and virt addresses).
1998-08-14 16:46:09 +00:00
eeh
a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
thorpej
f3dd6e430b Pull in files.mii 1998-08-11 18:52:52 +00:00
thorpej
cf231bf251 Adapt to MII changes. 1998-08-11 00:28:53 +00:00
drochner
dabc8eb436 Implement the 'i' flag which makes the bootloader ask for the file to
load (as in OSF/1).
Useful for netboot where "-file" doesn't work as needed.
1998-08-07 10:38:37 +00:00
drochner
e8564df3b9 implemt a simple "beep" device to access the ISA speaker 1998-08-07 10:26:38 +00:00
kleink
546365a27e _POSIX_SOURCE -> _POSIX_C_SOURCE 1998-08-06 11:25:04 +00:00
thorpej
9186d2da5c Simple instrumentation of pmap_steal_memory(). 1998-08-04 22:40:17 +00:00
thorpej
bf8f319d0e Remove some lint. 1998-08-01 21:12:32 +00:00
thorpej
8eeb95fce4 Implement pci_intr_disestablish(). 1998-08-01 20:25:12 +00:00
thorpej
92fa3a68ad In sio_intr_disestablish, also make sure that IRQs 0, 1, 8, and 13
default to edge-triggered, just like in the setup.
1998-08-01 19:38:29 +00:00
thorpej
0b60fda7c8 Implement sio_intr_disestablish(), and ensure that an initially-enabled
interrupt is never disabled and an initially-level-triggered interrupt
never becomes untyped.
1998-08-01 18:54:21 +00:00
thorpej
528dab6808 Implement alpha_shared_intr_disestablish(). Simply removes the handler
fromthe list, allowing the caller to manipulate the sharing type,
if appropriate.
1998-08-01 18:52:36 +00:00
mycroft
a24dbc8065 (Always) (practice) (safe) (macro expansion). 1998-07-31 15:07:41 +00:00
thorpej
9589268364 Add unused zskbd and zsms entries, and ISA PnP entry. 1998-07-31 04:38:51 +00:00
thorpej
e2ce6c8a28 Machine-dependent ISA PnP goo for NetBSD/alpha. 1998-07-31 04:38:04 +00:00
thorpej
f948e430bb Provide a hook for bypassing space accounting, needed to support ISA PnP
for now.
1998-07-31 04:37:02 +00:00
thorpej
eb32016a95 Split up using BWX for PCI config and bus access. Default to using BWX for
the former, but not the latter.  Hopefully, this will address some problems
people have been experiencing w/ some devices on Pyxis systems when BWX
is used for bus access.  (If it's not used for PCI config access, we can
get fatal machine checks while probing behind PCI-PCI bridges!!)
1998-07-29 01:28:44 +00:00
thorpej
3ff8e6493a Don't cast the null residual pointer passed to vn_rdwr(). 1998-07-28 18:34:52 +00:00
thorpej
e8063e5201 Don't cast the null residual pointer passed to vn_rdwr(). 1998-07-28 18:30:54 +00:00
thorpej
88a83f13de Back out previous. 1998-07-27 18:27:08 +00:00
mjacob
6ebd8cf4e3 Comment out cs device. Kernels don't compile because there is no
cfattach structure found. Leave it to the author to untangle.
1998-07-27 18:02:02 +00:00
mycroft
da2e61d160 Delint. 1998-07-27 13:55:32 +00:00
thorpej
b0b64545e8 Add cs* at isa? port 0x300, wildcard IRQ and memory address, to pull
them from the EEPROM.  Wildcard DRQ to force memory-mode operation; this
value is not available in the EEPROM and must be configured manually.
1998-07-27 01:57:56 +00:00
thorpej
2385ee5eca Provide PMAP_{,UN}MAP_POOLPAGE(). 1998-07-24 20:32:07 +00:00
is
6054d626f9 Switching dev/ic/lpt.c to use spllpt() instead of spltty(). It doesn't use
tty structures, and on some machines (namely the DraCo internal lpt, and some
multi-i/o boards for Amigas and DraCos), tying spltty to the pretty high printer
interupt level would hurt serial performance.

On all affected ports but Amiga, spllpt() has been defined in machine/intr.h
to be spltty(), thus preserving old behaviour. Portmasters are encouraged to
change is, if they feel something else is better (e.g., one of its own were
possible).
1998-07-18 21:27:25 +00:00
thorpej
2fc1260cc0 Implement bus_dmamap_load_uio(). 1998-07-17 21:09:59 +00:00
ross
d58ad29b6c Kill the old extern mchkinfo pointer and prototype cpu_mchkinfo().
This file has been collecting prototypes and other things used in the MD
code...that's bad...because this is exported to the MI kernel.
1998-07-13 19:10:14 +00:00
ross
48257ecec1 Define cpu_mchkinfo() to locate the mchkinfo struct. This is used to fix
the recent bug where Multias around the world have been aborting back to
SRM with no message at all as they tried to attach a TGA or VGA console,
because the old mchkinfo pointer wasn't allocated prior to use.

And contrary to widespread rumour, this bug has nothing to do with my
LCA IDE mod...that worked just fine. "Not guilty."
1998-07-13 19:07:33 +00:00
ross
0d7c1dede9 Use the new cpu_mchkinfo(). 1998-07-13 18:49:34 +00:00
ross
c9e3235f35 1. Don't deref zero on early machine checks.
2. Revert last week's non-KNF {} editing.
1998-07-13 00:14:52 +00:00
mjacob
93ecc95d92 Fix printing of real mem. I'm going to, for right now, leave it to
someone else to figure out the best machine independent fashion of
fixing ptoa to handle > 32 bits.
1998-07-09 00:46:17 +00:00
thorpej
bca69afed6 Place the software PG_EXEC PTE bit into the protection array, instead
of OR'ing it in manually.
1998-07-08 17:30:45 +00:00
mjacob
6b092524ea stale beer- place structure in right file 1998-07-08 17:20:42 +00:00
thorpej
a8d2213784 Define a macro that returns the mask of PALcode PTE bits that we care
about when determining if a TBI is necessary (i.e. the PALcode bits minus
the FOx bits, since we always track those).
1998-07-08 17:19:46 +00:00
thorpej
0792d7f3db Define a shorthand macro that represents the mask of PTE bits that the
PALcode cares about.
1998-07-08 16:48:49 +00:00
thorpej
3f776dfbe2 Cosmetic change. 1998-07-08 16:46:51 +00:00
mjacob
434b3fe82b tentative better fix for allocating the correct number of mchkinfo structs 1998-07-08 16:28:25 +00:00
mjacob
ff376fbd03 Doh! Jason caught me being really stupid. There isn't necessarily
a linear 0..N mapping out of alpha_cpu_whami - which is what I was
using to index the new cpu machine check array. This is a quick hack
back to just using the first element while I think of a kinder function
that will do the function (per-platform) of whami->VIRTUAL CPU ID, which
if you think about it, is really necessary anyway.
1998-07-08 05:25:40 +00:00