pk
2076dbdb04
Install the sparc V8 multiply/divide routines after we've collected some
...
basic information on the CPUs.
2002-12-18 11:56:43 +00:00
mrg
1a854929dd
we use nmi_hard and nmi_soft on SUN4D as well
2002-12-18 06:20:36 +00:00
pk
a26cbfba69
Deal with an `unimplemented flush' trap from kernel mode.
2002-12-17 10:04:19 +00:00
pk
c2ddc52f2d
The cache flush routines now take a CPU context parameter. This is going
...
to be necessary in SMP kernels.
2002-12-16 16:59:09 +00:00
pk
b036b089a7
Multiple inclusion protection.
2002-12-16 16:24:40 +00:00
jdc
0a3a2262cb
Increment version number for match function and Cycle 5 IP changes.
2002-12-16 13:02:58 +00:00
jdc
079b83cafa
Extend the matching routine to take a function pointer, so that additional
...
(arbitrary) matching can be done.
Add match function and patch for Cycle 5 IP (Sparc 5 clone).
Reviewed by Uwe.
2002-12-16 13:01:01 +00:00
martin
ae7d5baab6
Fix pasto - make it compile for !MULTIPROCESSOR
2002-12-15 23:01:09 +00:00
pk
9313f9570d
Disable `unimplemented flush' traps during boot. Keep it disabled on
...
non-MULTIPROCESSOR kernels.
2002-12-15 15:01:08 +00:00
christos
cc079cff49
release the kernel lock if trace_enter fails.
...
XXX[1]: We need to fix all platforms that do this.
XXX[2]: x86 does not check for MPSAFE syscalls before grabbing the lock.
2002-12-14 14:52:24 +00:00
pk
f4fe3fda21
dumpsys(): Use pmap_kremove() to unmap pages mapped pmap_kenter().
2002-12-12 09:34:04 +00:00
pk
047870f66e
softintr_establish(): append handler to the list for the actually choosen
...
processor interrupt level.
2002-12-11 13:21:19 +00:00
pk
e675712f0d
* loadfile() return a file descriptor that must be closed.
...
* check the kernel size before loading
2002-12-11 10:35:06 +00:00
thorpej
e8cc3884de
Rename __LDPGSZ to AOUT_LDPGSZ, to accurately reflect what it is.
2002-12-10 17:14:02 +00:00
pk
725a6aebf7
Remove the `flags' argument from bus_intr_establish().
2002-12-10 13:44:47 +00:00
pk
5446e96bac
bus_intr_establish() now takes an optional `fast trap' handler argument.
...
BUS_INTR_ESTABLISH_FASTTRAP and BUS_INTR_ESTABLISH_SOFTINTR are no longer used.
2002-12-10 12:16:25 +00:00
pk
45c45fca81
intr_establish() signature change: pass NULL for the `fast trap' argument.
2002-12-10 12:13:24 +00:00
pk
fe233fdc10
The `fast trap' handlers are now pssed as an optional argument to
...
bus_intr_establish(). Allow fall-back on a regular interrupt handler if
the interrupt level must be shared with another device.
2002-12-10 12:11:21 +00:00
pk
4f62e0f7c8
* intr_establish() now takes an optional `fast trap' routine argument.
...
* also remove __P().
2002-12-10 12:04:51 +00:00
pk
6f945ab887
Allow a `fast trap' handler installation to be undone if an interrupt level
...
must be shared. This requires drivers that request the installation of
a `fast trap' handler to supply a regular interrupt handler as well to fall
back on.
The `fast trap' routine (if present) is now passed as an additional
argument to intr_establish().
2002-12-10 12:03:08 +00:00
thorpej
78ea2dd367
Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out
...
executables, and eliminate the USRTEXT constant, which was only used
by the a.out exec code.
2002-12-10 05:14:24 +00:00
pk
04e582df1b
setsoftint() is no longer used.
2002-12-09 16:13:58 +00:00
pk
48a30a2e35
Soft interrupts use their own set of handlers lists.
2002-12-09 16:13:23 +00:00
pk
c822c6bd84
Finish the switch to the softintr(9) framework.
...
To make this work, we now have to use separate handler lists for hardware
and software interrupts as the soft interrupt handlers do not return
an `interrupt handled' status.
Thanks to Matt Fredette for providing an initial set of patches on port-sparc.
2002-12-09 16:11:50 +00:00
pk
74a8332ee9
cpu_switch(): avoid raising the interrupt level and enabling traps at the
...
same time as this may cause a spurious interrupt in some implementations.
Pointed out by uwe.
2002-12-08 16:16:59 +00:00
uwe
38b8c5689a
Use 0x07ffffff for LOADADDR mask. This still provides for 128MB (and
...
given that PROM maps just 4 or 16 this is not going to be a bottle
neck). Doesn't really affect normal kernels, need it for the changed
kernel base address (uncommitted) hack for broken javastation OFW.
Ok by pk.
2002-12-08 14:36:55 +00:00
pk
6c8d3fba22
Use MI versions of {set,rem}runqueue().
2002-12-07 10:27:03 +00:00
pk
9ebe0ee7a6
ienab_bi[cs] are never used in a context common to both sun4/4c and sun4m,
...
so there's no point in constructing common entry points for them in locore.s.
2002-12-06 17:45:39 +00:00
pk
1b719337bb
Pass the `device class interrupt level' on to intr_establish() and use to
...
raise the ipl in the interrupt handlers to the appropriate level. This avoids
interrupt handler interference if one of the devices actually interrupts at
a lower hardware level than the maximum level assined to a device class.
Based on code from Art Grabowski in openbsd.
2002-12-06 16:04:11 +00:00
pk
721e534a25
Use IPL_SOFTFDC.
2002-12-06 15:37:55 +00:00
pk
e093913db8
Use IPL_SOFTAUDIO.
2002-12-06 15:37:39 +00:00
pk
060fa93542
Start using IPL_* constants from intr.h; phase out PIL_* in psl.h
2002-12-06 15:36:45 +00:00
fredette
0fee3368c3
Fixed a null pointer passed to printf().
2002-12-05 18:05:33 +00:00
uwe
6c05e7879f
Fix an options<space><tab> nit.
2002-12-04 23:30:40 +00:00
uwe
23c0293ee7
The chip treats weekday 1 == Sunday, correct dt_wday adjustment logic
...
appropriately. NB: the old code would never write weekday zero that,
I've been told, might cause the RTC to reset.
Pointed out by kenh.
2002-12-03 17:54:54 +00:00
pk
59c9274871
Always get the `mid' cpu property. Whine if it's not set on an actual
...
multi-processor machine.
2002-11-29 08:29:57 +00:00
pk
03549142e0
Find the CPU architecture version early in the bootstrap phase, and switch
...
to the V8 specific .mul/.div/.rem routines while we still have a writable
.text section.
2002-11-29 08:02:05 +00:00
pk
565cedc81e
Provide the V8 mul/div routines for SUN4D as well.
2002-11-29 07:56:50 +00:00
pk
6564749632
Move the installation of v8 specific .mul/.div functions into a separate
...
routine to be called when we're sure the CPU is actually sparc version 8.
2002-11-28 15:32:15 +00:00
pk
8d141cba88
Not all sun4m platforms have version 8 sparc CPUs. So go out to the PROM
...
and get the CPU architecture version from the PROM cpu node `sparc-version'
property.
2002-11-28 15:29:53 +00:00
pk
f19c04e3ed
Move timer{match,attach}_mainbus() back into timer.c, since the `timer at
...
mainbus' configuration declaration is orthogonal to the configured SUN4[CM]
platform options.
2002-11-28 14:18:31 +00:00
pk
ba4983b5db
Provide sparc v8 multiply/divide routines which are copied over the base
...
v7 versions on sun4m and sun4d machines. Based on Chris Torek's BSD/OS
code.
2002-11-27 16:08:34 +00:00
lukem
0635de35a3
Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
2002-11-26 23:30:07 +00:00
christos
729ccbc9cd
si_ -> sel_
2002-11-26 19:49:00 +00:00
thorpej
09dfaace39
The traditional C preprocessor is fixed in GCC 3.3 now, so no need
...
to skip -traditional-cpp for HAVE_GCC3.
2002-11-26 18:51:12 +00:00
pk
007c037980
* pmap_destroy(): reset the region gap
...
* pmap_quiet_check(): add check for pmeg leaks on sun4/4c (this is DEBUG only).
2002-11-26 15:09:56 +00:00
pk
0fad562c7c
The presence of the `timer at obio' attachment is independent of the
...
various CPU support settings.
2002-11-26 14:43:39 +00:00
pk
ec667a0f51
Add `machdep.cpu_arch' sysctl to determine the CPU architecture version.
...
Currrently, cpu types `sun4' and `sun4c' produce version 7, all others
version 8.
2002-11-26 14:36:10 +00:00
martin
070e18f3f3
Assign a major number for "lpt* at ebus?".
2002-11-24 20:58:06 +00:00
wiz
e78e668887
Fix typo (responsiness -> responsiveness).
2002-11-22 12:20:58 +00:00