pk
f3c4a67a7f
Adapt to changes to the cpus[] array.
1998-10-08 22:23:44 +00:00
pk
34ad8e5fb7
Find out about the number of CPUs in the system before starting device
...
configuration, so we can build a cpus[] array without "holes".
1998-10-08 22:14:44 +00:00
pk
a61ee50b27
Move [gs]etcontext and [gs]etpte() to pte.h
1998-10-08 21:49:12 +00:00
pk
e6bbfcc58a
Move [gs]etcontext() and [gs]etpte() to pte.h
1998-10-08 21:47:34 +00:00
thorpej
d681cf055a
configure() prototype is in <sys/device.h>
1998-10-06 20:50:15 +00:00
pk
2727683a09
more DIAGNOSTIC sanity checks
1998-10-06 19:24:03 +00:00
thorpej
0729240c88
Move the "XXX re-zero proc0 user area" to the end of configure(), before
...
interrupts are enabled.
1998-10-06 18:58:09 +00:00
thorpej
5006dbf868
cpu_set_kpc() prototype is already in <sys/systm.h>.
1998-10-05 22:11:15 +00:00
pk
40beab6ad6
If a lock is held do not spin in a read/write loop but just read the lock
...
until it is released. This is easier on the bus cache coherency logic.
1998-10-05 19:58:19 +00:00
christos
550ee6b308
rename getprop routine to avoid conflict with the one in bsd_openprom.h
1998-10-05 07:13:07 +00:00
christos
0bf5ff6ade
make this compile with DIAGNOSTIC again.
1998-10-01 21:26:55 +00:00
thorpej
c5b8d42e66
Need 14 longs for jmp_buf now (sigcontext has 128-bit signal mask at the
...
end).
1998-10-01 03:28:11 +00:00
pk
f382e91b5e
Add a field to identify the processor that has a process' FPU context.
1998-09-30 18:40:58 +00:00
pk
4826aac9cf
Make the current FPU owner (`fpproc') a per-CPU entity. Unresolved issue
...
as yet: lazy FPU context switching may require co-operation from other
CPUs.
1998-09-30 18:38:57 +00:00
pk
8c29324cc7
Kernel configuration with multi-processor support.
1998-09-27 15:10:25 +00:00
pk
0a090af2c7
Add `ldstub()'.
1998-09-27 14:32:14 +00:00
pk
e6ce8bcfc7
sparc spin lock functions.
1998-09-27 14:31:18 +00:00
pk
0a1a6fb7e0
This file is no longer used
1998-09-26 20:51:45 +00:00
pk
166c2a5fa5
fix typo
1998-09-26 20:15:59 +00:00
pk
9f352b7e15
Stop all other CPUs upon entering a debugger.
1998-09-26 20:14:48 +00:00
pk
01e64c640c
Implement mp_pause_cpus() and mp_resume_cpus(): pause and resume all
...
CPUs except the one running this code.
1998-09-26 20:13:56 +00:00
pk
6ad3a051e8
mp_{pause,resume,halt}_cpu() prototypes.
1998-09-26 20:12:06 +00:00
pk
8ddcd514a6
Use CPU start function in obp.c
1998-09-26 19:09:56 +00:00
pk
fe1cf94b9f
Add wrappers for PROM's CPU start/stop functions.
1998-09-26 19:08:09 +00:00
pk
a89a10c394
Add file obp.c
1998-09-26 19:06:47 +00:00
pk
43c1cb852c
Move PROM interface prototypes into openprom.h
...
Use the `openprom_addr' structure for passing around physical addresses.
1998-09-26 18:20:19 +00:00
pk
09a4cf6caa
Move PROM interface routines into their own file.
1998-09-26 18:15:34 +00:00
pk
eb8de83739
`eccmemctl' inadvertently got into the `mandatory' list.
1998-09-25 11:40:16 +00:00
pk
27569e4050
Initialize pointer to the boot CPU's interrupt register.
1998-09-24 20:38:43 +00:00
pk
831354d6de
Add `intreg' cpuinfo offset.
1998-09-24 20:37:17 +00:00
pk
58ab38cb69
Use per-CPU interrupt status register.
1998-09-23 11:07:28 +00:00
pk
9eca565a37
Make cgsix_sbus & cgsix_obio dependent on their respective attribute.s
1998-09-23 08:49:46 +00:00
pk
d6746389a4
The nmi_* routines are sun4m-only.
1998-09-23 08:44:51 +00:00
pk
aa1cf01930
Express per-processor interrupt registers in a C structure as well.
1998-09-22 13:42:26 +00:00
pk
bd37118769
Dup header.
1998-09-22 13:41:03 +00:00
pk
eca50c1c33
Flush cache after diddling with trap vectors.
1998-09-22 13:40:08 +00:00
pk
1186ba5102
Introduce a `flush entire cache' method.
1998-09-22 13:39:19 +00:00
pk
5afb0e8bcb
Keep the per-processor interrupt status in the cpuinfo structure.
...
For now, map them to the fixed virtual addresses set up early in autoconf.c
1998-09-22 13:08:44 +00:00
chs
c945760779
sign-extend some operand types which need it.
1998-09-22 05:40:14 +00:00
pk
709360e3ce
Fill the `bpp' slot.
1998-09-21 21:13:51 +00:00
pk
20f2898a0c
Merge sun4 and sun4c version of memerr() again.
1998-09-21 10:32:00 +00:00
pk
af19654e85
We no longer need to access memerr() through a function pointer.
...
GC `cpumod' and `mmumod'.
1998-09-21 10:30:41 +00:00
pk
c3b26811ac
We no longer need to access memerr() through a function pointer.
1998-09-21 10:29:20 +00:00
pk
ec34e18063
Don't map sbus `registers' on sun4c (i.e. sbus @ mainbus); it's almost
...
certainly not the control space we want..
1998-09-20 20:08:52 +00:00
pk
7a147080b8
Async arguments are no longer passed to the memory fault handler.
1998-09-20 20:01:15 +00:00
pk
4bf750b7df
Add sun4m NMI handlers.
1998-09-20 20:00:09 +00:00
pk
d0d9bb7669
Dedicate a pair of entry points to handling sun4m level 15 (NMI) interrupts.
...
Hardware NMIs are generated on various fault conditions that take place
asynchronously to the instruction stream. Software NMIs are going to be used
for inter-processor communications.
Get synchronous fault information separately from asynchronous fault
information. Do the former right after taking a memory fault trap and
store the values in temporary locations within the cpuinfo structure (XXX),
so we can unconditionally clear the sync fault status register after
MMU probe operations. This all is to work around a Hypersparc feature
which could lead to loss of fault information because of the fault
status register getting locked.
1998-09-20 19:54:48 +00:00
pk
cd8dfa6798
Account for changes in struct cpuinfo & locore
1998-09-20 19:39:18 +00:00
pk
4128057c52
Split memory fault status function into `synchronous' and `asynchronous'
...
versions.
1998-09-20 19:37:50 +00:00
pk
2734182a74
Re-arrange the sun4m cases a bit.
...
Entry points no longer have async arguments.
1998-09-20 19:34:16 +00:00
pk
c3e742adfb
Format string for SI register.
1998-09-20 19:31:37 +00:00
pk
b6da06d637
Name fault registers more like they're referred to in various docs.
1998-09-20 19:29:10 +00:00
pk
a1a94bc5fc
Use the expected name for the config attach structure.
1998-09-19 16:50:31 +00:00
pk
0a6347a24d
Provide an error entry point like sbus and memory.
1998-09-19 16:45:43 +00:00
pk
812eb8c1da
Add %b format strings.
1998-09-19 16:44:59 +00:00
pk
25d48215a2
Map Sbus control registers.
1998-09-19 15:49:50 +00:00
pk
8381b55bd7
Add a bunch of SBus control register definitions.
1998-09-19 15:48:55 +00:00
pk
1bcd9d3bbb
Pass the children register space in the attach arguments.
1998-09-19 15:47:18 +00:00
pk
ced4225429
Add `eccmemctl' device.
1998-09-18 20:19:12 +00:00
pk
b3c7ebb7cd
Handle ECC memory control found on a number of machines.
...
Also defines an entry point for memory errors reported by module interrupts.
1998-09-18 20:18:10 +00:00
pk
81d435b491
sigh.. put back non-garbage collectible `que' functions.
1998-09-18 08:07:08 +00:00
thorpej
dcb541531a
Minor cosmetic change.
1998-09-17 02:33:06 +00:00
thorpej
c006c7c0da
Sync w/ sendsig().
1998-09-17 02:30:02 +00:00
thorpej
e5ea525b9f
Slight brain'o in last.
1998-09-17 02:26:26 +00:00
thorpej
5bc9dafaee
Minor cosmetic change to sendsig().
1998-09-17 02:24:56 +00:00
pk
59e5588098
Map the per-CPU counter registers into each cpu info area.
1998-09-16 13:39:48 +00:00
pk
49b5114713
Make all cpu info structures accessible through an array `cpus[_MAXNCPUS]'.
1998-09-16 13:36:23 +00:00
pk
543070847c
Can't afford a 1K buffer in the data segment.
1998-09-15 20:03:50 +00:00
pk
0ad1257add
sub-arch protection.
1998-09-15 13:12:25 +00:00
pk
fb38024157
Use `swap' to install page-table entries which is recommended practice
...
for MP configurarions.
1998-09-14 22:45:36 +00:00
pk
1736bda754
Define `swap'.
1998-09-14 22:43:29 +00:00
pk
0a46abfd42
Collect redundant code into cpu_setup().
1998-09-14 10:37:12 +00:00
pk
b1b69e4195
Fix cache bit confusion in pmap_alloc_cpu().
1998-09-14 09:46:11 +00:00
pk
ff383dc20d
Add compat_13_machdep.c
1998-09-13 20:34:34 +00:00
pk
190e4c429d
Move compat_13 sigreturn() into its own file.
1998-09-13 20:33:33 +00:00
pk
82d2ea3a70
Remove left-over SUNOS_COMPAT line.
1998-09-13 20:24:15 +00:00
pk
9658554e18
Replace previous by something more complete.
1998-09-13 20:17:54 +00:00
pk
9d9f22fa79
Signal handling changes: sunos compat gets its own sendsig(); sunos
...
sigreturn() == compat_13_sigreturn().
1998-09-13 20:07:54 +00:00
mycroft
4e4f120db9
Update these for signal handling changes.
...
XXX Not tested yet.
1998-09-13 12:13:49 +00:00
pk
90054fd502
New sigcontext.
1998-09-13 11:41:02 +00:00
pk
ba67f63901
Sync function prototypes; remove unsed variables.
1998-09-13 11:34:04 +00:00
pk
b8de221a1e
Pull in <sys/syscall.h> directly into locore.s
1998-09-13 11:12:36 +00:00
pk
875bff538c
A few slight optimizations.
1998-09-12 19:50:59 +00:00
pk
ad0f4a6fbb
Nuke `insqeu' and `remque'
1998-09-12 19:46:00 +00:00
pk
8b7ee2cd89
Add hatching code for other CPUs.
1998-09-12 19:44:17 +00:00
pk
e120fa4e14
Machinery to configure multiple CPUs. All CPUs found are spun up from the
...
auto-configuration cpu_attach() function using the firmware.
Currently, all CPUs except the one used to boot end up in an idle loop
in locore.
1998-09-12 15:33:40 +00:00
pk
1b077ae1cd
Set cache control bits according to configured preference (if any).
1998-09-12 15:08:04 +00:00
pk
097a922a9c
Add field holding the physical address of the MMU context table.
1998-09-12 14:12:49 +00:00
pk
f390eccd7d
Add missing bits to per-CPU MMU table allocator routine.
1998-09-12 14:11:53 +00:00
pk
cd0a5fe245
Define some bit-format strings.
1998-09-12 13:59:19 +00:00
pk
18fbdfc2f8
Expose `v3' routines to everyone.
1998-09-12 13:34:38 +00:00
mycroft
62ea009b0e
Update for signal handling changes.
1998-09-11 13:31:39 +00:00
pk
f6b7ca884e
Use our brand new extent_alloc1() function to allocate cache-aligned
...
DVMA addresses.
1998-09-10 21:08:39 +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
pk
07b0821d4d
Adapt to cpuvar.h changes.
1998-09-07 23:04:28 +00:00
pk
b09b9f7339
De-couple the CPU info structure from auto-configuration structures.
1998-09-07 23:02:40 +00:00
pk
729d765620
Clear up some type confusion.
1998-09-07 22:56:46 +00:00
pk
e21c0b3450
Need to cast sbus attach `prom_vaddrs' field.
1998-09-07 07:15:51 +00:00
pk
c4c4e35608
Undo last change (we're passing the address of a pointer here).
1998-09-07 07:11:11 +00:00
pk
457395fe53
Use the new "%b" format.
1998-09-06 21:38:36 +00:00
pk
c529fe0888
memerr() is now an indirect call.
1998-09-06 21:18:59 +00:00
pk
cda6fb7430
Sanitize memerr*() a bit.
1998-09-06 21:14:56 +00:00
eeh
484ce04810
The `address' field from the prom is really an unsigned 32-bit value.
...
Make it so.
1998-09-05 22:29:49 +00:00
eeh
5dc93bd9fe
Remove function naming conflict.
1998-09-05 22:15:51 +00:00
pk
b39d7e33be
Assign my copyrights to TNF.
1998-09-05 15:42:41 +00:00
christos
50909bd6d9
Assign copyright to TNF.
1998-09-05 15:28:08 +00:00
lukem
c9db84ecc9
distclean is a synonym for cleandir
1998-09-05 15:15:14 +00:00
pk
acf16f7096
Assign my copyrights to TNF.
1998-09-05 15:11:22 +00:00
pk
2c9a80baf4
Assign my copyrights to TNF.
1998-09-05 14:01:08 +00:00
pk
5ebcb31dd0
Assign my copyrights to TNF.
1998-09-05 13:45:46 +00:00
pk
30b5826331
Hang on to `old VM' a little while longer..
1998-09-01 18:05:27 +00:00
pk
779f357ede
Implement cache alignment in bus_dmamem_load().
1998-08-31 20:00:22 +00:00
pk
4dbdab4423
Erase sparc_nam2blk[].
1998-08-30 21:54:25 +00:00
pk
88ab783b42
Define floppy device major number.
1998-08-30 21:53:35 +00:00
pk
fc313d9031
Nuke old getprop() function and put its successor in place.
1998-08-30 21:30:41 +00:00
pk
400208c8b7
getpropA() => getprop()
1998-08-30 21:27:32 +00:00
pk
6f2539f8a6
getpropA() => getprop().
1998-08-30 21:26:46 +00:00
pk
fe6b9295a8
Adjust for some small changes in lsi64854 back-end driver.
1998-08-29 21:43:00 +00:00
pk
0a30d383a0
Sbus `esp' and `le' front-ends now attach in `sys/dev/sbus/files.sbus'.
1998-08-29 20:53:11 +00:00
pk
e4091cb757
Split `esp' driver and DMA engine into separate front-end files.
...
The Sbus front-ends have all been moved to `sys/dev/sbus', while
the `obio' front-ends remain here.
1998-08-29 20:49:35 +00:00
pk
1f0567dd53
Nuke unnecessary header files.
1998-08-29 20:38:38 +00:00
mrg
ed88a6f103
add support for finding kernels other than `netbsd'. the list is:
...
netbsd, netbsd.gz, netbsd.old, netbsd.old.gz, onetbsd, onetbsd.gz
and vmunix, in that order. this is used by the bootable `bootfs'
image (suitable for floppies and cdroms), which contains a netbsd.gz
by default.
while i'm here, fix up `boot [device] -s' which got broke when
booting kernels with a - in their name was fixed..
1998-08-29 06:40:43 +00:00
pk
8e0c62893c
Remove cache flush from dma_espintr(); the bus dma routines take care
...
of that now. Hence we no longer need <sparc/cpuvar.h>.
1998-08-28 20:14:36 +00:00
pk
ca868d7da6
Specify our boundary restriction when allocating DMAble memory.
1998-08-28 20:07:52 +00:00
pk
221a000391
Pass on bus_dma*() aligment and boundary arguments.
1998-08-28 20:02:19 +00:00
pk
f6a208ce6b
Nuke Dprintf; fix formats.
1998-08-28 08:57:38 +00:00
pk
7e95972ed1
Add `audiocs' ("SUNW,CS4231") and `en' ("ENI-155s").
1998-08-27 20:56:44 +00:00
mrg
82571f5403
move isp sbus attachment to dev/sbus
1998-08-27 11:41:24 +00:00
pk
af5a3e52a5
yanko
1998-08-25 08:28:53 +00:00
pk
c6905522d2
These files are no longer used.
1998-08-24 07:23:10 +00:00
pk
66795e62e7
Move sparc_vme_dmamem_map() outside `#ifdef SUN4M'
1998-08-23 10:40:38 +00:00
pk
4539119e83
Nuke phys_map & old dvmamap.
1998-08-23 10:08:25 +00:00
pk
4fe6cdf6ca
Nuke obsolete prototype.
1998-08-23 10:07:09 +00:00
pk
2a6be00de5
Rename DVMA constants.
1998-08-23 10:05:53 +00:00
pk
666587112f
Use bus_dmamem_{alloc,free} instead of the old VM hack.
1998-08-23 10:04:56 +00:00
pk
e68fd96987
Remove DVMA address special cases in pv_changebit().
1998-08-23 10:01:24 +00:00
pk
434a2cc972
Nuke phys_map & old dvmamap.
1998-08-23 09:59:24 +00:00
pk
9a2b941ecb
Rename DVMA constants.
1998-08-23 09:53:03 +00:00
mrg
c54c62ad31
bsd_audioio.h is not used.
1998-08-22 15:56:46 +00:00
pk
79dd1e8563
Convert to [pv]addr_t & [pv]size_t.
1998-08-21 14:13:53 +00:00
pk
b8a1caac4a
Convert to [pv]addr_t & [pv]size_t.
1998-08-21 14:12:18 +00:00
pk
24255abca0
iommu_{enter,remove} moved to iommuvar.h
1998-08-21 14:10:42 +00:00
pk
ca5b5652b4
Remove vm_offset_t & vm_size_t.
1998-08-21 14:09:59 +00:00
pk
f318f15bc3
Convert to [pv]addr_t.
1998-08-21 14:07:37 +00:00
pk
7575f8fac5
Move iommu_enter/iommu_remove here from <include/cpu.h>.
1998-08-21 13:29:57 +00:00
pk
02d030ca52
Pass on `NOWAIT' and `boundary' args to extent_alloc().
1998-08-20 20:49:33 +00:00
pk
363b678b9e
Flesh out more of the sun4 busdma functions.
1998-08-20 20:46:59 +00:00
pk
02c059eefa
Pay attention to BUS_DMA_NOWAIT & boundary args where appropriate.
1998-08-20 20:45:40 +00:00
pk
aee27828f9
Some machines (Voyagers) apparently have zs devices with multi-valued
...
register properties in the PROM.
1998-08-20 11:47:39 +00:00