Commit Graph

1036 Commits

Author SHA1 Message Date
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 2e84cacf02 Add dev/clock_subr.c 1997-02-19 23:36:38 +00:00
gwr b76d5979d8 Make this use sys/dev/clock_subr.[ch] 1997-02-19 23:35:02 +00:00
gwr 69da16abc9 Need to define M68020 for copy.s
Add PM_CTXNUM, tweak...
1997-02-19 16:02:59 +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 7e74608bf9 Get the screen size right on the 3/260 (Fixes PR#2402) 1997-02-19 00:22:40 +00:00
gwr 8b7e154aab Oh... can not set cold=0 before swapconf() is done with any I/O
that might cause a call to sleep (procinit not done yet).
1997-02-19 00:20:52 +00:00
gwr 5f501028f6 No longer need pm_stats 1997-02-18 21:21:11 +00:00
gwr 9ed330d6df Add pmap_wired_count() 1997-02-18 20:18:56 +00:00
gwr 12fdd0800f Add pmap_wired_pages() 1997-02-18 20:16:54 +00:00
gwr 3480f70835 Set kgdb_debug_panic if we connect to gdb. 1997-02-18 16:09:59 +00:00
gwr d2a3410f0c Moved straytrap() to trap.c (and minor cleanup) 1997-02-18 15:53:15 +00:00
gwr c1699a0c88 Add a debug helper for detecting recursive kernel-mode traps.
Move straytrap() here from machdep.c
1997-02-18 15:37:57 +00:00
gwr e61bb6f903 Define "cold" over in autoconf.c 1997-02-18 15:30:01 +00:00
gwr 626bde2f9b Add bus_subr.c 1997-02-18 15:10:40 +00:00
gwr 1af5733370 New implementation of the findroot/setroot business. Eliminates
dependency on wired-down SCSI target/LUN for boot devices.
1997-02-18 15:07:29 +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 48da5b3d44 Move bus_peek(), bus_mapin() here from autoconf.c so the latter
may be shared with the sun3x port.
1997-02-18 14:57:41 +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 2053794556 Add sun3/regdump.c 1997-02-14 20:10:50 +00:00
gwr ae0ec6bc84 Moved regdump() and friends to sun3/regdump.c 1997-02-14 20:09:14 +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 780e636b2d Pull regdump() out of machdep.c and correct a problem where it
would try to print things that are beyond the end of the stack.
1997-02-14 19:55:18 +00:00
gwr 7275a8976f Add pmap_count(), fix some bugs... (from Jeremy). 1997-02-14 03:56:49 +00:00
gwr dc9ad25881 Define pmap_resident_count(), pmap_wired_count() as
macros that call pmap_count().  (from Jeremy).
1997-02-14 03:55:33 +00:00
gwr fb373dd41e Add sun3/sig_machdep.c 1997-02-13 22:21:22 +00:00
gwr 905e296504 Moved sendsig() and sys_sigreturn() to sig_machdep.c
Rename some trapframe variables for consistency.
1997-02-13 22:16:53 +00:00
gwr 91c7291256 Move sendsig() and sys_sigreturn() from machdep.c to here.
Should probably move to m68k/m68k eventually...
1997-02-13 22:04:03 +00:00
gwr 443faad4e1 Reorganize/simplify the way the memory layout is done.
Update to the latest sys/dev/isa/if_ie.c (new ieget).
1997-02-13 20:48:36 +00:00
gwr 5997a69a3e Tune MXFRAMES and MXFRAMES down a little.
Reorganize the softc for convenience in ddb.
1997-02-13 20:43:18 +00:00
gwr 6a83772a4e Replace caddr_t with u_int in device structs.
Reduce MAXMCAST by a few to be safe.
1997-02-13 20:40:11 +00:00
gwr 45ff882a54 Replace sun3/kgdb_stub.c with sun3/kgdb_machdep.c 1997-02-13 18:14:31 +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 bb35ee4ae8 In struct pmap, replace pm_mmucrp with pm_a_phys.
Define pmap_resident_count(), pmap_wired_count()
to call pmap_resident_pages(), pmap_wired_pages()
respectively, so we can keep those statistics on
lower-level structures instead of here.
1997-02-12 23:01:28 +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 20c8082e79 Now using <kern/kgdb_stub.c> 1997-02-12 01:32:39 +00:00
gwr 9b3ad7dd7e Now using <sys/kgdb.h> 1997-02-12 01:30:36 +00:00
gwr 292e8e784f The KGDB include is now <sys/kgdb.h>
Add the kgdb_recover trick.
1997-02-12 01:10:21 +00:00
gwr a4b09086fe Actually works now! 1997-02-12 01:07:56 +00:00
gwr cfb896375f Machine-dependent part of the KGDB remote "stub" 1997-02-12 01:03:20 +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 9536056d54 Fix some comments 1997-02-11 18:59:23 +00:00
gwr 7bd7620f61 Sync with sun3. 1997-02-11 00:56:08 +00:00
gwr aebbe3f083 Change most occurrences of "struct frame" (union of all frames formats)
to "struct trapframe" (the minimal frame) because in most cases, all we
care about is the minimal, invariant part.  Further, if the declaration
says we have an arg of type "frame" (big union), then KGDB will try to
print the whole bloody thing out whether you want to see it or not.
1997-02-11 00:18:25 +00:00
gwr f13b3f57fd This is obsolete (and has been for a while) 1997-02-11 00:10:35 +00:00
gwr 2bdded1c83 Move the logic about entering the kernel debugger (whichever one) to
trap.c:trap_kdebug() so it can be C code instead of assembly.
Make sure the initial frame pointer is zero so KGDB will know when to
stop trying to follow frame pointers during backtrace.
1997-02-11 00:05:01 +00:00
gwr 1e0e399b63 Change most occurrences of "struct frame" (union of all frames formats)
to "struct trapframe" (the minimal frame) because in most cases, all we
care about is the minimal, invariant part.  Further, if the declaration
says we have an arg of type "frame" (big union), then KGDB will try to
print the whole bloody thing out whether you want to see it or not.

Also add the function trap_kdebug() which takes care of calling one of:
kgdb_trap (for KGDB), or kdb_trap, (for DDB) or the Sun PROM monitor.
This logic used to be in locore, but it is better as C code.
1997-02-11 00:01:15 +00:00
gwr 4bcf6b565f Change most occurrences of "struct frame" (union of all frames formats)
to "struct trapframe" (the minimal frame) because in most cases, all we
care about is the minimal, invariant part.  Further, if the declaration
says we have an arg of type "frame" (big union), then KGDB will try to
print the whole bloody thing out whether you want to see it or not.
1997-02-10 23:57:34 +00:00
gwr 569d97a2f9 Save/restore the monitor "v" command handler. 1997-02-10 23:44:23 +00:00
gwr b31965da5a Set cputype,mmutype at compile-time. 1997-02-10 23:42:05 +00:00
gwr b7d7f667f3 minor nit in bounds_check_with_label() 1997-02-10 23:40:24 +00:00
gwr c70de0b625 Actually works now. 1997-02-10 23:36:09 +00:00
gwr 2f46cb47e2 update comments 1997-02-10 23:35:27 +00:00
gwr dfddf9c39b Actually works now. 1997-02-10 23:34:38 +00:00
gwr f55c7652b7 Export zs_get_chan_addr() for zs_kgdb.c
Print the "console on ..." in cninit(), and
avoid reference to kbd/kd drivers if NKBD==0
1997-02-10 23:29:52 +00:00
gwr 196f91101a Make some more things static, and cosmetic stuff. 1997-02-10 23:26:21 +00:00
gwr 9f9e8281e0 Add zs_get_chan_addr(), zs_kgdb_init() 1997-02-10 23:24:18 +00:00
gwr 7ceee3c729 Add -fno-defer-pop to COPTS (helps ddb backtrace).
Add AFLAGS=-m68020 and use it with ${AS} commands.
Depend kgdb_stub.o on Makefile (KGDBDEV, KGDBRATE).
1997-02-10 19:23:41 +00:00
gwr a5b114c665 Forgot to initialize cn->cn_dev, cn->cn_pri 1997-02-10 19:11:12 +00:00
gwr 60d4782469 Get rid of HOSTED_CC. 1997-02-07 22:55:44 +00:00
gwr ca11ffdfae Kill a type-cast. 1997-02-05 17:44:59 +00:00
gwr b4f4d97d22 s/romp/romVectorPtr/ 1997-02-05 17:39:21 +00:00
gwr 84fad0db28 include <machine/pte.h> 1997-02-05 17:33:46 +00:00
gwr 699e513ced Add -Dsun3 1997-02-05 17:31:46 +00:00
gwr 8b6cbcf45c sync with the sun3x version 1997-02-05 14:51:23 +00:00
gwr c0b220738c change :: to : 1997-02-04 17:15:38 +00:00
perry 19d153fc48 Nuke some options GENERIC residue. 1997-02-04 04:57:10 +00:00
perry 0b3a46d6b3 Nuke some GENERIC residue. 1997-02-04 04:31:55 +00:00
gwr d372229de2 This little awk program translates the initialized data table found
in the assembly file genassym.s into the usual assym.h file.  The
assym.h file generated this way is identical to the output generated
if I simply compile and run the genassym.s file.  "Heh, Kewl!"
Thanks to Matthias Pfaller for the "translate the .s file" idea!
1997-02-03 21:31:17 +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
thorpej 109700d828 Use copypage() and zeropage() in the right places. 1997-02-02 08:35:27 +00:00
thorpej 2bde56ef38 zeropage -> devzeropage, and make it static. 1997-02-02 08:34:16 +00:00
thorpej 3af641fa98 Remove an untrue comment. 1997-02-02 08:33:11 +00:00
gwr 186a6ad683 Add include <machine/mon.h> so this compiles, etc. 1997-01-31 22:33:47 +00:00
thorpej 739819c9ba Adopt for new file system and root spec grammar. 1997-01-31 06:05:14 +00:00
thorpej 739f23a219 This file is obsolete; this information is now generated by config(8). 1997-01-31 05:12:49 +00:00
thorpej bb87691950 Use new machine-independent setroot(). 1997-01-31 02:08:50 +00:00
thorpej 95380a8478 Adopt for new file system and root spec grammar. 1997-01-31 02:08:19 +00:00
gwr d9267b93fd Forgot to initialize cs->cs_rr0_dcd and fiends in attach. 1997-01-31 00:07:06 +00:00
gwr 3cf095df8d The sunmon_* declarations are now in machdep.h 1997-01-27 22:55:07 +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 46cb437677 Nuke sunmon.h, add machdep.h 1997-01-27 21:57:44 +00:00
gwr cdac61715c Just declare the sunmon_* functions here. No need for sunmon.h 1997-01-27 21:48:37 +00:00
gwr 9d2ab17c95 Include <sun3/sun3/vector.h> 1997-01-27 20:54:14 +00:00
gwr ca8e9852d2 Use sunmon_abort() instead of mon_panic(), etc. 1997-01-27 20:50:36 +00:00
gwr c8b0ad744c Changed "machdep.h" to <machine/machdep.h> 1997-01-27 20:43:51 +00:00
gwr feaca6a0df Let idprom_init() have void return. 1997-01-27 20:36:50 +00:00
gwr 9b52402303 Use sunmon_abort() instead of mon_panic()
Let idprom_init() have void return.
1997-01-27 20:35:58 +00:00
gwr 0942e69a7b Let bus_mapin() return void *; moved machdep.h 1997-01-27 19:56:33 +00:00
gwr ced023ffd8 Let bus_mapin() return void * 1997-01-27 19:54:53 +00:00
gwr f8d04bcffb Update comment about si_obio_options 1997-01-27 19:54:06 +00:00
gwr 340699a2b1 Fix copyrights (/s/REGENTS/FOUNDATION/) 1997-01-27 19:40:46 +00:00
gwr 8e207f0cda Eliminate reference to "romp" macro. Moved machdep.h, Fix copyright. 1997-01-27 19:19:59 +00:00
gwr ded84699df Use stuff from <sun3/sun3/sunmon.h>
Setup the msgbufp here like others.
Do vm_map_protect() on kernel text.
1997-01-27 17:45:50 +00:00
gwr 13cb0851cb Implement _pmap_fault() (does the VA check and calls pmap_fault_reload).
Correct VA range checks in pmap_protect and elsewhere (lower limit of
kernel VA for our purposes is virtual_avail, not VM_MIN_KERNEL_ADDRESS).
Make pmap_activate flush the cache (only if needed).  Fix copyright.
1997-01-27 17:23:31 +00:00
gwr a2bebc4a6b Sync. with the sun3x version (now the same, so sun3x can use this).
Update exframesize[] array from hp300, comments, misc. cleanup, etc.
Replace machine-dependent section that called pmap_fault_reload()
with a simple call to the new _pmap_fault() macro which does any
of that MD stuff that might be necessary.
1997-01-27 17:19:22 +00:00
gwr 39258ec971 Remove code that is now in sun3/sunmon.c (shared with sun3x)
Rename some functions (remove sun3 prefix).  Fix copyright.
1997-01-27 17:14:34 +00:00
gwr fe9fba89df Rename some of the sun3-specific things to be closer to the sun3x version.
Call pmap_activate with just one arg (the pmap), and do the cache flush
in there (if needed).
1997-01-27 17:11:36 +00:00
gwr 65e048e41c Reorder to be somewhat more "top-down" (cosmetic).
Fix copyright.
1997-01-27 17:04:12 +00:00
gwr e22c9eba99 Remove unused PMAP_ACTIVATE/PMAP_DEACTIVATE macros.
Add new _pmap_fault macro used in trap.c
Declare pmap_activate() correctly.
1997-01-27 17:02:14 +00:00
gwr 741b72ec69 Pull out things now declared elsewhere. 1997-01-27 16:58:59 +00:00
gwr dff67a76a8 Map regs using sizeof(struct lereg1) instead of OBIO_AMD_ETHER_SIZE.
Also fix copyright (s/REGENTS/FOUNDATION/)
1997-01-27 16:57:12 +00:00
gwr 4618767f94 Add sun3/sunmon.c (also kill trailing spaces) 1997-01-27 16:11:11 +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 8d9bb0e996 Use <machine/machdep.h> 1997-01-24 00:09:34 +00:00
gwr f13a8dfcb5 Use <sun3/sun3/sunmon.h> 1997-01-23 23:58:05 +00:00
gwr a4a29b13a7 Use <machine/machdep.h> 1997-01-23 23:54:26 +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
gwr 06655500a0 Wrap prototypes with ifdef _KERNEL 1997-01-23 22:25:56 +00:00
gwr f91c597e92 Add <machine/pte.h> and the new pm_mmucrp member of struct pmap.
Kill macros PMAP_ACTIVATE and PMAP_ACTIVATE (not used).
Add macro _pmap_fault for use in trap.c
1997-01-23 22:24:04 +00:00
gwr 05bbc1f7ee Rename members of struct mmu_rootptr, and add a comment. (From Jeremy) 1997-01-23 22:15:41 +00:00
jeremy d0ba6f78a0 Fixed leap year bug. (Doesn't happen until 2100, but still important.) 1997-01-23 04:13:39 +00:00
thorpej 7b40f5228e "md" is declared in sys/conf/files, now. 1997-01-21 09:39:20 +00:00
gwr ad79a66933 Separate out the stuff used to get in and out of the PROM monitor.
This file can be shared between the sun3 and sun3x.
1997-01-21 00:04:37 +00:00
gwr e710e7a369 Kill PCB_MMUCTX, add VM_PMAP_CTX. 1997-01-20 18:38:31 +00:00
gwr 40e3eede04 Make this once again identical to the hp300 version.
Perhaps this should exist as <m68k/include/pcb.h>
1997-01-20 18:34:11 +00:00
gwr 090dfd13c2 Now that interrupts are enabled AFTER autoconfiguration, put in the
cute little trick where the zs interrupts are enabled as soon as the
zs driver has done its attachments.   That allows a console break to
enter the debugger during the rest of autoconfiguration.
1997-01-18 19:49:01 +00:00
gwr 324e1c6027 Enable interrupts AFTER autoconfiguration, to avoid spurrious ones. 1997-01-18 19:32:37 +00:00
gwr 94b20c709d Move sun3_btop (etc.) macros from param.h to pte.h 1997-01-18 19:27:16 +00:00
gwr 233b6dd00e Add declaration for db_recover. Also fix copyright. 1997-01-18 19:24:54 +00:00
gwr 84bd1d6f2c Use the same names (OBIO_ZS_*) as the sun3x port... 1997-01-18 19:17:28 +00:00
gwr be760a77bf Moved MACHINE_NONCONTIG into include/vmparam.h
Also kill obsolete "options NEWCONFIG" line.
1997-01-18 19:09:15 +00:00
gwr 18f6e98a4a Define MACHINE_NONCONTIG here instead of in conf/std.sun3. 1997-01-18 18:58:21 +00:00
gwr 8ea480525d Use the same names (OBIO_ZS_*) as the sun3x port so we can share zs. 1997-01-18 17:19:52 +00:00