Commit Graph

205 Commits

Author SHA1 Message Date
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
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
mycroft 09093330b1 Add {LONG,WORD}_BIT and {DBL,FLT}_{DIG,MAX,MIN}. 1998-11-16 04:12:29 +00:00
tsubai dd918881b6 Restrict the length of return value within buflen. 1998-11-15 19:53:25 +00:00
thorpej cabecee13c Changes to support fork_kthread():
- cpu_set_kpc() now takes void *arg third argument, passed to the
  entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
  When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:43:49 +00:00
tsubai ffb3220169 Don't panic when pmap_remove_pv even if pa is not managed.
(i.e. I/O device.  framebuffer etc.)
1998-10-13 11:30:47 +00:00
sakamoto 6857706407 powerpc/bcopy.c is unnecessary. 1998-09-18 06:04:19 +00:00
thorpej 7083b63277 Back out previous; I'm punting PowerPC to tsubai or sakamoto. 1998-09-16 23:51:27 +00:00
thorpej ef3f4d39df Need 103 longs for jmp_buf now (128-bit signal mask, at the front of the
jump buffer).
1998-09-16 23:33:18 +00:00
thorpej cbfc257eda sigset13_t -> int. 1998-09-14 02:48:33 +00:00
thorpej c7d391b23c Make signal delivery work again. 1998-09-13 09:15:51 +00:00
thorpej 70e641047c In cpu_coredump(), use MID_MACHINE rather than MID_* (whatever it expands
to).
1998-09-09 11:17:24 +00:00
thorpej 8abe0d6b1c Adjust for the new "reaper" kernel thread: do not free the vmspace and
u-area in machine-dependent code.  Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
1998-09-09 00:07:48 +00:00