Commit Graph

16127 Commits

Author SHA1 Message Date
mark 47364b0c91 Use IPL_AUDIO for the interrupt priority. 1998-08-31 02:34:36 +00:00
mark cdaa8d9c45 Further improvements to init_arm(). Use map_chunk() to map a number of
areas of the kernel including the text, data and bss.
1998-08-31 00:11:18 +00:00
mark 80d8aa6034 Remove a couple of redundant lines. 1998-08-31 00:08:11 +00:00
cgd 5fa7eee1ff don't define __BUS_SPACE_COMPAT_OLDDEFS by default. As stated in
bus_space(9), if drivers want it (they shouldn't; easy to convert) they
can define it right before including bus.h.  There's been a release since
the interfaces were (slightly) changed, and no code in the source tree
uses the old interfaces as far as I can tell.
1998-08-30 23:40:14 +00:00
cgd 3110e22945 use current bus_space interface names for barrier ops 1998-08-30 23:29:10 +00:00
mark c4ae202098 Further improvements to init_arm(). Use map_chunk() to map a number of
areas of the kernel include the text, data and bss.
1998-08-30 23:19:37 +00:00
mark 45faa60d85 Added a new function map_chunk() used during init_arm() when setting up
the kernel page tables. map_chunk() replaces running a loop, calling
map_entry() and in addition where possible it will use L1 section mappings
or L2 large page mappings instead of L2 small page mappings in order to
reduce the TLB entried needed for the kernel.
1998-08-30 23:17:44 +00:00
mark 82661d453d Define new PTE construction macros for L2 large small pages and L1
sections and define some of the other macros using the new ones.
Add more comments for various definitions in the file.
1998-08-30 23:15:14 +00:00
pk 4dbdab4423 Erase sparc_nam2blk[]. 1998-08-30 21:54:25 +00:00
pk 88ab783b42 Define floppy device major number. 1998-08-30 21:53:35 +00:00
pk fc313d9031 Nuke old getprop() function and put its successor in place. 1998-08-30 21:30:41 +00:00
pk 400208c8b7 getpropA() => getprop() 1998-08-30 21:27:32 +00:00
pk 6f2539f8a6 getpropA() => getprop(). 1998-08-30 21:26:46 +00:00
eeh 26d2d906c7 Some more 64-bit cleanup. Now everything compiles. 1998-08-30 15:32:16 +00:00
lukem cdf68a7fa3 a minor hack i've had locally for ages: if PCVT_CAPS_IS_CTRL is
defined, make the capslock key act like another control key.
1998-08-30 09:59:47 +00:00
eeh acbd410040 Some more 64-bit ification and I think I finally fixed the vref() panic. 1998-08-30 02:12:02 +00:00
pk fe6b9295a8 Adjust for some small changes in lsi64854 back-end driver. 1998-08-29 21:43:00 +00:00
pk 0a30d383a0 Sbus `esp' and `le' front-ends now attach in `sys/dev/sbus/files.sbus'. 1998-08-29 20:53:11 +00:00
pk e4091cb757 Split `esp' driver and DMA engine into separate front-end files.
The Sbus front-ends have all been moved to `sys/dev/sbus', while
the `obio' front-ends remain here.
1998-08-29 20:49:35 +00:00
pk 1f0567dd53 Nuke unnecessary header files. 1998-08-29 20:38:38 +00:00
eeh d581aadc3e Some more 64-bit-ification. 1998-08-29 18:16:56 +00:00
mrg 08528c6bd2 remove unnecessary "extern int ncpus" (was also causing egcs warning) 1998-08-29 16:24:25 +00:00
mrg 892ab683dc minor minor KNF nit. 1998-08-29 16:24:03 +00:00
mrg 06a7946b7d register -> int or nothing & egcs warnings cleanup. 1998-08-29 16:21:20 +00:00
mrg ac9132322e minor minor KNF nit. 1998-08-29 16:16:37 +00:00
mrg af81b233e1 remove unnecessary "extern int tickadj" (was also causing egcs warning) 1998-08-29 16:15:53 +00:00
mrg 6b1d637705 add "int" type to interrupt handler typedefs (egcs warning) 1998-08-29 16:15:11 +00:00
mrg 3d26a04acb add "int" type to static tzops array (egcs warning) 1998-08-29 16:14:15 +00:00
mrg ba1bba6844 register -> int (also fixes egcs warning). minor KNF nit. 1998-08-29 16:13:33 +00:00
mrg ed88a6f103 add support for finding kernels other than `netbsd'. the list is:
netbsd, netbsd.gz, netbsd.old, netbsd.old.gz, onetbsd, onetbsd.gz
and vmunix, in that order.  this is used by the bootable `bootfs'
image (suitable for floppies and cdroms), which contains a netbsd.gz
by default.
while i'm here, fix up `boot [device] -s' which got broke when
booting kernels with a - in their name was fixed..
1998-08-29 06:40:43 +00:00
mark eff784066e Don't discard the proc0_pt_pte mapping and make sure that the
proc0_pt_pte and proc_pagedir mappings are uncached.
1998-08-29 04:58:16 +00:00
mark 4a241e1fbd Change KERNEL_BASE to VM_MIN_KERNEL_ADDRESS. 1998-08-29 04:08:12 +00:00
mark 9eb28e934b Include sys/types.h instead of sys/param.h
Junk some un-needed includes and include cpu.h.
1998-08-29 04:05:44 +00:00
mark ae7526d965 Removed some un-necessary includes. 1998-08-29 04:01:58 +00:00
mark c611af7c7f Change boot_path to boot_file and initialise to NULL along with boot_args. 1998-08-29 03:57:03 +00:00
mark 5898385f6b Change boot_path -> boot_file and initialise to NULL along with boot_args. 1998-08-29 03:55:57 +00:00
mark 4ad81305d5 Initialise boot_args and boot_file to NULL. 1998-08-29 03:53:17 +00:00
mark 80b4f63e42 Updated for some reserved majors. 1998-08-29 03:28:17 +00:00
mark af5eba9861 Implement address validation as a separate function db_validate_address().
Use this function to validate the page table entries for all reads and
writes.
1998-08-29 03:21:33 +00:00
mark 3e217a0157 Remove the definition of CURRENT_PAGEDIR_HOLE and CURRENT_PAGEDIR_BASE
as they are no longer reference.
Move ALT_PAGE_TBLS_BASE from 0xf3c00000 to 0xf0c00000.
Increase the size of the KERNEL_VM_SIZE by 16MB now that 0xf3xxxxxx is free.
1998-08-29 03:19:55 +00:00
mark 22a3c54923 Use KERNEL_VM_SIZE to calculate the number of page tables needed for
the kernel data area.
Don't map the proc0 L1 page table into the L2 page tables space.
1998-08-29 03:17:27 +00:00
mark 99bb4b6b6b Rewritten pmap_pte() not to use the mapping of the L1 page table within
the L2 pages tables (CURRENT_PAGEDIR_HOLE).
Don't map the L1 page table into the L2 page table space any more (easy
reference hack) in pmap_allocpagedir().
1998-08-29 03:14:14 +00:00
mark 66074cf792 Use VM_MAX_KERNEL_BUF only to limit nbuf and not bufpages. 1998-08-29 03:09:14 +00:00
dbj 12107a5187 Updated many of the pmap files to use current versions from the
mvme68k port.  The next68k port now uses MACHINE_NEW_NONCONTIG.
1998-08-28 23:05:53 +00:00
dbj abbb6f13e3 Added some machine probing information to console printouts. 1998-08-28 22:56:08 +00:00
dbj fa906c926a added a flag to disable the NEXT_SLOT_ID_BMAP for testing the turbo machines 1998-08-28 22:53:47 +00:00
dbj a96195b5fd added -Wno-main if USE_EGCS is defined 1998-08-28 22:50:54 +00:00
dbj a538dbbf21 Moved initialization of vbr, and removed default machine configuration
varaiables to debug probing on the turbo machines.
1998-08-28 22:47:12 +00:00
thorpej 4b7b605d84 Use the "nointr" pool page allocator for pmap_pmap_pool. 1998-08-28 22:22:48 +00:00
thorpej d1f73558ff Use the "nointr" pool page allocator for pmap_pmap_pool. 1998-08-28 21:58:29 +00:00
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