Commit Graph

473 Commits

Author SHA1 Message Date
thorpej
d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej
a3ec356d52 splimp() -> splvm() 2001-01-14 03:22:04 +00:00
takemura
c5fd828440 replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
2001-01-03 10:08:55 +00:00
tsubai
26914e2bcf Make want_resched and astpending per-CPU.
Add some per-CPU variables to cpu_info.
2001-01-01 04:33:39 +00:00
itojun
efa2b7073c make mbstate_t bigger (32 -> 128 bytes).
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare).  really sorry
for the mess.
2000-12-26 10:35:28 +00:00
jdolecek
e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
itojun
823498203f populate _BSD_MBSTATE_T_. add warning regarding to rune_t. 2000-12-21 06:03:47 +00:00
mycroft
3418812d3c Partial syscall cleanup, as per other ports. 2000-12-14 10:33:42 +00:00
jdolecek
1683c206a4 provide dymmy symbol 'syscall' to make ppc kernels
linkable after recent emul changes - it's used in emul_netbsd and friends
XXX this is probably wrong solution; should powerpc have separate
XXX syscall() as other ports do ?
2000-12-10 12:49:54 +00:00
mycroft
e4ae5a1406 In mem_regions(), deal with the case of a run of consecutive holes.
Now the cube works with the memory in any order.
2000-12-05 05:16:00 +00:00
tsubai
1b4a9cb335 Move INTSTK and SPILLSTK definitions to locore.[Ss] to allow allocation of
them in early startup.
2000-12-04 17:05:50 +00:00
tsubai
2fb7179aaf Add KERNEL_LOCK (et al.) to run MULTIPROCESSOR kernel on a single cpu system. 2000-11-25 15:49:43 +00:00
matt
f80f1b8624 Preliminary AltiVec support. 2000-11-25 03:03:35 +00:00
matt
4c6aaf87d2 Add placeholder for AltiVec support file. 2000-11-25 03:01:40 +00:00
matt
6d256b4cca Preliminary AltiVec support 2000-11-25 03:00:48 +00:00
matt
6b0877113f Some preliminary ALTIVEC support. 2000-11-25 02:59:34 +00:00
tsubai
4e01e6de8b When fatal trap occurs, enter DDB with trapframe rather than just "Debugger()". 2000-11-24 21:49:06 +00:00
matt
1420862fba Add comments and AltiVec reg state. 2000-11-23 02:35:10 +00:00
wiz
b03725b863 Change OF_nextprop to match prototype change to void *
(Please don't change prototypes without changing the corresponding
functions!)
2000-11-22 18:18:32 +00:00
tsubai
1931e71852 Constify struct sysent. 2000-11-22 14:00:46 +00:00
tsubai
11b48d8a4d Thermal Management Interrupt is available on 750, too. 2000-11-20 15:16:04 +00:00
matt
95a8447ccf Add G4 specific exceptions (include AltiVec). 2000-11-19 20:48:20 +00:00
matt
bb71a6b332 Add AltiVec VSCR definitions. 2000-11-19 20:41:04 +00:00
matt
b1e1cfdb4a Add AltiVec VEC bit. 2000-11-19 19:52:37 +00:00
thorpej
216902b8d2 Trap routines from the macppc port, to be used by other PowerPC
ports (only amigappc's differs).
2000-11-16 05:33:04 +00:00
matt
dbe8de94a8 back out my change powerpc/conf/files.ofw. Enable the inclusion of
dev/ofw/files.ofw on macppc.  Add openfirm to ofppc/conf.c
2000-11-15 00:39:31 +00:00
matt
58645ba248 Add support for /dev/openfirm.
Add OF_nextprop support.
2000-11-14 21:22:43 +00:00
tsubai
b11322a19d powerpc HID registers definitions (only HID0 for now). 2000-11-09 11:49:13 +00:00
tsubai
4833accce2 In mem_regions(), remove zero sized entry returned from OF.
Since this function uses size == 0 to delimiter, valid entries must not
contain 0 in size field.

G4 Cube should boot now. :-)
2000-09-24 15:57:03 +00:00
tsubai
4317291e1a Make HTABSIZE calculation work with >1GB RAM. 2000-09-24 15:26:34 +00:00
thorpej
72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
tsubai
365ec2aa42 Scheduler locking changes. 2000-08-21 18:46:03 +00:00
tshiozak
51a53de0d5 Preparation for the future introduction of multibyte locale.
- MB_LEN_MAX is increased to 32.
 - To ensure binary compatibility for old executables
   under multibyte locale, versioned setlocale is added.
 - __mb_len_cur definision is added in setlocale.c
   and enable it in stdlib.h .
   It is also important for multibyte locale stuffs,
   but I just forgot.
2000-08-08 22:31:13 +00:00
tsubai
2c691df1ec uvm/uvm_inherit.h was removed. 2000-08-02 09:06:56 +00:00
tsubai
7314c0eba6 Clear the reservation in __cpu_simple_lock_try even if it failed to lock.
(From ws@tools.de)
2000-07-08 04:36:56 +00:00
tsubai
9ad1103d98 Make it compile with "options MULTIPROCESSOR". 2000-07-06 22:56:22 +00:00
tsubai
212a0a08d2 Implement powerpc spin lock functions. 2000-07-06 03:52:25 +00:00
itojun
d738f90fd7 raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory.  MHLEN is too small
  already (less than 80) and there are chances for unwanted packet loss due
  to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
  (even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
  extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
2000-06-30 17:55:11 +00:00
mrg
fa00dc597a remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 07:44:02 +00:00
kleink
bb2ed0f487 G/c _BSD_INTPTR_T_ and _BSD_UINTPTR_T_. 2000-06-27 05:53:22 +00:00
kleink
47b5c5e3b1 Resolve some formatting nits; add __intptr_t and __uintptr_t. 2000-06-27 04:58:51 +00:00
kleink
e695f72a2e Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
2000-06-26 15:42:16 +00:00
mrg
4c698e84f6 <vm/vm_param.h> -> <uvm/uvm_param.h> 2000-06-26 14:58:58 +00:00
mrg
2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
simonb
889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
mrg
f5f84f80c5 <vm/vm_prot.h> becomes <uvm/uvm_prot.h> 2000-06-25 13:37:51 +00:00
kleink
133ea38323 Add a WEAK_ALIAS() macro. 2000-06-23 12:18:45 +00:00
tsubai
1bfa0fc6b6 Add cpu_counter(). 2000-06-11 16:32:42 +00:00
tsubai
abc5d88356 Make this compile again. 2000-06-11 10:02:15 +00:00
kleink
2a258cd5c8 Pull in missing DDB headers. 2000-06-09 14:09:45 +00:00
kleink
4d8e50f1ce Need <sys/syscallargs.h> for declaration of sys_sysarch(). 2000-06-09 14:08:45 +00:00
kleink
bcd7f512f5 Pull in missing headers for declarations, and add missing local function
declarations.
2000-06-09 14:07:13 +00:00
kleink
080f786189 Need <sys/systm.h> for declaration, and make argument declarations match. 2000-06-09 14:05:47 +00:00
kleink
4d6a384b1b Need <sys/ptrace.h> for declarations. 2000-06-09 14:05:04 +00:00
kleink
18495b9efa Need <sys/systm.h> for declaration of bzero(). 2000-06-08 07:30:47 +00:00
kleink
c2715f98ce Need <sys/systm.h> for declaration, and make argument declarations match. 2000-06-08 07:29:22 +00:00
kleink
78009a319f Need <netinet/in.h> for declaration. 2000-06-08 06:50:46 +00:00
kleink
149050ce7b Need <sys/systm.h> for panic() declaration. 2000-06-08 06:48:45 +00:00
kleink
186d2ccb7f Need <sys/systm.h> for declaration, and make argument declarations match. 2000-06-08 06:47:17 +00:00
tsubai
0552fd6de2 Dump fp regs into core file. 2000-06-04 12:12:13 +00:00
tsubai
5257d23759 Add fpreg area in struct md_coredump. 2000-06-04 11:57:17 +00:00
tsubai
86ac32df3d Add PT_GETFPREGS and PT_SETFPREGS support. 2000-06-04 09:30:43 +00:00
thorpej
e03e9e8086 Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1().  In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.
2000-05-28 05:48:59 +00:00
sommerfeld
40339b39f9 Reduce use of curproc in several places:
- Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.

 - Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.

 - Add a second proc argument for inferior() since callers all had
curproc handy.

Also, miscellaneous cleanups in ktrace:

 - ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.

 - move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.

 - simplify interface to ktrwrite()
2000-05-27 00:40:29 +00:00
thorpej
a7d0570e67 First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

	- Global state: sched_qs (run queues), sched_whichqs (bitmap
	  of non-empty run queues), sched_slpque (sleep queues).
	  NOTE: These may collectively move into a struct schedstate
	  at some point in the future.

	- Per-CPU state, struct schedstate_percpu: spc_runtime
	  (time process on this CPU started running), spc_flags
	  (replaces struct proc's p_schedflags), and
	  spc_curpriority (usrpri of processes on this CPU).

	- Every platform must now supply a struct cpu_info and
	  a curcpu() macro.  Simplify existing cpu_info declarations
	  where appropriate.

	- All references to per-CPU scheduler state now made through
	  curcpu().  NOTE: this will likely be adjusted in the future
	  after further changes to struct proc are made.

Tested on i386 and Alpha.  Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
2000-05-26 21:19:19 +00:00
jhawk
8e44b27348 Rename the machine-specific stack trace printing functions
from db_stack_trace_cmd() to db_stack_trace_print(),
and add an additional argument, a function pointer for an
output routine (i.e. printf() or db_printf()).

Add db_stack_trace_cmd() in db_command.[ch], calling
db_stack_trace_print() with db_printf() as the printer.

Move count==-1 special handling from db_stack_trace_print() [nee
db_stack_trace_cmd()] to db_stack_trace_cmd() [nascent here].

Again, I'm unable to test compilation on all affected platforms,
so advance apologies for potential brokenness.
2000-05-26 03:34:24 +00:00
is
8a6db88c1d Prepare for AmigaPPC. 2000-05-25 21:10:14 +00:00
thorpej
1140468205 Use preempt(), not an open-coded equivalent (which won't be
equivalent for long).
2000-05-24 16:48:33 +00:00
tsubai
b906075964 Compile dk_* functions only when __BROKEN_DK_ESTABLISH is defined. 2000-05-23 13:25:43 +00:00
thorpej
855b79db92 Let each platform typedef the new __cpu_simple_lock_t, which should
be the most efficient type used for the atomic operations in the
simplelock structure, and should also be __volatile.
2000-05-02 04:41:04 +00:00
thorpej
f51470a514 Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED.  These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case).  Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
2000-04-29 03:31:45 +00:00
tsubai
be4988ee6d Make kernel profiling work. 2000-04-18 17:06:01 +00:00
tsubai
c1acffff5c When call a signal handler, don't pass the kernel (local) address in r5. 2000-04-03 10:23:24 +00:00
minoura
78b105698a Move dl* function definitions to libc on ELF.
Based on the patch supplied by Takuya Shiozaki <tshiozak@astec.co.jp>.
See http://mail-index.netbsd.org/tech-userlevel/2000/02/23/0000.html.
2000-04-02 15:35:47 +00:00
jdolecek
fde0c4e6e0 Prototype vtophys() before defining it. Needed for compilation with
-Wstrict prototypes on macppc.

Problem noted by  Hans-Christian Becker <hcb@phc.chalmers.se> in private mail.
2000-03-30 16:18:24 +00:00
kleink
230876cf26 Merge parts of chs-ubc2 into the trunk:
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
  make them type-generic, which is necessary i.e. to operate on file offsets
  without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
  integral type (paddr_t, vaddr_t).

Originally done by Chuck Silvers, updated by myself.
2000-03-26 20:42:21 +00:00
tron
e86957458a Install "machineendian_machdep.h". 2000-03-17 22:36:31 +00:00
mycroft
9e21b6555a In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
2000-03-17 00:09:18 +00:00
mycroft
02905321b2 Foolish consistency. Mainly, always use underscores and sys/endian.h. 2000-03-16 15:09:34 +00:00
kleink
ad7dbd825c Define ISO C99 (unsigned) long long (min, max) symbols. 2000-03-07 19:33:00 +00:00
tsubai
0086d842d5 Rewrite stdarg/varargs. 2000-02-27 17:50:20 +00:00
chs
0e4b23600f handle a NULL "done" pointer.
for the userspace versions, return EFAULT instead of EACCES
when the user address is bogus.
2000-02-19 23:29:16 +00:00
tsubai
e7edda84b7 Remove vmparam.h. 2000-02-18 08:50:25 +00:00
tsubai
a6343f76db Unused. (PR 9424) 2000-02-16 14:02:13 +00:00
thorpej
fd8c03cf44 Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().
2000-02-14 21:42:50 +00:00
tsubai
90fe757934 Fix typo in comment. 2000-02-13 10:25:07 +00:00
thorpej
dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
tsubai
0867c09dad Change va_arg definition when __lint__ is defined. 2000-02-09 12:54:47 +00:00
kleink
36e6bc645e Improve namespace test macros a bit. 2000-02-05 14:04:36 +00:00
kleink
82464e46d6 Add a C99-style va_copy macro. 2000-02-03 16:16:06 +00:00
sommerfeld
aa195e816f Fix PR9240: comment above cpu_fork() out of synch with reality on most ports.
(comment change only, but was wrong for more than just i386).
2000-01-20 22:18:54 +00:00
danw
6c14ba0dba Fill in the alignment trap handler a bit: now it can fix unaligned
floating point loads and stores (to work around a gcc bug), but will
still cause a bus error on other sorts of unaligned accesses.
2000-01-19 03:30:12 +00:00
kleink
693059feda const -> __const and include <sys/cdefs.h> earlier; fixes PR lib/9052
by Takahiro Kambe.
2000-01-04 14:20:05 +00:00
kleink
11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
thorpej
8fc6795a77 - Comment the BAT bits.
- Add defintions for the PowerPC 601 BATs.
- Change the BATU()/BATL() macros to be a bit more flexible; allow size,
  permissions, etc. to be specified.
1999-12-18 01:36:06 +00:00
thorpej
05684a14e6 Comment the MSR bits, and note which ones are not present on the PowerPC 601. 1999-12-18 01:34:15 +00:00
thorpej
0352041467 Hardware Implementation Dependent registers for the PowerPC 601. 1999-12-18 01:33:45 +00:00
danw
83f1c31647 Fix "FPCSR" to "FPSCR". ("Floating Point Status and Control Register") 1999-12-07 15:14:56 +00:00
ragge
0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
tsubai
668b553d53 Need opt_compat_netbsd.h. 1999-11-22 13:26:59 +00:00
lonhyn
090c4d2e66 Program to convert back and forth between PPM and CHRP boot icon images. 1999-11-19 00:43:20 +00:00
kleink
eac5784583 Move signal management code common to all PowerPC platforms (sendsig(),
sigreturn(), sigcode) to a single place in the shared powerpc directory.
(The struct sigcontext etc. definitions were already being shared.)
1999-11-17 14:56:10 +00:00
thorpej
1946167939 Update for pmap_enter() API change. No functional difference. 1999-11-13 00:30:26 +00:00
kleink
522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
jdolecek
7f589dba84 rename the MD Debugger() to cpu_Debugger()
add MI Debugger() which switches to console if wscons is used prior
to calling cpu_Debugger()
1999-10-12 17:08:56 +00:00
chs
3bfa86cbc0 fix breakage from PMAP_NEW cleanup. 1999-09-14 17:11:45 +00:00
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
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
tsubai
3a8ad815c4 Add some prototypes. 1998-09-01 16:35:50 +00:00
tsubai
b9a44d6b63 vm_offset_t --> [pv]addr_t 1998-08-31 14:43:39 +00:00
tsubai
378fc0778a Change db_expr_t from int to long like other ports. 1998-08-31 14:16:48 +00:00
kleink
708c5f826e Add missing wint_t (currently unused). 1998-08-16 17:16:56 +00:00
wrstuden
0e4dc30457 As ovbcopy & bcopy are now done in terms of mem* routines, it makes
no sense to "#define ovbcopy bcopy".
1998-08-16 02:15:50 +00:00
eeh
a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
kleink
546365a27e _POSIX_SOURCE -> _POSIX_C_SOURCE 1998-08-06 11:25:04 +00:00
mycroft
a24dbc8065 (Always) (practice) (safe) (macro expansion). 1998-07-31 15:07:41 +00:00
thorpej
c8f1cea511 Provide SSIZE_MAX. 1998-07-28 23:20:54 +00:00
tsubai
db105fc687 Make vtophys() return non-zero even if the addr < end. 1998-07-25 15:06:28 +00:00
thorpej
d47ea67c1f Define one page free list, and put all pages on it. 1998-07-08 04:43:18 +00:00
jonathan
466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
thorpej
971b8956ef defopt KTRACE 1998-06-25 21:18:11 +00:00
tsubai
56076d8c0d Bugfix of MACHINE_NEW_NONCONTIG support.
PTE_I/G bits should be determined by mem array (not avail array).
1998-06-21 13:30:43 +00:00
kleink
1fbd0b3749 GC the unused `physadr' type, which was not able to hold a complete physical
address on 2 architectures anyhow.  Also, move the definition of the `label_t'
type inside _KERNEL protection, since it is specific to the in-kernel
setjmp()/longjmp() implementations.
1998-06-14 20:09:22 +00:00
cgd
651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
sakamoto
9125a5f198 Merge in MACHINE_NEW_NONCONTIG support and some fix from Tsubai-San.
UVM support.
1998-06-05 11:27:09 +00:00
sakamoto
970fffe99b revert. ofppc->powerpc 1998-05-29 10:04:22 +00:00
sakamoto
7e5b88f619 Revert OpenFirmware files to powerpc directory.
OpenFirmware files are used by ofppc/macppc.
1998-05-29 08:38:25 +00:00
sakamoto
9c11ca3d51 Rename NetBSD/powerpc to NetBSD/ofppc.
New sys/arch/powerpc with PowerPC-generic stuff.
1998-05-28 07:56:42 +00:00
kleink
a97fc2f180 If any of _ANSI_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE are defined, don't
provide any identifiers other than sig_atomic_t.
1998-05-25 20:59:01 +00:00
drochner
bd9ed5a6fd STANDALONE->_STANDALONE (cpp definition)
closes PR kern/5481 (Erik Bertelsen <erik@q610.ebe.uni-c.dk>)
1998-05-22 12:56:35 +00:00
thorpej
6626878e7b It is no longer necessary for pmap_pinit() and pmap_release() to be
pmap interface functions, as NetBSD no longer uses statically allocated
pmaps (except for the kernel pmap, which is special-cased anyhow).
1998-05-19 19:00:11 +00:00
kleink
687ea7404c Fix some arithmetics lossage on typeless pointers. 1998-05-08 16:55:15 +00:00
kleink
aa36ad1f55 Fix some arithmetics lossage on typeless pointers. 1998-05-07 21:01:41 +00:00
thorpej
1686aca01d Pull in opt_gateway.h as appropriate. 1998-04-29 23:11:00 +00:00
kleink
a53c1863fe Provide definitions for intptr_t and uintptr_t, signed resp. unsigned integral
types large enough to hold any pointer.
1998-04-27 17:39:10 +00:00
tv
b21bfbde11 Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
1998-04-12 23:47:41 +00:00
bouyer
9f50fca1fd Add commented out "options FFS_EI" 1998-03-18 16:34:41 +00:00
drochner
e3d8e9c72b enable compatibility for old partition ID per default 1998-03-02 17:07:53 +00:00
drochner
3bb9e75863 Change MBR partition type for NetBSD to 0xa9, like the i386 port.
Provide compatibility via COMPAT_386BSD_MBRPART.
1998-03-02 16:18:17 +00:00
perry
1ed8ea9966 note second parm of sysarch() is now void *, + trivial KNF, etc. 1998-02-25 21:41:55 +00:00