veego
6cf26b26ae
s/_round_page/m68k_round_page/ s/_trunc_page/m68k_trunc_page/
...
s/_btop/m68k_btop/ s/_ptob/m68k_ptob/
1997-06-10 19:42:25 +00:00
veego
6dbfc7764b
s/_round_page/m68k_round_page/
1997-06-10 19:37:58 +00:00
veego
b1dc6a8603
s/_trunc_page/m68k_trunc_page/
1997-06-10 19:36:53 +00:00
veego
a204fb7981
Initialize machine from MACHINE.
1997-06-08 23:54:19 +00:00
jeremy
3f6f86d875
Undo changes which make pmap_xxxx_page() functions re-entrant; just block
...
all interrupts which might cause re-entrancy.
Allow virtual addresses which are not managed by the MI VM system to
participate in the PV system.
Remove a few frivoulous TLB cache flushes.
1997-05-30 07:02:14 +00:00
gwr
e512003d6e
Add non-inline version of _splraise.
1997-05-29 22:20:01 +00:00
jeremy
1b2aae80c2
Added new lock system for the two virtual pages used in temporary mappings.
...
Allows pmap_zero_page() and pmap_copy_page() to be re-entrant.
1997-05-28 04:28:52 +00:00
jeremy
b53e0d4fb7
Coded to work with new lock system for tmp_vpages.
1997-05-28 04:27:00 +00:00
jeremy
0304ff6aed
Implement code to dynamically size the number of page tables based on available
...
RAM at boot.
Also did some cleanup of unused functions, updated several comments, and
removed unecessary 'XXX's.
1997-05-20 06:01:19 +00:00
gwr
a83cf310c1
The Hydra is 20 MHz and the Pegasus is 33 MHz.
1997-05-14 16:45:22 +00:00
gwr
5079510304
Make the "hydra" call leds_hydra() from clock_attach().
1997-05-14 16:42:45 +00:00
gwr
b209530013
Remove call to leds_init (it is already in obio_init).
1997-05-14 16:13:31 +00:00
gwr
1aa91b893d
Eliminate references to vmspace.vm_pmap
...
(also fix some comments).
1997-05-13 17:17:12 +00:00
jeremy
3d8d0c485c
Add call to leds_init() after everything has started up ok.
1997-05-11 06:15:09 +00:00
jeremy
3f7423a432
Wrap all label references with new macros in m68k/asm.h in preperation
...
for ELF switchover. (eventually)
1997-05-02 23:07:35 +00:00
gwr
24af362f60
Implement pmap_pa_exists() so that /dev/mem works.
...
This was the reason ps (kvm_getargs) did not work.
1997-05-01 15:00:11 +00:00
gwr
b9a0ca59bb
oops...
1997-05-01 14:58:20 +00:00
gwr
42f8cf900b
Use unsigned when doing copy/xor check.
1997-04-28 23:43:56 +00:00
gwr
cb96a536e4
Add a comment about obio_mapin().
1997-04-28 23:38:47 +00:00
gwr
1046c915b6
Drivers that use obio_mapin should enforce OBIO attachment
...
(just to be paranoid).
1997-04-28 23:30:19 +00:00
gwr
678f326c7f
Make idprom_init() figure out where the IDPROM resides.
...
Add autoconfig glue, which currently just shows the
address where the IDPROM was found.
1997-04-25 19:02:06 +00:00
gwr
4c64781365
Moved the actual model identification work into identifycpu(),
...
which used to be in _startup.c:_verify_hardware().
Use sunmon_abort() in cpu_reboot() for now...
1997-04-25 18:52:11 +00:00
gwr
9ae1b69554
Rename "Idle" to "_Idle" so clock.c can reference it.
1997-04-25 18:48:39 +00:00
gwr
25d7b6b348
Provide a struct representing only the clock.
1997-04-25 18:47:41 +00:00
gwr
885a1fc439
Add /dev/leds support.
1997-04-25 18:46:10 +00:00
gwr
2dd63e3378
Use bus_mapin, and minor tweaks.
1997-04-25 18:45:39 +00:00
gwr
f7749f47fe
Add "oclock" support for the Sun3/470.
1997-04-25 18:31:37 +00:00
gwr
8f9276c727
Move the _verify_hardware() work into machdep.c:identifycpu().
...
Call obio_init() after _vm_init() so we can use peek_byte() to
probe the idprom. Be quiet in _save_symtab() when all is well.
1997-04-25 18:29:58 +00:00
gwr
477a320277
Moved bus_scan() and bus_print() here from autoconf.c
...
because they are now different in sun3 vs sun3x.
1997-04-25 18:02:47 +00:00
gwr
3619a4da3d
Rename obio_alloc to obio_mapin, update *_init declarations.
...
Remove OBIO_P4_REG (not a fixed address, but per-device).
1997-04-25 18:00:49 +00:00
gwr
963c410824
Change the OBIO address probe order a little, to allow determination of
...
which kind of idprom and clock we have (3/80 vs 3/470 differences).
Fix a bug where obio_submatch() failed to copy some locators.
Rename obio_alloc to obio_mapin. Add lots of comments.
1997-04-25 15:35:27 +00:00
thorpej
48fa8154e7
Adjust for <m68k/m68k/trap_subr.s>
1997-04-25 01:49:05 +00:00
thorpej
f05b58b229
Use common m68k sigcode.
1997-04-13 02:37:15 +00:00
thorpej
a2be180b39
Adjust for new kcore.h
1997-04-09 21:00:35 +00:00
thorpej
00c04fe742
Use <m68k/m68k/proc_subr.s>
1997-04-09 20:58:33 +00:00
jeremy
b7dd41d4e2
Location of printer port registers for 3/80 was off.
1997-04-09 04:42:25 +00:00
gwr
b5f838ad77
Add a comment.
1997-04-04 20:48:59 +00:00
jeremy
68755b199e
Physical page status functions pmap_clear_reference()
...
and pmap_clear_modify() weren't testing if the page whose status was being
changed was being managed. This caused kernel panics with X11.
1997-04-01 02:15:33 +00:00
jeremy
b572daa4dc
In-tree GNU ``as'' does not know of 'pmove <reg>,tt0' instruction. Changed
...
instances of this instruction to hardcoded opcode statements. Thanks to
jthorpe for pointing this out.
1997-03-31 02:22:25 +00:00
thorpej
2268a2c7eb
Don't allocate mclrefcnt[]; it's dead and gone.
1997-03-27 21:01:52 +00:00
gwr
c29412f1bb
fix a warning
1997-03-26 23:27:12 +00:00
gwr
37b247edde
Renames: /dumpconf/cpu_dumpconf/, /boot/cpu_reboot/
1997-03-26 22:42:13 +00:00
gwr
90a79f75fe
Change continue to break in a few places (as suggested by mycroft).
1997-03-24 23:49:39 +00:00
gwr
7c0bd080c9
No longer force boothowto=RB_SINGLE|RB_KDB
...
(Yes, it goes multi-user just fine! 8^)
1997-03-24 17:57:12 +00:00
gwr
c874276d35
First cut at crashdump support.
1997-03-21 22:46:05 +00:00
gwr
4663c4fa2a
Sync with the sun3 version.
1997-03-18 23:49:07 +00:00
gwr
d531b1ed42
s/fpu_type/fputype/g
1997-03-17 19:03:11 +00:00
thorpej
b6f3695cd1
Use <m68k/m68k/support.s>
1997-03-16 11:04:52 +00:00
gwr
2f598d011a
Sync with sun3 (Trap 1,2,15 handlers)
1997-03-13 20:46:37 +00:00
gwr
ee531cb3c9
s/sun3x_/_/ in sun3x_(round|trunc)_(page|seg) macros
1997-03-13 17:40:33 +00:00
gwr
51cfd7ed4d
Get the numbers of kernel MMU tables right.
1997-03-06 05:16:34 +00:00
gwr
9a79f92460
Clean out some junk I forgot to remove last time...
1997-03-06 00:15:56 +00:00
gwr
a4e5a18b63
Add pmap_bootstrap_setprom() with sets the PROM level-A tables to
...
allow the PROM monitor to see mappings in kernel space. This also
fixes a problem with exiting to the monitor with the stack pointer
set to some place in kernel space. Also fix NUM_KERN_PTES, and
change get_pte() so it works on any virtual address.
1997-03-06 00:04:18 +00:00
gwr
3ca8e4699d
Add pmap_bootstrap_setprom
1997-03-05 23:55:54 +00:00
gwr
201bc0aa96
Add ptest_addr
1997-03-05 23:54:08 +00:00
gwr
da2622290c
Allow access to the PROM via /dev/kmem (like the sparc port)
1997-03-05 23:02:29 +00:00
gwr
63221bf3b2
Fix race conditions that allowed the interrupt latch register to have
...
the wrong value. Now using the <m68k/asm_single.h> stuff from Leo.
1997-03-05 22:22:11 +00:00
jeremy
c0b46da054
Use IOMMU_PAGE_SIZE instead of NBPG, since theoretically the IOMMU page size
...
is different than the CPU page size.
1997-03-03 06:51:42 +00:00
jeremy
290f55615a
Took switch statement out of main loop in pmap_protect() and explained more
...
of the rationale behind it.
1997-03-02 07:59:21 +00:00
jeremy
202a9fe423
Added some more comments and disabled removal of DVMA alias mapping from
...
kernel space in dvma_mapout() as it may cause problems with the current
pmap_remove().
1997-02-24 01:37:52 +00:00
jeremy
689b14f477
Get rid of inclusion of pmap_pvt.h and use the standard pmap functions for
...
mapping.
1997-02-24 01:35:33 +00:00
gwr
eb84168030
Suport size=4 in bus_peek(), and clean out some junk.
1997-02-22 19:27:18 +00:00
jeremy
0b6a4ac7bb
Make the device attach output look more like the SPARC iommu.
1997-02-22 04:02:39 +00:00
jeremy
d6034ecf66
Add page size constant, since I/O mapper page size may differ from cpu page
...
size.
1997-02-22 04:01:04 +00:00
jeremy
996c634929
Rewrite pmap_remove() to be speedier with large address spaces.
1997-02-22 03:18:30 +00:00
gwr
900bc3f621
Add OBIO_EMULEX_SCSI, and some comments about attach order.
1997-02-21 20:33:09 +00:00
jeremy
043293d2da
Added the '@' symbols that GAS needs for address register indirect addressing
...
statements that are used when PMAP_DEBUG is undefined.
1997-02-20 00:54:21 +00:00
gwr
c14237282d
Make this use sys/dev/clock_subr.[ch]
1997-02-19 23:38:46 +00:00
gwr
1b7813bc35
Just M68030 is enough.
1997-02-19 15:59:21 +00:00
gwr
eb8bfe4829
Forgot the quotes (slow down...)
1997-02-19 15:55:33 +00:00
gwr
62bb836d73
Oops... need to define M68020 for copy.s
1997-02-19 15:54:26 +00:00
jeremy
035b20b171
Update copyright and fix typos in macro definition used when not debugging.
1997-02-19 04:17:32 +00:00
gwr
d2a3410f0c
Moved straytrap() to trap.c (and minor cleanup)
1997-02-18 15:53:15 +00:00
gwr
e61bb6f903
Define "cold" over in autoconf.c
1997-02-18 15:30:01 +00:00
gwr
201c1f178e
Move bus_peek(), bus_mapin() here from autoconf.c so the latter
...
may be shared with the sun3 port.
1997-02-18 14:58:32 +00:00
gwr
7190ad9936
Fix a major bug in pmap_remove_kernel() that causd the removal of
...
one page too many (worse, it unmapped our stack page... Ouch!)
Also, use loadcrp() and such instead of calling pmap_activate
in various places so we have more control over TLB flush.
Now pmap_activate() is called only by locore (and that call is
done only if PMAP_DEBUG is defined). Other minor clean-up...
1997-02-16 19:38:08 +00:00
gwr
f01121ece4
Moved sendsig(), sys_sigreturn() to sun3/sig_machdep.c
...
Moved regdump() and friends to sun3/regdump.c
1997-02-14 20:00:51 +00:00
gwr
7275a8976f
Add pmap_count(), fix some bugs... (from Jeremy).
1997-02-14 03:56:49 +00:00
jeremy
8869e895a8
Convert meaningless '0' into a more human readable 'IOMMU_PDE_DT_INVALID'.
1997-02-13 07:38:21 +00:00
gwr
27b8c79679
Latest version from Jeremy. Changes too numerous to describe here.
1997-02-12 23:09:32 +00:00
gwr
c4fa121f14
Reinstate call to pmap_activate() for now, because it is helpful
...
for debugging the pmap code. The in-line version of the same is
still here and will be used if PMAP_DEBUG is not defined.
1997-02-12 23:06:27 +00:00
gwr
3476b1d4a4
Adapt to changes in pmap.h
1997-02-12 23:03:14 +00:00
gwr
6cb54de668
Avoid dereferencing null curproc in dumpmem().
1997-02-12 16:06:18 +00:00
gwr
bb7dc881a3
Force RB_SINGLE for now (in addition to RB_KDB).
1997-02-12 16:04:33 +00:00
gwr
05a09b938e
Must convert from/to BCD when reading/writing the clock chip.
1997-02-12 16:00:31 +00:00
gwr
6ef591a70b
Add a few more coments. (i.e. why init a6=0)
1997-02-11 19:06:08 +00:00
gwr
f914f723de
Add NBPG
1997-02-11 19:02:30 +00:00
gwr
7bd7620f61
Sync with sun3.
1997-02-11 00:56:08 +00:00
gwr
165a7a3eeb
Put all the name/value pairs in an initialized array of structures
...
so that this can be compiled to assembly code and then translated
directly into assym.h by a simple awk program (genassym.awk).
This program can still be run the old way for verification.
1997-02-03 19:31:44 +00:00
thorpej
8501929f45
Use copypage() and zeropage() in the right places.
1997-02-02 08:41:10 +00:00
thorpej
adcdf4cc59
zeropage -> devzeropage, and make it static.
1997-02-02 08:39:55 +00:00
thorpej
8d00d8cb60
Remove an un-true comment.
1997-02-02 08:38:51 +00:00
thorpej
95e30218f2
Declare and set cputype and mmutype.
1997-02-02 08:36:39 +00:00
gwr
5f1abbe73b
Add OBIO_EMULEX_SCSI
1997-01-27 22:42:44 +00:00
gwr
2e2e2a855c
Change "machdep.h" to <machine/machdep.h>
1997-01-27 22:33:34 +00:00
gwr
8fddc5d688
Kill sunmon.h
1997-01-27 22:24:03 +00:00
gwr
0352f52a7a
Kill sunmon.h; add sun "code names" (Hydra, Pegasus).
1997-01-27 22:22:51 +00:00
gwr
21da6a34c0
Add machdep.h; use sunmon_abort() instead of mon_exit_to_mon().
1997-01-27 22:16:37 +00:00
gwr
39d7966a63
Kill sunmon.h
1997-01-27 22:15:06 +00:00
gwr
c19546380b
Check interrupt_reg==0, not clock_va (Oops!)
1997-01-26 06:17:07 +00:00
gwr
b805b73cbe
Use sunmon_abort() instead of mon_panic().
1997-01-25 21:47:44 +00:00
gwr
b224329ecd
Just return if clock_va is not set.
...
Use <sun3/sun3/sunmon.h> for abort.
1997-01-25 21:46:19 +00:00
gwr
c0170a476f
Use <machine/machdep.h> and <sun3/sun3/sunmon.h>
1997-01-23 22:48:40 +00:00
gwr
d33b4cd423
Load the root pointer using VM_PMAP_MMUCRP
...
Also rename nodb_trap to _nodb_trap
1997-01-23 22:47:36 +00:00
gwr
73234aa5f6
Use <machine/machdep.h>
1997-01-23 22:44:43 +00:00
gwr
04f1ba99a2
Remove PCB_MMUCRP, add VM_PMAP_MMUCRP and VM_PMAP_A_TMGR
1997-01-23 22:40:38 +00:00
gwr
12e2d4d8f7
Replace the intersil7170 stuff with mostek48t02 stuff.
...
XXX: Still need to move date conversion functions to
XXX: libkern or somewhere...
1997-01-23 22:30:15 +00:00
gwr
8b175f2050
Move a bunch of stuff to sun3/sunmon.c where we can share it.
1997-01-23 22:27:29 +00:00
jeremy
d0ba6f78a0
Fixed leap year bug. (Doesn't happen until 2100, but still important.)
1997-01-23 04:13:39 +00:00
gwr
89778a556e
Do loadcrp(&mon_crp) only when returning permanently to the monitor.
1997-01-18 16:17:33 +00:00
gwr
4dcea02177
Fix a comment (PCB_MMUCTX is a virtual address).
1997-01-17 16:30:05 +00:00
gwr
aaf91fd6aa
Adapt to rename of pcb_mmuctx to pcb_mmucrp, and corrected
...
prototype of loadcrp(), which kills some bogus type casts.
1997-01-17 16:27:17 +00:00
gwr
67015f3d8b
Update for rename of pcb_mmuctx to pcb_mmucrp
...
Also reorder things a little.
1997-01-17 16:19:42 +00:00
gwr
f286cdd282
Move declaration of struct mmu_rootptr to mc68851.h
...
Kill a cast that is now unnecessary.
1997-01-16 22:12:50 +00:00
gwr
dad92086a4
Make sure the string passed to mon_reboot() is in our data segment
...
where the PROM can see it. (Bug found by Jeremy -- Thanks!)
1997-01-16 22:08:31 +00:00
gwr
07a2670421
Before dropping into the PROM monitor, restore its CPU Root Pointer (CRP),
...
and restore our own CRP if we resume. Make sure the string passed to
mon_reboot() is in our data segment where the PROM can see it.
1997-01-16 21:53:07 +00:00
jeremy
499dd92e9d
Added conditional include of iommu kernel driver manipulation routines.
...
Fixed a few comments.
1997-01-16 06:38:26 +00:00
gwr
2ffbfe169b
Punt some historical stuff that was ifdefed out.
1997-01-14 21:01:33 +00:00
gwr
daa7a6dc57
Initial import. Gets as far as nfs_mountroot.
1997-01-14 20:57:09 +00:00
gwr
3921aef310
Initial revision
1997-01-14 20:57:08 +00:00
gwr
cd05f4190d
Initial import. Gets as far as nfs_mountroot.
1997-01-14 20:57:07 +00:00
gwr
c8cc66764e
Initial revision
1997-01-14 20:57:06 +00:00
gwr
99f640b958
Initial import. Gets as far as nfs_mountroot.
1997-01-14 20:57:06 +00:00
gwr
2ad3428397
Initial revision
1997-01-14 20:57:05 +00:00
gwr
2dbfabbb97
Initial import. Gets as far as nfs_mountroot.
1997-01-14 20:57:01 +00:00