Commit Graph

16127 Commits

Author SHA1 Message Date
pk 8e0c62893c Remove cache flush from dma_espintr(); the bus dma routines take care
of that now. Hence we no longer need <sparc/cpuvar.h>.
1998-08-28 20:14:36 +00:00
pk ca868d7da6 Specify our boundary restriction when allocating DMAble memory. 1998-08-28 20:07:52 +00:00
mark 808c0cca58 Fix bug with zeroing kernel page tables that I introduced yesterday. 1998-08-28 20:04:35 +00:00
pk 221a000391 Pass on bus_dma*() aligment and boundary arguments. 1998-08-28 20:02:19 +00:00
thorpej f369f261d1 Fix a debug printf. 1998-08-28 19:22:50 +00:00
mark 1cb7a16aed Fix typo. The page table allocation loop in initarm() should be
<= NUM_KERNEL_PTS rather than < NUM_KERNEL_PTS.
1998-08-28 17:15:45 +00:00
pk f6a208ce6b Nuke Dprintf; fix formats. 1998-08-28 08:57:38 +00:00
thorpej 70b6acd9df Use NFS_BOOT_BOOTPARAMS until we change the boot program to use DHCP 1998-08-28 04:56:15 +00:00
mark 25ae95328f Use kernel_pmap->pm_pdir instead of PAGE_DIRS_BASE when mapping podule
space.
1998-08-28 03:19:34 +00:00
mark 17dcbf485c More reworking in initarm().
Further cleanup and simply the allocation and mapping of the kernel
  pagetables and static data pages.
  Removed the page directory page table as it is no longer necessary.
  Changed the allocation of the proc0 L1 page table and L2 page table
  that maps the page tables to map these pages into kernel virtual
  address space.
  Updated for pv_addr_t argument changes to pmap_bootstrap().
1998-08-28 02:58:41 +00:00
mark 133f5c93f0 Updated for pmap_bootstrap() argument change. Modify ofw_configmem()
to obtains pv_addr_t structures for the proc0 L1 page table and the proc0
pagetable that maps page tables.
Use the virtual address from the pv_addr_t structure for the proc0 L1 page
table when calling pmap_bootstrap rather than relying on a special mapping
at PAGE_DIRS_BASE.
Modify ofw_construct_proc0_addrspace() for similar changes to
ofw_configmem().
Remove the kernel_pde page table in ofw_construct_proc0_addrspace() as it
it now longer needed.
1998-08-28 02:52:37 +00:00
mark 1ca0ef8cae Modify the arguments to pmap_bootstrap() to take a pv_addr_t structure
for the page table to map kernel pagetables (kernel_ptpt). This means
that the pm_vptpt field is now valid for the kernel_pmap.
Use constants from vmparam.h in pmap_allocpagedir().
1998-08-28 02:46:51 +00:00
pk 7e95972ed1 Add `audiocs' ("SUNW,CS4231") and `en' ("ENI-155s"). 1998-08-27 20:56:44 +00:00
tv 6baebf57c6 Nuke egcs warns: void main(), implicit int 1998-08-27 12:20:51 +00:00
mrg 713a7dc9c3 oops, remove old isp attachment here.. 1998-08-27 11:47:12 +00:00
mrg 396330e186 remove sparc64 "options BUS_DMA" -- it is now standard 1998-08-27 11:43:14 +00:00
mrg 82571f5403 move isp sbus attachment to dev/sbus 1998-08-27 11:41:24 +00:00
mrg bd85d62257 move isp sbus attachment to dev/sbus and support it on the sparc64 1998-08-27 11:40:06 +00:00
scottr f8a4876874 Add on-board video information for the LC III, and a guess
at the LC II based on similar machines mentioned in the dev note.
1998-08-27 07:31:34 +00:00
eeh a465fdedc6 Add 64-bit pmap support:
Moved from a two level 512/1024 entry setup mapping 32 (9/10/13) bits
respectively to a three level 1024/1024/1024 entry setup mapping 43
(10/10/10/13) bits.  In 32-bit mode we waste about 1/12 pages mapping the high
11 bits.  We also only manage 43 of the possible 44 bits of virtual address
space, wasting half of it.  Oh well, maybe we'll do better next revision.
1998-08-27 06:23:31 +00:00
mark c5695ed630 Centralize the definition of pv_addr_t to pmap.h 1998-08-27 04:00:53 +00:00
mark af91a82f1e Remove pv_addr_t and systempage declarations. 1998-08-27 03:58:10 +00:00
mark e7a61c9984 Centralise the definition of the pv_addr_t structure. 1998-08-27 03:55:06 +00:00
tv 7308faf67b "COMPAT_11 + COMPAT_12 + COMPAT_13" doesn't work - these are based on
definition, not 1 or 0.  Also, since all pre-1.4 releases require
COMPAT_13 (not just 1.3 binaries), just "#ifdef COMPAT_13".
1998-08-26 14:51:57 +00:00
dante df94d3f4f5 Add AdvanSys SCSI controller 1998-08-26 14:27:44 +00:00
augustss c5b4ddc051 Add more opl attachments. 1998-08-26 13:37:49 +00:00
mrg a40fb261e6 deal with no DDB 1998-08-26 12:41:47 +00:00
mrg 446bcd99d6 panicstack: is needed outside of DEBUG. use _C_LABEL, and printf not db_printf (incase no ddb!) 1998-08-26 12:37:35 +00:00
augustss 9deb19798f Add OPL driver. 1998-08-26 12:10:57 +00:00
tsubai a890d2dd7f Add MD DELAY and spl routines to fit Nisimura's change. 1998-08-26 12:07:21 +00:00
tsubai 1c3e72cd0e Back out previous change. 1998-08-26 11:44:06 +00:00
mrg 8912df90bf fix missed sparc -> sparc64 1998-08-26 10:36:42 +00:00
mrg e791891d53 - use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc).  this
  isn't yet fully tested but it mostly written and compiles if not totally
  links yet.
1998-08-26 10:31:36 +00:00
augustss 76567c8213 Remove ad1848 attribute; it's in conf/files now.
(Why don't we remove the XXX hack in this file?)
1998-08-26 09:32:24 +00:00
mrg 8ea67882ab make this actually work 1998-08-26 09:09:31 +00:00
mrg be25ea2fb5 put pmapdebug usage inside #ifdef DEBUG 1998-08-26 07:55:10 +00:00
sakamoto 4fa399d4db vm_offset_t -> {paddr_t,vaddr_t}, vm_size_t -> vsize_t 1998-08-26 04:54:17 +00:00
thorpej 7cfa6e0972 Always use pmap_kremove() if removing a mapping from the kernel pmap. 1998-08-25 23:09:08 +00:00
mark 47e470f2af Use UVM as standard. 1998-08-25 22:07:46 +00:00
mark 34f8ef18c9 Updated for changes to some of the constants defined in vmparam.h
Simplified serveral parts of the initarm() to make the code clearer and
modified parts of initarm() as part of an on-going effort to abstract
out part of initarm() on various machines.
1998-08-25 22:03:07 +00:00
mark 61bd706797 Include machine/vmparam.h 1998-08-25 21:56:14 +00:00
mark bd14bb41f0 Define KERNEL_PD_SIZE in terms of various constants defined in vmparam.h 1998-08-25 21:55:06 +00:00
mark cda0e37703 Collect various kernel constants together and define them in all one
place (some moved from param.h)
Define several constants such as page table addresses in terms of other
constants.
Increase some of the limits :
  MAXTSIZ	8MB -> 16MB
  DFLDSIZ	16MB -> 128MB
  MAXDSIZ	256MB -> 512MB
  DFLSSIZ	512KB -> 2MB
1998-08-25 21:53:37 +00:00
mark 4e8239cdca Removed a number of kernel constants as they have moved to vmparam.h 1998-08-25 21:50:54 +00:00
thorpej b42b94b608 Shave yet more translation ops from the inner loops of pmap_protect(). 1998-08-25 18:21:17 +00:00
ragge 218681f3e5 Kernel stach should be 4K, not 32K. Increase MCLSHIFT to 11.
Remove ovbcopy().
1998-08-25 17:35:23 +00:00
matthias fb5e3aef9b For the pc532 MACHINE (pc532) isn't equal to MACHINE_ARCH (ns32k) but there
is no sys/arch/ns32k.
1998-08-25 11:52:26 +00:00
thorpej 2fa5652849 Break the code that cleans out page tables from pmap_remove_mapping() into
separate functions that perform the cleanout starting at the l3pt, l2pt,
or l1pt.
1998-08-25 09:00:19 +00:00
pk af5a3e52a5 yanko 1998-08-25 08:28:53 +00:00
thorpej 33caa59da3 Optimize the pmap_protect() loop. Will make a similar change to pmap_remove()
once some changes are made to how pt pages are cleaned up.
1998-08-25 08:00:15 +00:00
thorpej b7fb6e1711 Change pmap_changebit() to take a mask of bits to set, and a PTE mask,
shaving several instructions out of the inner loop.
1998-08-25 06:21:16 +00:00
thorpej daa8ad1747 Add some braces to make egcs happy. 1998-08-25 04:56:01 +00:00
scottr 2d981dac3b The return value from intr_dispatch() is no longer necessary. 1998-08-25 04:03:56 +00:00
scottr 2aa56b1c61 Implement splaudio(). 1998-08-25 03:59:01 +00:00
mark f920e4e2d6 In physconinit(), don't use printf() to clear the screen but call
the console's putstring function directly.
1998-08-25 03:26:36 +00:00
mark b75234f009 Add calls to cpu_cache_cleanID() after calling setttb() during initarm().
This is necessary as the memory addresses being used for the cache clean
(if the CPU is a SA110) may have been remapped by the setttb() call and
thus the cache could loose sync with memory.
1998-08-25 03:10:25 +00:00
nisimura e37ce1c5b6 Make spl(9) rountines target port dependent. delay() is also port
dependent anticipating a target with high resolution timer available
for on-the-fly re-programming.  Enum decstation_t was removed from MI
trap.c.
1998-08-25 01:55:38 +00:00
thorpej 9c3e900094 Use the pool allocator for pmap structures. 1998-08-25 01:46:01 +00:00
thorpej 7ff538b614 Oops, use M_VMPMAP as the malloc type in pool_init(). 1998-08-25 01:11:11 +00:00
thorpej 4dfff51650 Use the pool allocator to allocate pmap structures. 1998-08-25 01:09:04 +00:00
matthias 04232f6196 declare end[] everywhere the same, fix an egcs "missing braces" warning. 1998-08-24 22:52:23 +00:00
drochner 103b7e7b17 The Intel 82371MX identifies itself erroneously as a miscellaneous bridge.
(from "Johnny C. Lam" <lamj@stat.cmu.edu> per PR kern/6021)
1998-08-24 19:27:05 +00:00
pk c6905522d2 These files are no longer used. 1998-08-24 07:23:10 +00:00
tv b3e9be0ee3 egcs warning fixes, clean up `register' 1998-08-24 02:37:16 +00:00
sakamoto 62ed825858 vm_offset_t --> [pv]addr_t. 1998-08-24 01:40:26 +00:00
eeh d395d34886 Work on 32-bit cleanup. 1998-08-23 15:52:43 +00:00
eeh 41fb08c335 Added pv_syncflags() (unused) and debug stuff. 1998-08-23 15:51:23 +00:00
eeh a579357e66 Remove dvma_mapin() and other cruft. 1998-08-23 15:49:02 +00:00
pk 66795e62e7 Move sparc_vme_dmamem_map() outside `#ifdef SUN4M' 1998-08-23 10:40:38 +00:00
pk 4539119e83 Nuke phys_map & old dvmamap. 1998-08-23 10:08:25 +00:00
pk 4fe6cdf6ca Nuke obsolete prototype. 1998-08-23 10:07:09 +00:00
pk 2a6be00de5 Rename DVMA constants. 1998-08-23 10:05:53 +00:00
pk 666587112f Use bus_dmamem_{alloc,free} instead of the old VM hack. 1998-08-23 10:04:56 +00:00
pk e68fd96987 Remove DVMA address special cases in pv_changebit(). 1998-08-23 10:01:24 +00:00
pk 434a2cc972 Nuke phys_map & old dvmamap. 1998-08-23 09:59:24 +00:00
pk 9a2b941ecb Rename DVMA constants. 1998-08-23 09:53:03 +00:00
eeh 5e1f92b621 64-bit clean cleanup of ofwboot.elf. 1998-08-23 02:48:28 +00:00
augustss c29fdceff3 Prepare for MIDI devices. 1998-08-22 22:50:53 +00:00
eeh edab5330c3 Fix typo in previous fix. 1998-08-22 22:45:19 +00:00
eeh 9f5435229a 64-bit-ify this. Depend on _lp64. 1998-08-22 22:16:01 +00:00
scw 592953d009 Fix tyop. 1998-08-22 18:11:25 +00:00
mrg c54c62ad31 bsd_audioio.h is not used. 1998-08-22 15:56:46 +00:00
minoura 7f4ad4748e Eliminated vm_offset_t and vm_size_t. 1998-08-22 14:38:36 +00:00
ragge e727d1e031 Must #define __warn_references if not GNUC. 1998-08-22 12:12:38 +00:00
scw a84a67440f vm_offset -> [vp]addr_t and vm_size_t -> [vp]size_t
While I'm here, expunge use of 'register' storage class.
1998-08-22 10:55:33 +00:00
ragge 00475fbb1f New times, new pagesize, use magic number in exec header. 1998-08-22 09:16:45 +00:00
scottr 9237e1254f Take a stab at support for the PowerBook 190/190cs, based on comparison
with other PowerBook hardware.  They seem to be most closely related
to the PowerBook 500-series, but have an internal IDE disk instead.

NOTE:  only external SCSI disks have a chance of working, at this
point.  Nothing has officially changed with regard to IDE support
(yet).
1998-08-22 06:06:05 +00:00
scottr f234add115 Add gestalt machine type for the PowerBook 190/190cs. 1998-08-22 05:47:37 +00:00
is 9948205c5a Prepare for support of Apollo-cpuboard-reworked A3000 mainboard SCSI. 1998-08-21 19:13:27 +00:00
is ae8175cb09 Workaround for the incomplete fastmem loading scheme: put uptbase lots higher,
so that hopefully it doesn't get overwritten by the 1:1 mapped kernel copy.
See line 375 for an explanation.
1998-08-21 18:51:58 +00:00
tsubai 5a294dbb55 Add missing "-a" to mkdep line for locore_machdep.S. 1998-08-21 16:24:25 +00:00
tsubai d4d7416198 vm_offset_t --> [pv]addr_t. 1998-08-21 16:13:28 +00:00
tsubai f6dcf3f9c6 Change vm_offset_t to [pv]addr_t. 1998-08-21 14:52:29 +00:00
pk 79dd1e8563 Convert to [pv]addr_t & [pv]size_t. 1998-08-21 14:13:53 +00:00
pk b8a1caac4a Convert to [pv]addr_t & [pv]size_t. 1998-08-21 14:12:18 +00:00
pk 24255abca0 iommu_{enter,remove} moved to iommuvar.h 1998-08-21 14:10:42 +00:00
pk ca5b5652b4 Remove vm_offset_t & vm_size_t. 1998-08-21 14:09:59 +00:00
pk f318f15bc3 Convert to [pv]addr_t. 1998-08-21 14:07:37 +00:00
tsubai 5bcec15811 Add #ifdef DDB around Debugger(); 1998-08-21 14:07:03 +00:00
ragge 6aba9c11ff VAX logical page size increased to 4k. 1998-08-21 13:46:38 +00:00
scottr 33395d926e Remove an extraneous printf when attaching a Valkyrie. 1998-08-21 13:46:31 +00:00
ragge b3574d3923 VAX logical page size increased to 4k. 1998-08-21 13:41:09 +00:00
pk 7575f8fac5 Move iommu_enter/iommu_remove here from <include/cpu.h>. 1998-08-21 13:29:57 +00:00
tsubai 057ca9bfe1 No longer used. 1998-08-21 13:22:25 +00:00
tsubai 5617a263e0 Correctly initialize scb struct. 1998-08-21 13:19:43 +00:00
matt f1a6a0936f The VAX46 (VS4000) needs the clock stuff the VAX43 does... 1998-08-20 23:52:42 +00:00
pk 02d030ca52 Pass on `NOWAIT' and `boundary' args to extent_alloc(). 1998-08-20 20:49:33 +00:00
pk 363b678b9e Flesh out more of the sun4 busdma functions. 1998-08-20 20:46:59 +00:00
pk 02c059eefa Pay attention to BUS_DMA_NOWAIT & boundary args where appropriate. 1998-08-20 20:45:40 +00:00
veego ff2c3adddc Add some braces to stop the new egcs warnings. 1998-08-20 19:55:06 +00:00
ragge fb9171df3d Fix write/read of memory. 1998-08-20 16:47:11 +00:00
scottr b27d106197 Match grf_obio devices correctly for the 58x/63x. 1998-08-20 13:58:04 +00:00
pk aee27828f9 Some machines (Voyagers) apparently have zs devices with multi-valued
register properties in the PROM.
1998-08-20 11:47:39 +00:00
kleink a6d3fb3799 vm_offset_t -> {paddr_t,vaddr_t}, vm_size_t -> vsize_t 1998-08-20 08:33:41 +00:00
thorpej f73a7043f3 ISA Game port driver, lifted from BeBox port. 1998-08-20 06:31:34 +00:00
thorpej b176b7ba0f Add joy driver at cdev 56. 1998-08-20 06:30:56 +00:00
thorpej 31ac3d022c Add joy driver devsw declarations. 1998-08-20 06:28:43 +00:00
thorpej 2d282c7e70 Add joy driver glue. 1998-08-20 06:28:18 +00:00
thorpej cc042ba0e5 Correct a function name in a panic message. 1998-08-20 05:46:20 +00:00
matt 5232b66bd5 Initial steps to getting the VAX to use the MI driver framework. 1998-08-18 23:55:00 +00:00
thorpej ff266f0937 Add some braces to make egcs happy. 1998-08-18 18:23:07 +00:00
mycroft a76eb95be9 Tab vs. space, and turn *off* XSERVER_DDB by default. 1998-08-18 17:03:42 +00:00
leo 2ce88694c7 Do not include files.isapnp, this file is now included from files.isa...
(Julian Coleman)
1998-08-18 11:51:07 +00:00
thorpej cf3457cb9d Add some braces to make egcs happy (ambiguous else warning). 1998-08-18 07:53:47 +00:00
leo 47cf1b0e0a Circad Leonardo video driver by 'maximum entropy'. 1998-08-18 07:45:02 +00:00
thorpej 136e58fb9f Internal cleanup. 1998-08-17 22:35:04 +00:00
thorpej 5e04cc8bb7 Internal bus_dma cleanup. 1998-08-17 22:33:09 +00:00
thorpej fb0cc46daf Internal cleanup. 1998-08-17 22:30:08 +00:00
thorpej 4396c67463 Internal cleanup. 1998-08-17 22:28:00 +00:00
augustss cd09067eb4 * Redo the way the way the MIDI driver attaches to audio devices.
* Improve the midisyn layer a little.
* Add a driver for the Yamaha OPL[23] FM synths.
  The opl driver is not finished yet; it sounds pretty awful.

For some strange reason I cannot get any FM sound from my SB64 cards,
but a regular SB16 works fine.
1998-08-17 21:16:09 +00:00
thorpej 0809175887 #define _CS_OFISA_MD_REG_FIXUP 1998-08-17 20:40:53 +00:00
thorpej defb1b327e Implement a reg fixup, needed for old OpenFirmware builds. 1998-08-17 20:38:08 +00:00
thorpej e7a551d60e Some internal cleanup; pass a tag around, not individual arguments. 1998-08-17 20:15:55 +00:00
briggs 45bcd0fe79 Update comment after cut and paste. 1998-08-17 15:04:51 +00:00
mycroft a1ac68819f Assign my copyrights to TNF. 1998-08-17 00:26:32 +00:00
eeh 9ec98c99ae Added elf64 support (I hope). 1998-08-16 23:30:00 +00:00
scottr 19a5912587 Remove the 'fast' return from intrhand(). 1998-08-16 22:29:03 +00:00
kleink 708c5f826e Add missing wint_t (currently unused). 1998-08-16 17:16:56 +00:00
scw 201603f86e Hopelessly out of date, esp. now that we follow the standard
installation procedure.
1998-08-16 15:39:58 +00:00
scw 445aefc354 Switch to using the common m68k stuff for a couple of things:
. cache control functions <m68k/cacheops.h>
 . sigreturn code <m68k/m68k/sigreturn.s>

Also a few of other things found while scouting around for vm_offset_t
changes.
1998-08-16 15:33:48 +00:00
tsubai 573f3aee5c Enable 115200 and (untested)230400 bps. 1998-08-16 11:24:36 +00:00
scottr da5ce9387c Remove semicolons from the end of bus_space_*_multi_*(). From Ken Nakata
in PR 5965.
1998-08-16 05:36:17 +00:00
mark 518c6812d3 Block user space access between the cache purge and the context switch in
cpu_switch() as all user space addresses must be removed from the cache
prior to the context switch and interrupts are live for the purge.
1998-08-16 02:17:17 +00:00
wrstuden 0e4dc30457 As ovbcopy & bcopy are now done in terms of mem* routines, it makes
no sense to "#define ovbcopy bcopy".
1998-08-16 02:15:50 +00:00
mark 2ea34b589c Enable interrupts during cache clean, purge and sync operations.
Instead use a flag to indicate that all user space access are blocked
during the cache op to ensure that user space virtual addresses correctly
expunged from the cache.
1998-08-16 02:14:15 +00:00
mark decc2dde0a Implement a mechanism to prevent fuswintr() and suswintr() from accessing
user space via a flag. This enables interrupts to be live during certain
critical operations where user space accesses must not be attempted.
1998-08-16 02:11:32 +00:00
mark 152c00c687 Enable interrupts as soon as possible in prefetch_abort_handler(),
beore any of the diagnostic checks etc.
1998-08-16 02:03:30 +00:00
mark d83571ea08 Enabled interrupts as soon as it possible in syscall(), before any
of the diagnostic checks.
1998-08-16 02:01:16 +00:00
wrstuden 961641ad2d We claim to support some mii-equiped pci ethernet drivers, so we
need to include dev/mii/files.mii. :-)
1998-08-16 01:40:29 +00:00
rvb 8e5a13f5f0 Avoid double fault on errors during probes 1998-08-16 00:42:51 +00:00