Commit Graph

338 Commits

Author SHA1 Message Date
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 89aa743138 Config file for a RAMDISK kernel. 1997-05-27 01:06:33 +00:00
jeremy 42012469ef Document that tapeboot has been tested and works. 1997-05-26 03:44:42 +00:00
jeremy fc60f1979e Prevent RAM disk hooks from compiling until sun3 md_root.c can support
ram disk images that are read in from the outside.
Sync with some old local changes.
1997-05-24 00:09:49 +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
jeremy f7e146ad7f Return EIO instead of EFAULT when read/write is too big or small. 1997-05-16 05:47:14 +00:00
jeremy 608a6800e6 Things are stable enough that DDB, PMAP_DEBUG and DIAGNOSTIC aren't needed
anymore.
1997-05-15 01:49:27 +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 e6fa5bc33d Add leds_hydra(). 1997-05-14 16:37:01 +00:00
gwr b209530013 Remove call to leds_init (it is already in obio_init). 1997-05-14 16:13:31 +00:00
jeremy ebb856e274 Long awaited MI/MD separation completed. 1997-05-14 01:37:23 +00:00
gwr 1aa91b893d Eliminate references to vmspace.vm_pmap
(also fix some comments).
1997-05-13 17:17:12 +00:00
jeremy 1c454cc472 Diagnostic LED on 3/80 appears to be active-high, not active-low as previously
thought.  It remains to be seen if this is true for the 3/470.
1997-05-11 06:16:26 +00:00
jeremy 3d8d0c485c Add call to leds_init() after everything has started up ok. 1997-05-11 06:15:09 +00:00
mycroft 185b24dd5b Use libinstall::, not install:, to prevent instaling LIB. 1997-05-07 16:20:26 +00:00
lukem 6fe4889b92 cleanup use of whitespace 1997-05-07 02:20:26 +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 887d5be03e Forgot to import this. (Thanks, der Mouse) 1997-05-01 14:57:17 +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 92efd222d0 Hack for now: if fpu is there, report it as an mc68882. 1997-04-25 19:16:10 +00:00
gwr dfc2e0f30d Add devices: idprom, oclock. Add file leds.c. 1997-04-25 19:12:57 +00:00
gwr 1676e3a212 Add idprom, oclock, and rearrange somewhat. 1997-04-25 19:11:48 +00:00
gwr cd6ee4737e Renamed obio_alloc/obio_mapin. 1997-04-25 19:02:46 +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 49f095a342 No longer need eeprom_init(). 1997-04-25 18:57:49 +00:00
gwr e2ca51d2a1 Fixed OBIO locators bug, so this can do the normal thing now.
Also improved handling of spurious interrupts, and sync up with
the sparc version.
1997-04-25 18:55:05 +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 fd42058232 Add kernel function declarations. 1997-04-25 17:52:54 +00:00
gwr 23f821bcc5 Add idprom_init(). 1997-04-25 17:42:34 +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
gwr 20ac88e4b1 Add /dev/leds support for the 3/470. 1997-04-25 15:15:45 +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
gwr dcc94a5dd9 Document the flags accepted by the esp driver. 1997-04-12 19:48:00 +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
thorpej a32e01eedb regdump() is prototyped in m68k/cpu.h now 1997-04-09 20:56:46 +00:00
thorpej 28177dbb17 Pull in <m68k/kcore.h> 1997-04-09 20:55:47 +00:00
thorpej 6a4790ef0a Remove redundant file directives 1997-04-09 20:54:41 +00:00
jeremy fa9f5b2448 Constants for the p4 register. 1997-04-09 04:50:43 +00:00
jeremy 3c962bb544 First working version. 1997-04-09 04:49:09 +00:00
jeremy 5efd258691 Add p4 register pointer to softc struct. 1997-04-09 04:47:13 +00:00
jeremy 085494c2d9 Add location of P4 register. Maybe this should go in obmem.h? 1997-04-09 04:46:11 +00:00
jeremy d4285e0617 Add needed support for P4 register. Works with X now. 1997-04-09 04:43:52 +00:00
jeremy b7dd41d4e2 Location of printer port registers for 3/80 was off. 1997-04-09 04:42:25 +00:00
jeremy ee8819cf64 Obio and obmem busses now support devices with vectored interrupts. Needed
for floppy driver.
Made comments about soon-to-be introduced parallel port driver more specific.
1997-04-09 04:38:49 +00:00
jeremy 60d41bb34e Add floppy controller and floppy drive. Also add MS-DOS filesystem for
use with floppies.  Remove 'SYMTAB_SPACE' now that we have our own
bootloader.
1997-04-09 04:36:56 +00:00
gwr b5f838ad77 Add a comment. 1997-04-04 20:48:59 +00:00
gwr 0faac5faf2 Back-out the CWD hack... 1997-04-01 23:11:28 +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
gwr a09110f073 Use <m68k/pcb.h> 1997-03-31 21:35:39 +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 80631ee3b7 Keep the compile/ directory in the distribution. 1997-03-31 01:23:37 +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 c304845074 Arrange to make pp.h needed by conf.c
(printer port driver is on the way).
1997-03-26 17:26:48 +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 8ac50ae86b Sync with sun3 (no longer need -DSUN_BOOTPARAMS) 1997-03-24 17:55:40 +00:00
gwr 8bec95da2c Use ${INSTALL} ... 1997-03-24 17:48:19 +00:00
gwr 199246e95f No longer need SYMTAB_SPACE now that sun3x/stand/* works.
(Thanks, Jeremy!)
1997-03-24 17:39:04 +00:00
gwr b72b9f00ea Use "if_ether.h" (from sys/lib/libsa). 1997-03-24 17:32:21 +00:00
gwr c874276d35 First cut at crashdump support. 1997-03-21 22:46:05 +00:00
gwr 00ae7b5b2a Oh well... use our own version of this. 1997-03-21 18:57:54 +00:00
jeremy 4d949455d4 Fixed address for bwtwo framebuffer. 1997-03-21 07:28:36 +00:00
jeremy 4882df57ff Change location of if_ether.h to net/ from netinet/. 1997-03-20 21:21:00 +00:00
gwr c3f299a527 Now using dev/ic/ncr53c9x.c 1997-03-20 16:01:36 +00:00
gwr c921c9b954 This needs muli-include protection now. 1997-03-20 15:56:44 +00:00
gwr 4663c4fa2a Sync with the sun3 version. 1997-03-18 23:49:07 +00:00
gwr 63176de160 Moved eeprom_uio to machdep.h 1997-03-18 23:39:20 +00:00
gwr 03c1c9cee0 Fixup dependencies 1997-03-17 20:59:47 +00:00
gwr 08f7a407f9 Separate bcopy and copypage stuff from copy.s 1997-03-17 19:46:36 +00:00
gwr d531b1ed42 s/fpu_type/fputype/g 1997-03-17 19:03:11 +00:00
thorpej 1d987a161b #include <net/if_media.h> 1997-03-17 03:17:34 +00:00
thorpej b6f3695cd1 Use <m68k/m68k/support.s> 1997-03-16 11:04:52 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
jeremy 54bec78722 Update the 'status' paragraph to reflect the current working programs. 1997-03-15 03:41:01 +00:00
mycroft f868dff8d3 Define the `cleankernel' target consistently with other ports. 1997-03-14 23:27:29 +00:00
gwr 2f598d011a Sync with sun3 (Trap 1,2,15 handlers) 1997-03-13 20:46:37 +00:00
gwr 0fefd47a64 Use arch/m68k/m68k/sig_machdep.c 1997-03-13 20:30:19 +00:00
gwr de65671490 Ported to the sun3x by Jeremy 1997-03-13 17:52:44 +00:00
gwr ee531cb3c9 s/sun3x_/_/ in sun3x_(round|trunc)_(page|seg) macros 1997-03-13 17:40:33 +00:00
gwr 24120736d8 Import the sun3 version of this on the "vendor branch". 1997-03-13 16:27:27 +00:00
gwr 3aa49c4b33 Remove unnecessary differences (T_BRKPT, T_WATCHPOINT gone). 1997-03-11 20:31:20 +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 25d7b99a1f Implement "mach pgmap" for examining mappings. 1997-03-06 00:05:23 +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 c03be2ad19 Add declaration for isbad(). 1997-03-04 21:59:08 +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 9b75e011ab Allow option MCLSHIFT=x to control MCLBYTES etc. 1997-02-27 18:12:38 +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 a4d9d21d6e Define fdc,fd so config will create fdc.h 1997-02-25 00:46:58 +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 eaca552bf2 Added files for esp SCSI driver. 1997-02-24 01:47:08 +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
gwr 0f37c96cc4 Add peek_long() 1997-02-22 19:06:24 +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 e1ca9af0cf Add dev/clock_subr.c 1997-02-19 23:40:30 +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 b7a0884908 The previous commit was an "oops" due to out-of-date sys/lib/* files. 1997-02-18 17:12:46 +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 e61bb6f903 Define "cold" over in autoconf.c 1997-02-18 15:30:01 +00:00
gwr 2c7b4c9af4 Share autoconf.c with the sun3 1997-02-18 15:15:02 +00:00
gwr b2d071ede7 Add bus_subr.c; share autoconf.c with the sun3 1997-02-18 15:13:13 +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
jeremy d28a4db292 Update to use new style ``clean'' and ``depend'' rules. 1997-02-16 22:18:01 +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 da6b170800 Add sun3/regdump.c, sun3/sig_machdep.c 1997-02-14 20:01:41 +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
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
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