chs
f3a668ed84
eliminate the PMAP_NEW option by making it required for all ports.
...
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
tsubai
30e635f6f3
Make sure that we use only inside of available memory region
...
in pmap_bootstrap.
1999-08-30 07:59:19 +00:00
simonb
3c185af5fd
Include <sys/endian.h> after defining whether where are little- or
...
big-endian. i386, pc532 and vax still include <machine/byte_swap.h>
and define macros for the {n,h}to{h,n}*() functions. mips also
defines some endian-independent assembly-code aliases for unaligned
memory accesses.
1999-08-21 05:53:50 +00:00
simonb
06a92524c2
Include <sys/bswap.h> for function prototypes. i386, pc532 and vax
...
still include <machine/byte_swap.h> and define macros for some of
the bswap*() functions.
1999-08-21 05:39:51 +00:00
tsubai
183ef12cd5
Adapt pmap_extract() change.
1999-07-11 17:44:08 +00:00
thorpej
3ebbe095e0
Change the pmap_extract() interface to:
...
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
1999-07-08 18:05:21 +00:00
danw
9d4f4eebdb
reorder the fp_rnd constants to match the values used by the
...
powerpc fpu
1999-07-07 01:52:26 +00:00
thorpej
0288ffb53a
pmap_change_wiring() -> pmap_unwire().
1999-06-17 19:23:20 +00:00
thorpej
f5a527bb4e
Remove pmap_pageable(); no pmap implements it, and it is not really useful,
...
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.
1999-06-17 18:21:21 +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
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
tsubai
0e57d44e45
Add missing CPU_MAXID definition.
1999-05-05 11:20:54 +00:00
tsubai
6168467392
Add cpu.h.
1999-05-05 10:15:53 +00:00
tsubai
fdabab77f2
PT_{STEP,GETREGS,SETREGS} support.
1999-05-03 10:02:19 +00:00
kleink
5cbe23baad
Garbage-collect VM_MBUF_SIZE leftover.
1999-05-02 18:12:32 +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
4b603c180a
Use the same hack as pmap_zero_page() and pmap_copy_page() to provide
...
direct-mapped pool pages.
1999-04-16 21:45:19 +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
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
tsubai
82b3b0209f
In copyin() and copyout(), clear the pcb_onfault variable in the EFAULT
...
case. (pr 7243)
1999-03-26 08:32:15 +00:00
tsubai
38a92c9752
A successful kernel page fault should just return so that signal delivery
...
et al. should not executed. (pr7240)
1999-03-26 08:15:23 +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
thorpej
63b6321834
VM_MBUF_SIZE is in terms of MCLBYTES, not CLBYTES.
1999-03-23 00:31:59 +00:00
chs
31839fe71d
fix previous, I got carried away with cut+paste.
1999-03-22 08:44:37 +00:00
thorpej
a77ccfe460
Garbage-collect.
1999-03-20 01:40:25 +00:00
chs
ab7269f62a
if uvm_fault() fails with KERN_RESOURCE_SHORTAGE, send a SIGKILL
...
and print a message about it. this will be used to recover from
out-of-swap conditions.
1999-03-18 04:56:01 +00:00
tsubai
b4374e3ce0
Implement badaddr() and trap machine-check in badaddr.
1999-03-15 01:29:07 +00:00
tsubai
61fbe51007
First-cut of profiling support.
...
XXX userland only, for now.
1999-03-05 07:59:13 +00:00
tsubai
96f0fb14a1
Add RSS accounting.
1999-03-05 06:10:48 +00:00
tsubai
01614b7217
Implement pmap_procwr().
...
(Not tested. gdb doesn't work on powerpc yet.)
1999-02-26 14:40:45 +00:00
hubertf
100778d54a
RCS ID police
1999-02-15 04:25:28 +00:00
kleink
f69591d12d
Use of casts as lvalues is a GNU C extension; rearrange slightly.
1999-02-10 17:03:26 +00:00
tsubai
46660b394f
Make ptable really aligned to HTABSIZE.
1999-02-04 12:45:31 +00:00
mycroft
897a8a7f29
Mark [hn]to[nh][ls]() with __const__, so they are subject to CSE.
1999-01-24 12:55:01 +00:00
tsubai
3e7448240b
Add missing backslash.
1999-01-17 12:51:03 +00:00
chuck
9cb41178b7
MNN is no longer optional, remove old code
1999-01-16 20:39:03 +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
tsubai
c2bb308ef9
Use (fast!) dcbz asm instruction in pmap_zero_page().
1999-01-12 11:03:04 +00:00
tsubai
4293e4ff3c
Use the last available page(s) for msgbuf.
1999-01-12 10:26:18 +00:00
tsubai
ae67dbc85d
Fix void * arithmetic.
1999-01-10 10:24:16 +00:00
tsubai
0280ba028c
Fix void * arithmetic.
1999-01-10 10:13:15 +00:00
sakamoto
64ba00be2c
Change r_type bit field size 5 to 6 and reduce unused bit(2 to 1).
...
Suggested by Mirian Crzig Lennox.
1998-12-03 05:15:06 +00:00
tsubai
4cb00b9fe2
Adapt to gcc change (calling sequence).
1998-12-02 14:23:03 +00:00
thorpej
a6f7e0c05a
Implement WARN_REFERENCES().
1998-12-02 00:58:42 +00:00
thorpej
8458248eec
copyin() and copyout() should return EFAULT if a fault occurs, not
...
EACCESS.
1998-11-26 21:06:21 +00:00
tsubai
35f82ac3eb
Save and restore pcb_onfault in kcopy().
1998-11-26 20:48:45 +00:00
tsubai
ac7d3e6487
Add PIC definitions.
1998-11-24 11:17:17 +00:00
ws
82fe9b4f90
The last fix in trap.c missed R2.
...
And correct the size of the fault buffer while being here.
1998-11-22 21:21:32 +00:00
tsubai
491966b273
When DSI occurs and pcb_onfault != 0, registers are incorrectly restored.
...
Fix this.
1998-11-21 20:18:47 +00:00