Commit Graph

1081 Commits

Author SHA1 Message Date
gwr
4756c63625 Call isr_soft_request() at most once per zshard interrupt.
In the softintr, raise to spltty before calling tty code.
1997-03-11 21:54:35 +00:00
gwr
05a47d22ea Correct handling for Trap #2 in SunOS executables,
now that we know it is supposed to flush the cache.
(Was thought to be "some obscure FPU operation".)
1997-03-11 21:30:51 +00:00
gwr
f64034e8f6 Sync up with changes in GENERIC 1997-03-11 21:21:49 +00:00
gwr
b4de41ef34 Update the description of the flags for "si" devices.
Remove wired-down scsi disk targets (no longer needed).
Add ch, ss, uk (scsi devcies) at mycroft's requst.
1997-03-11 20:59:10 +00:00
gwr
3aa49c4b33 Remove unnecessary differences (T_BRKPT, T_WATCHPOINT gone). 1997-03-11 20:31:20 +00:00
gwr
ec6bb1d018 s/-T/-Ttext/ 1997-03-11 20:13:20 +00:00
gwr
4ad7ed0b97 Moved dev_net.[ch] to sys/lib/libsa 1997-03-11 18:29:30 +00:00
gwr
d0a45ab470 Use the macros sc_if, sc_addr to avoid lots of references to sc_arpcom. 1997-03-10 21:45:01 +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
gwr
eac582d36e Do some of the clock init a little later, in clock_attach.
(plus some other mostly cosmetic cleanup)
1997-03-05 19:00:07 +00:00
gwr
88bf00b5bf No need to block out ZS interrupts in clock_intr() as long as
we are careful to use the single_inst_* macros.
1997-03-05 00:01:13 +00:00
gwr
9587adc460 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-04 23:37:48 +00:00
gwr
7c5b45aead Fix a warning. 1997-03-04 22:20:04 +00:00
gwr
c03be2ad19 Add declaration for isbad(). 1997-03-04 21:59:08 +00:00
gwr
67f52ad8a0 Reinstate "isbad" which is used by the xd and xy drivers. 1997-03-04 19:33:23 +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
gwr
8e9324f653 Allow access to the PROM via /dev/kmem (like the sparc port) 1997-02-28 22:35:12 +00:00
gwr
403bdb83fa Add xxc_print functions to pass to config_found() instead of NULL.
(Thanks to Chris Demetriou suggesting the improvement.)
1997-02-28 21:23:06 +00:00
gwr
507bc60404 Define pmap_page_index as a macro. 1997-02-28 19:57:35 +00:00
gwr
03ff0a0c9b Allow pmap_page_index to be a macro (in pmap.h)
Make pmap_free_pages() teturn what actually remains
(Thanks to Wolfgang Solfrank for suggesting the fix.)
Fix some typos while I'm here...
1997-02-28 19:55:37 +00:00
gwr
58a45b478c Remove a diagnostic check in sunmon_reboot broke reboot on the sun3. 1997-02-28 19:47:15 +00:00
gwr
1354ca2916 Get rid of some printf noise. 1997-02-28 17:17:22 +00:00
gwr
4d534f3d52 Define VM_MAX_KERNEL_ADDRESS using KERN_END instead of a constant. 1997-02-27 18:22:53 +00:00
gwr
9b75e011ab Allow option MCLSHIFT=x to control MCLBYTES etc. 1997-02-27 18:12:38 +00:00
gwr
07b4e45308 Allow per-target control over disconnect/reselect. 1997-02-26 22:26:00 +00:00
gwr
bb9cc8ad2b Use ALIGNBYTES in the new ALIGNED_POINTER macro.
(That is always good enough on the m68k.)
1997-02-26 20:36:13 +00:00
gwr
3435c699a5 Add ch, fd, ss, tun, uk
Add cdev for md
Add lkm slots
1997-02-25 01:15:01 +00:00
fvdl
115b6d92fa Define ALIGNED_POINTER 1997-02-24 23:16:53 +00:00
gwr
ae70fb71ec No need for dma_cd, so move it into the #if 0 section too. 1997-02-24 15:02:23 +00:00
jeremy
1c79e9f83d The first GENERIC config for sun3x. Includes new esp driver. 1997-02-24 03:53:52 +00:00
jeremy
ad9700fa62 Initial import from SPARC port. 1997-02-24 01:45:13 +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
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