Commit Graph

18934 Commits

Author SHA1 Message Date
eeh
c2f2c064c0 Make pmap_enter() handle little-endian mappings properly. 1999-05-30 19:01:50 +00:00
eeh
de1ba9c829 Grab real locks from the sparc port. I suppose we could use casa and casx
instead of ldstub, but since we aren't doing n-way locking it makes little
difference.  N.B. Need to decide what to do with sparc64/sparc64/asm.h which
has name conflicts with sparc64/include/asm.h.  So far most of
sparc64/sparc64/asm.h has been moved to ctlreg.h.
1999-05-30 18:57:27 +00:00
eeh
dafdd170d7 Handle little-endian mapin requests. 1999-05-30 18:52:51 +00:00
mrg
01849b81ca allow the kernel to link with no arp (ether) devices 1999-05-30 07:36:28 +00:00
mrg
1b384c6911 clone intr.h from the SPARC. 1999-05-30 02:37:10 +00:00
nisimura
ce19767c8b - Make a modification to reduce the cost of TLBmod exception handling.
TLBUpdate() routine is used for dual purposes.  In TLBmod case, just ok
to call 'tlbwi' (as designed).  Result in saving of extraneous execution
path.  MIPS1 only this moment.
1999-05-29 09:38:28 +00:00
nisimura
fcd9e7edb9 - Correct uninitialized pointer issue I made.
- Put a comment why the original prodtype detection logic made no trouble.
1999-05-29 09:31:02 +00:00
simonb
59dfa57be9 Move initialisation of ioasic_base to dec_3maxplus_init() - it is used
in this function before dec_3maxplus_os_init() gets called.
1999-05-29 07:10:36 +00:00
thorpej
dbc1dd921a Clone vmapbuf() and vunmapbuf() from the Alpha port. 1999-05-28 22:59:40 +00:00
mark
8885cdd879 Implement a workaround in initarm() for a problem that stopped ARM610
and some ARM710 processors from completing their initial bootstrap.
Fixes PR7595.
1999-05-28 09:59:31 +00:00
simonb
f62bb2b791 Add CD9660 filesystem - useful for installing from CD-ROMs :-) 1999-05-28 08:07:12 +00:00
nisimura
d116bc4a0d - Make this compilable with MIPS1 or MIPS3 only configuration. 1999-05-28 07:23:38 +00:00
pk
0953844306 Casts to match `%d' in printf format. 1999-05-27 14:20:10 +00:00
pk
69b216aefe xmit' & recv' return `ssize_t' 1999-05-27 14:04:25 +00:00
leo
88efdc6951 Add support for the memory on the CT2 board. Info from Thomas Goirand. 1999-05-27 09:08:25 +00:00
mark
ccb5b09c4f Grr. Nuke the remaining allocsys() prototypes. 1999-05-27 09:08:09 +00:00
mark
99804cc3e7 Nuke old prototype of allocsys(). 1999-05-27 09:04:11 +00:00
nisimura
9b5cf7b4de - Save MIPS1 only configuration for 3min, pointed by Erik Bertelsen
<erik@mediator.uni-c.dk>
1999-05-27 06:43:50 +00:00
nisimura
58cf81db34 - Change a symbolic name of TLB entrylo from 'PG_M' to 'PG_D' to reflect
processor design.  MIPS 'dirty bit' is not the same as i386 'dirty bit'.
There is a growing concern of misuse in NetBSD/mips.
1999-05-27 01:56:32 +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
985f839e63 Add a comment explaining why INTRSAFE isn't needed here. 1999-05-26 19:23:13 +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
leo
48627f3c5d Make this compile again. I assumed that the use of 'format_memory()' was
an error? Made it use format_bytes()....
1999-05-26 14:29:34 +00:00
cgd
5dd4815be9 uh, get the port name consistently correct (NetBSD/alpha, not NetBSD/Alpha) 1999-05-26 06:22:03 +00:00
nisimura
1922144399 - Remove now obsolete function declaration. 1999-05-26 04:27:27 +00:00
nisimura
d7a56fd7fa - Continue on branch merge, incrementally.
- Catch up filename changes escaped to be fixed.
1999-05-26 04:23:58 +00:00
thorpej
40aacb6eb5 No longer need to pmap_modified_emulation() in cpu_swapin(), since
uvm_fault_wire() does the right thing with access_type.

XXX Was there a bug here?  pmap_modified_emulation() *wasn't* done in
XXX cpu_fork()!!
1999-05-26 00:40:20 +00:00
thorpej
32de988d29 No longer need to pmap_emulate_reference() in cpu_fork() or cpu_swapin(),
since uvm_fault_wire() does the right thing with access_type.
1999-05-26 00:37:40 +00:00
thorpej
5b897f96c5 msgbuf doesn't need VM_PROT_EXEC. 1999-05-25 23:31:14 +00:00
thorpej
ed0aee1190 When mapping bus space, we can use pmap_kenter_pa(), since the pages
are never managed.
1999-05-25 23:30:27 +00:00
thorpej
774ceea703 msgbuf doesn't need VM_PROT_EXEC, biostramp does. 1999-05-25 23:19:00 +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
thorpej
f197609d93 Add some DIAGNOSTIC checks for inconsistent use of pmap_enter/pmap_kremove. 1999-05-25 20:33:33 +00:00
thorpej
986c3eca39 Fix some major locking protocol issues related to pmap_kremove() having
to deal with PG_PVLIST mappings; it no longer has to.  Add some DIAGNOSTIC
checks for inconsistent use of pmap_enter/pmap_kremove.
1999-05-25 20:32:29 +00:00
nisimura
fec53c08d6 - Use dev_name2blk[] array prepared by config(8) instead of handcrafting
local data.
1999-05-25 09:32:27 +00:00
nisimura
058f5a1517 - Continue to import a development branch.
- Minor formatting fix.
1999-05-25 07:37:08 +00:00
nisimura
014ba724c0 - Rework spl(9) implementation. Use _spl*() processor mask manipulating
routines now reside in locore.S.  No functional difference is expected.
- Replace abused splx() abuse with _splset() to change MIPS processor
interrupt mask bit.  'mips/trap.c' side will be fixed soon.
1999-05-25 04:17:57 +00:00
thorpej
cba22525ce Fix some broken packet length checks. Really (no, I mean really) works now
after the ether_input() changes -- tested on my Quadra 650.
1999-05-24 21:53:42 +00:00
thorpej
5dec34efed The kernel pmap can be accessed (and locked!) while in an interrupt
context, so we must block interrupts which may cause memory allocation
before asserting the kernel pmap's lock.  Put this all in PMAP_LOCK()
and PMAP_UNLOCK() macros to make it easier.
1999-05-24 20:11:58 +00:00
ragge
ad1db202f7 bus.h'ify more of the vax code. 1999-05-24 20:10:30 +00:00
thorpej
e8beb9bbe8 Make this compile again. 1999-05-24 18:40:48 +00:00
thorpej
8c2d5c6fd3 Let the caller decide what to do if pmap_physpage_alloc() fails. 1999-05-24 01:35:54 +00:00
mrg
1bd01d4677 pull struct strbuf + defines into iommureg.h. properly merge previous commit. 1999-05-24 00:25:31 +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
thorpej
c1eb28c237 Make the list of all pmaps LRU-ordered, and update a comment regarding
locking.
1999-05-23 22:37:02 +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