Commit Graph

225 Commits

Author SHA1 Message Date
gwr 1b01ec0993 First cut at UVM support. Compiles, but not tested yet. 1998-06-09 20:47:17 +00:00
gwr c714d95b83 First cut at MACHINE_NEW_NONCONTIG - not enabled yet. 1998-06-09 20:31:28 +00:00
gwr d74e1744f5 Fix a warning 1998-06-09 17:19:01 +00:00
gwr d0a7f4f72b Make this compile... 1998-06-09 17:10:11 +00:00
tv 00ede2160e Change ddb_init() for a.out to provision for kernels which are not booted by
the current 'bootblock' method, like the Shark, which preloads and preformats
the symbol table right in the boot code.
1998-06-09 01:57:41 +00:00
is 7a0f63f982 Back out the defopt for M680?0. As pointed out to me, this breaks ports which
dont use the M680?0 the way Amiga, Atari, Mac68k, and X68k do. I must have
missed this in the past discussion about this project.
1998-05-24 19:32:34 +00:00
is 6a6812fd92 Move M680[2346]0 to opt_m68kcpu.h.
XXX Some explicit dependencies could be removed now from the individual
arch/$ARCH/conf/Makefile.$ARCH files, but this is still to be done.
1998-05-23 20:51:06 +00:00
thorpej 6626878e7b It is no longer necessary for pmap_pinit() and pmap_release() to be
pmap interface functions, as NetBSD no longer uses statically allocated
pmaps (except for the kernel pmap, which is special-cased anyhow).
1998-05-19 19:00:11 +00:00
gwr b043198b53 Sync with sun3/machdep.c (should factor out common stuff...)
> Do the "early breakpoint" (if booted with "-d") even if we
> have only the PROM to handle it, so one can patch things.
1998-03-08 19:12:53 +00:00
thorpej 772da350d4 Disable the message buffer during crash dumps by clearing msgbufenabled,
not msgbufmapped.
1998-02-19 04:18:30 +00:00
jeremy a1efa84a4d Modified the comments for the recentlty implemented pmap_map() function. 1998-02-09 19:56:37 +00:00
gwr e3400ad779 Improve some diagnostics. 1998-02-08 05:07:06 +00:00
gwr 5b69e41858 Default the interrupt priority in match functions. 1998-02-08 05:05:54 +00:00
gwr 5193e1e30e Factor *peek out of bus_subr.c and move it to autoconf.c
(to reduce duplication).  Add bus_tmapin and bus_tmapout
for use in probe functions (gets a temporary mapping).
Add bus_mapout() to undo bus_mapin() if needed.
1998-02-08 05:02:50 +00:00
gwr e387ffba22 Add pmap_map 1998-02-08 04:57:58 +00:00
gwr eff2e270bd Merge arch/sun3x into arch/sun3 1998-02-05 04:56:24 +00:00
mycroft 15ae963bea When dumping, print out the device number as major,minor. 1998-01-24 16:46:23 +00:00
gwr c292276dcf Change our DVMA map from the last 16MB to the last 1MB because that is
the only part that is visible to VME masters, and is adequate space.
This allows the "si" driver (on VME) to use DMA transfers.
1998-01-22 22:20:35 +00:00
gwr 56100bea19 When calling iommu_* functions, use IOMMU_VA_MASK. 1998-01-22 22:12:36 +00:00
gwr 0c50bf6487 No need to print the size (it's constant). 1998-01-22 22:09:11 +00:00
gwr 19e7bf4dcd Add: IOMMU_VA_MASK 1998-01-22 22:07:45 +00:00
gwr cc1b4e4724 In pmap_bootstrap_copyprom, copy only the last PTE from the PROM's
DVMA segment (for the page reserved by the PROM).  If we copy all
the mappings, pmap_enter_kernel may complain about finding valid
PTEs that are not recorded in our PV lists.  Make pmap_remove_pte
do something reasonable if it finds a PTE for a managed page that
has not been recorded in the PV lists.  (Plus other minor stuff).
1998-01-22 22:00:25 +00:00
gwr 58126a3b29 Separate pmap_activate() from _pmap_switch(), so the latter can remain
equivalent to what locore.s:cpu_switch does with in-line assembly when
PMAP_DEBUG is not defined.  Also do splimp/splx in pmap_activate.
1998-01-22 21:48:42 +00:00
gwr 43013bccbb Use MONEND instead of DVMA_SPACE_START in the "DDB convenience" symbols. 1998-01-22 21:35:27 +00:00
thorpej 2565ff444a Update for config changes. 1998-01-12 20:35:04 +00:00
thorpej d14e18faa9 Make pmap_activate() take a proc *. 1998-01-02 20:10:26 +00:00
jeremy 070bd37c1b Pad out table manager structures so that all the members in the contiguous
table manager array allocated in pmap_startup() are properly aligned for
faster bus access.
1997-12-17 16:20:33 +00:00
tv 0a558b3f1f Standardize COMPAT_SUNOS -- remove all references to
sunos_exec_aout_makecmds() in machdep.c for various architectures and put
it in exec_conf.c like the other emulations; rename exec.h to
sunos_exec.h.
1997-12-04 15:33:17 +00:00
hannken 50be28153c Change order of include files. See PR #4532. 1997-11-18 12:40:31 +00:00
gwr 9420004b46 Remove the for-loop that wants to map multiple msgbuf pages.
Multiple msgbuf pages will not work without a redesign of
the kernel VM layout, so let's not pretend we can do it.
1997-10-23 02:24:41 +00:00
gwr 1060564fdc Make this generate the same output as kern/genassym.awk 1997-10-23 02:06:28 +00:00
gwr e9393ba0e4 MONSTART/monstart symbol 1997-10-16 16:14:44 +00:00
gwr a5b839419b Add VME support 1997-10-16 16:13:21 +00:00
gwr 5942f9b29a Check bustype in dvma_kvtopa() 1997-10-16 16:11:17 +00:00
gwr b4f7e0ec3d Remove the autoconfig glue. This driver is mandatory,
and the match/attach functions did nothing anyway.
1997-10-16 15:56:02 +00:00
gwr f78c7f1fd8 Add VME support 1997-10-16 15:50:05 +00:00
gwr 38af6e81df VME support 1997-10-16 15:39:36 +00:00
jeremy d2d5e50d91 Rewrote the comments about the operation of the I/O mapper to make them more
accurate and (hopefully) easier to understand.
1997-10-10 09:50:03 +00:00
jeremy 88a82f5e7a Corrected typo in comments. 1997-10-10 01:36:32 +00:00
gwr 0d541b4c08 Add dvma_malloc() for the ie driver. 1997-10-07 16:51:47 +00:00
gwr c669b1bdeb Do the cpu_kcore_hdr initialization a little differently.
(also fix - was not setting pg_frame, pg_valid)
1997-10-05 20:43:27 +00:00
gwr 6b27a0d34f Make cpu_reboot un-blank the screen (cnpollc(1)).
Validate space in page zero for the kcore header.
1997-10-04 20:03:46 +00:00
gwr 0ec1cda62f Move the call to cninit() up a level (easier to find). 1997-10-04 19:46:17 +00:00
gwr 3c0178f33d Make msgbuf stay in page zero 1997-10-02 01:15:04 +00:00
leo d4713d24c2 Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
mycroft a9155c5057 Set the status word as well, and remove a bogus comment. 1997-09-12 10:29:20 +00:00
mycroft 982f24e698 Always initialize all registers in setregs(). 1997-09-12 07:00:30 +00:00
mycroft 16a8787248 Fix execve(2) and *setregs() interfaces so emulations can set registers in a
more correct way.  (See tech-kern.)
1997-09-11 23:01:44 +00:00
jeremy bbf76eb63e Implement pmap and va caching within C table managers to help speed
up PV->(pmap,va) operations.
1997-07-02 03:23:57 +00:00
mrg 552af779d2 bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:46:19 +00:00
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