Commit Graph

784 Commits

Author SHA1 Message Date
ragge d55d0ac4b5 Add some more IPRs for KA670. 1999-06-06 19:06:29 +00:00
ragge db8c0c9c4c Use gencons if VAX670. 1999-06-06 19:05:21 +00:00
ragge 02637941e5 Ops, forgot this file. 1999-06-06 19:03:40 +00:00
ragge 134b65fde3 Added support for Qbus DMA. 1999-06-06 19:00:53 +00:00
ragge 64572c459a sgmap files, copied from the Alpha port and modified for vax. 1999-06-06 18:58:50 +00:00
ragge 22b5707362 Complete support for VAX 4000/300. From Michael Kukat. (michael@camaronet.de) 1999-06-06 14:23:46 +00:00
thorpej beb8d06638 Generally update the comment above vunmapbuf(). 1999-05-26 22:19:33 +00:00
thorpej a2d06a4721 Generally update the comment above the vmapbuf() implementations. 1999-05-26 22:07:36 +00:00
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
ragge ad1db202f7 bus.h'ify more of the vax code. 1999-05-24 20:10:30 +00:00
ragge 0354feab8e Make this file compile again. 1999-05-23 23:06:24 +00:00
ragge 373e7cc828 Rewrite the "emulate page reference bits" code to avoid a bunch of
pv_lists traversal and unneccessary page faults.
1999-05-23 23:03:44 +00:00
ragge 539f825799 Better and more understandable way to find out CPU type. 1999-05-23 22:56:53 +00:00
ragge 6c98e1bae7 Routine to figure out which system type is booted. 1999-05-23 22:00:43 +00:00
ragge f1fc4934a3 Use common routines to identify cpu type.
Set up a SCB to be able to handle clock interrupts in the boot program.
Now timer countdown should work on all types of vaxen.
1999-05-23 21:58:19 +00:00
ragge b337d4d3c7 Don't detect glass tty if the machine is a workstation.
Hint from Thomas Seidmann.
1999-05-20 23:00:58 +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
thorpej f98d358a1f Rework layer 2 protocol input routines. Instead of calling e.g. ether_input()
directly, call the function pointer (*if_input)(ifp, m).  The input routine
expects the packet header to be at the head of the packet, and will adjust
as necessary.  Privatize the layer 2 input and output routines, allowing
*_ifattach() to set them up as appropriate.
1999-05-18 23:52:51 +00:00
thorpej c10a926030 Allow the caller to specify a stack for the child process. If NULL,
the child inherits the stack pointer from the parent (traditional
behavior).  Like the signal stack, the stack area is secified as
a low address and a size; machine-dependent code accounts for stack
direction.

This is required for clone(2).
1999-05-13 21:58:32 +00:00
drochner fe310dd299 include <lib/libkern/libkern.h> for intoa()/inet_ntoa() 1999-05-07 16:19:27 +00:00
christos c596c324e3 Define __builtin_*() for lint 1999-05-03 16:30:31 +00:00
ragge a5ce96e985 EEEK! The signal changes a while ago caused the user struct to be
on top of the "red zone" in the kernel stack. This phenomenon has
caused many unexplainable things to happen the last year.
1999-05-02 17:28:43 +00:00
ragge fc6020e344 Real-time clock is started on the same way on all CPUs, there is no
need for a special CPU-dependent hook for this.
1999-05-01 16:13:43 +00:00
ragge cec112a434 Make LK201 arrow keys work again. 1999-04-29 16:58:58 +00:00
thorpej 5d82bfc656 Garbage-collect VM_MBUF_SIZE. 1999-04-26 22:47:34 +00:00
simonb 5d8b1ef3e4 g/c REAL_CLISTS. 1999-04-25 02:56:26 +00:00
ragge d9010c853c Don't try to init the L2 cache if there is no L2 cache. (KA640) 1999-04-19 14:50:57 +00:00
ragge d80adac6a7 Only allocate QDSS memory if there is a QDSS as console.
QDSS should also work on KA650 now. (untested)
1999-04-17 17:02:49 +00:00
ragge e9689cc9bd Use "access_type" in pmap_enter() more intelligent.
Allocate device register space bigger than the logical page size
from the kernel map, thus decreasing the pre-allocated page table memory.
1999-04-17 00:01:18 +00:00
ragge 71a57b22eb Use the pool allocator for mbufs instead of a separate submap. 1999-04-14 23:42:00 +00:00
ragge 797a7428d6 First towards use of bus.h routines on vax. Allocate DMA memory for
LANCE chip on vaxstations.
1999-04-14 23:14:45 +00:00
ragge 397795c32d Machines using KA48 must have memory mapped in, and use the same
addresses for console as KA46. From Michael Kukat.
1999-04-14 16:19:03 +00:00
pk ca0b7aaa87 Ungarble the copyright notice. 1999-04-12 20:57:52 +00:00
pk b13e5d1469 Quote "AS IS" as in the majority of Carnegy Mellon notices. 1999-04-12 20:38:17 +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
pk c40eb1cd97 Fix a pasto in copyright text which has been procreating like rabbits.. 1999-04-06 20:09:18 +00:00
ragge 60d4b9c2bd A bunch of small fixes to make boot work on most VAXen. 1999-04-01 20:40:07 +00:00
ragge 978ab908d4 Slimmed install kernel with md-root. 1999-04-01 20:36:32 +00:00
thorpej 967b8c433c Don't call configure() from cpu_startup(). 1999-04-01 00:17:45 +00:00
ragge d30ddfde0f Change console detection a little bit. 1999-03-27 15:33:46 +00:00
ragge 11f0bebf2b #define was wrong. Some .c should be .s. 1999-03-27 09:33:30 +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
ragge dbc385934b Buggfixes for VS 4000/VLC. Basic support for VS4000/90 and MV4000/300.
From Michael Kukat.
1999-03-26 22:04:07 +00:00
ragge c9f75bc587 Didn't reset interrupt flag after reading. From Christopher Sekiya. 1999-03-26 19:35:30 +00:00
thorpej ad22c1dd58 Use ETHER_*_LEN constants from <net/if_ether.h> instead of defining them
ourselves.
1999-03-25 23:16:37 +00:00
thorpej 587eda7c3f Use ETHER_*_LEN constants from <net/if_ether.h> instead of defining them
ourselves.
1999-03-25 23:11:51 +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