Commit Graph

221 Commits

Author SHA1 Message Date
thorpej 2580d306ab Change the vm_map's "entries_pageable" member to a r/o flags member, which
has PAGEABLE and INTRSAFE flags.  PAGEABLE now really means "pageable",
not "allocate vm_map_entry's from non-static pool", so update all map
creations to reflect that.  INTRSAFE maps are maps that are used in
interrupt context (e.g. kmem_map, mb_map), and thus use the static
map entry pool (XXX as does kernel_map, for now).  This will eventually
change now these maps are locked, as well.
1999-05-26 19:16:28 +00:00
thorpej 5832084eaf bus_dmamem_map() maps DMA safe memory, which is usually one or more
managed pages, into KVA space.  Since the pages are managed, we should
use pmap_enter(), not pmap_kenter_pa().

Also, when entering the mappings, enter with an access_type of
VM_PROT_READ | VM_PROT_WRITE.  We do this for a couple of reasons:

	(1) On systems that have H/W mod/ref attributes, the hardware
	    may not be able to track mod/ref done by a bus master.

	(2) On systems that have to do mod/ref emulation, this prevents
	    a mod/ref page fault from potentially happening while in an
	    interrupt context, which can be problematic.

This latter change is fairly important if we ever want to be able to
transfer DMA-safe memory pages to anonymous memory objects; we will need
to know that the pages are modified, or else data could be lost!

Note that while the pages are unowned (i.e. "just DMA-safe memory pages"),
they won't consume any swap resources, as the mappings are wired, and
the pages aren't on the active or inactive queues.
1999-05-25 23:14:03 +00:00
lukem e4a87aa1a9 * convert to using MI allocsys(). most ports were using an MD allocsys(),
although a couple still used the old pre-4.4-lite (?) mechanism.
* use format_bytes() to format the various printf()s that print out memory sizes
1999-05-20 08:21:42 +00:00
ws 5423093850 Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
1999-04-17 21:16:45 +00:00
thorpej e49833cd68 Now that we have direct-mapped pool pages, we can garbage-collect VM_MBUF_SIZE
and don't need to allocate mb_map.
1999-04-16 21:47:11 +00:00
chs f455dd6596 add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
1999-04-11 04:04:04 +00:00
thorpej 967b8c433c Don't call configure() from cpu_startup(). 1999-04-01 00:17:45 +00:00
mycroft 9c6b797796 Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
  because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
  avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot.  Also, DO NOT use
  pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
  access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
  access_type = 0.  This should probably be revisited.
1999-03-26 23:41:25 +00:00
mrg 7b93dd1117 remove opt_uvm.h 1999-03-25 00:41:46 +00:00
mrg ca5f9685bb clean up kernel/config files files for machVM lossage. 1999-03-24 06:06:09 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
drochner 76fa1751fe Add a macro to check for sufficient pointer alignment in bus.h context,
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
1999-03-23 21:29:03 +00:00
thorpej 63b6321834 VM_MBUF_SIZE is in terms of MCLBYTES, not CLBYTES. 1999-03-23 00:31:59 +00:00
cgd f822fd675f Moved to arch/bebox/include/isa_machdep.h,v 1999-03-19 05:02:03 +00:00
cgd a4033465f4 Moved from arch/bebox/isa/isa_machdep.h,v 1999-03-19 05:02:02 +00:00
cgd d00106ee06 if you pull in isavar.h, you don't need isa_machdep.h. 1999-03-19 04:58:45 +00:00
cgd 8649cea317 Moved to arch/bebox/include/pci_machdep.h,v 1999-03-19 03:36:07 +00:00
cgd 99633b3ef3 Moved from arch/bebox/pci/pci_machdep.h,v 1999-03-19 03:36:06 +00:00
cgd 190d23ee40 Moved to arch/bebox/include/isapnp_machdep.h,v 1999-03-19 03:18:34 +00:00
cgd 0af0341ff6 Moved from arch/bebox/isa/isapnp_machdep.h,v 1999-03-19 03:18:33 +00:00
sommerfe bc533621ed defopt MINIROOTSIZE 1999-03-17 18:59:21 +00:00
sakamoto a6a228ce7f RCS ID police 1999-02-15 04:38:06 +00:00
lukem dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
thorpej cb8268a3a5 Use <sys/disklabel_mbr.h>. 1999-01-27 21:00:05 +00:00
drochner 6fe2522d57 second round of mouse renaming: psm->pms 1999-01-23 16:10:47 +00:00
chuck 32244a5a1a MNN is now the default 1999-01-16 20:13:17 +00:00
thorpej 8922647c58 Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS. 1999-01-15 23:37:05 +00:00
bouyer dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
drochner 35eeb3f1cd remove dummy "load_font" entries 1999-01-11 21:54:22 +00:00
thorpej e598335d1c Garbage-collect `mbutl'. 1999-01-09 22:10:12 +00:00
augustss fc5f9ee81d Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C. 1999-01-08 19:26:12 +00:00
thorpej 7fa243e59e Pass the symbol table size, like a.out. 1998-12-04 20:22:36 +00:00
sakamoto 0bba7a7eca Not used. 1998-12-04 00:17:49 +00:00
hwr 59acb69be1 Add (commented out) 'gre' pseudo device line. Feedback is welcome.
Inspired by Klaus Klein.
1998-11-25 20:30:44 +00:00
sakamoto 28c9fd0c8c Fix no check for negative offset in mmap. 1998-11-24 06:34:10 +00:00
mrg db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
sakamoto d8d1762a15 Support frame buffer console initialized by the BootRom of the BeBox. 1998-11-18 09:05:18 +00:00
oster cf5710c839 Added a (commented out) configuration line for the RAIDframe device driver. 1998-11-16 16:44:55 +00:00
oster c74d32c5fc Updating of bdev's and cdev's to support RAIDframe. 1998-11-13 04:47:03 +00:00
sakamoto 7b111b4229 Support frame buffer console with Matrox Millennium(probably, and II).
But, NetBSD/bebox kernel doesn't support yet.
1998-10-28 02:47:35 +00:00
sakamoto 709dd80ed0 Support frame buffer console initialized by the BootRom of the BeBox.
But, NetBSD/bebox kernel doesn't support yet.
1998-10-26 00:45:47 +00:00
tron b296275bb4 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:09:13 +00:00
drochner 2468738337 change handling of libkern:
-sys/lib/libkern builds as library per default (as it was documented all
 the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
 (for now; should depend on actual "option LKM" or -better- functions
 included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
 by libcompat, but not the other way
1998-10-15 18:37:13 +00:00
thorpej 908cdfe4e3 Add scsibus entry points to the cdevsw[]. 1998-10-10 02:00:49 +00:00
sakamoto 72e565d9b1 Fix unassigned minaddr for uvm_km_suballoc.
Eliminate space at end of line, and so on.
1998-10-06 03:48:12 +00:00
sakamoto c9937d0234 cleanup. 1998-10-05 02:01:57 +00:00
sakamoto 9f317a1a9d Add syncicache after text loading. 1998-10-05 01:58:03 +00:00
thorpej 49a45fed9b If the memory range of the machine is such that no bouncing is necessary,
or if the device is capable of 32-bit DMA (specified by ISABUS_DMA_32BIT),
clear the map's bounce threshold at map creation time.
1998-10-03 21:53:04 +00:00
thorpej 01a1588265 Initialize the DMA map's bounce threshold to the tag's at map creation time,
and use the map's threshold when loading the map.
1998-10-03 21:38:48 +00:00
thorpej 10557b15d7 Add a private bounce threshold to the DMA map, initialized in a bus-dependent
fashion.
1998-10-03 21:24:00 +00:00