Commit Graph

61 Commits

Author SHA1 Message Date
christos
53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
tsutsui
7d4b57d7bc Some KNF. 2006-07-21 10:01:39 +00:00
tsutsui
f94698e954 Define base address offsets of intio devices in intioreg.h
and replace various magic numbers with the macro.
2006-07-19 17:21:23 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
tsutsui
31cb734598 Include "ioconf.h" for struct cfdriver *_cd decls. 2005-02-19 16:31:49 +00:00
thorpej
8ca927b486 Use ANSI function decls, static, and const. 2004-08-28 17:37:00 +00:00
tsutsui
b6c031f59c TAB/space cleanup. 2003-11-17 14:37:59 +00:00
agc
aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
fvdl
d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
thorpej
f4fff81d3a Adapt to ktrace/lwp changes. 2003-06-29 15:49:49 +00:00
he
b699c38934 Cast the result of VM_DEFAULT_ADDRESS to caddr_t, to make this compile again. 2003-02-23 19:08:18 +00:00
atatat
df0a9badc6 Introduce "top down" memory management for mmap()ed allocations. This
means that the dynamic linker gets mapped in at the top of available
user virtual memory (typically just below the stack), shared libraries
get mapped downwards from that point, and calls to mmap() that don't
specify a preferred address will get mapped in below those.

This means that the heap and the mmap()ed allocations will grow
towards each other, allowing one or the other to grow larger than
before.  Previously, the heap was limited to MAXDSIZ by the placement
of the dynamic linker (and the process's rlimits) and the space
available to mmap was hobbled by this reservation.

This is currently only enabled via an *option* for the i386 platform
(though other platforms are expected to follow).  Add "options
USE_TOPDOWN_VM" to your kernel config file, rerun config, and rebuild
your kernel to take advantage of this.

Note that the pmap_prefer() interface has not yet been modified to
play nicely with this, so those platforms require a bit more work
(most notably the sparc) before they can use this new memory
arrangement.

This change also introduces a VM_DEFAULT_ADDRESS() macro that picks
the appropriate default address based on the size of the allocation or
the size of the process's text segment accordingly.  Several drivers
and the SYSV SHM address assignment were changed to use this instead
of each one picking their own "default".
2003-02-20 22:16:05 +00:00
thorpej
72a2c87923 Use aprint_normal() for cfprint routines. 2003-01-01 01:34:45 +00:00
jdolecek
e0cc03a09b merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
jdolecek
fc6049b9b7 replace the somewhat strange poll routine with standard nopoll() (a.k.a
seltrue())
2002-10-10 22:33:15 +00:00
thorpej
c5e91d447d Use CFATTACH_DECL(). 2002-10-02 04:55:47 +00:00
thorpej
f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
gehenna
77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
gmcgarry
d4c41b0f8b malloc cleanups:
- malloc+memset -> malloc with M_ZERO
- malloc -> MALLOC for fixed-sized structures
Add RCSIDs while here
2002-03-15 05:52:53 +00:00
thorpej
86a77080a5 Remove (incorrect) extern decl of emul_hpux. 2001-12-26 19:08:11 +00:00
gmcgarry
aee7bee1a7 bcopy -> memcpy
bzero -> memset
bcmp -> memcmp
2001-12-08 03:34:38 +00:00
gmcgarry
4b62b5b023 Don't try to mmap the framebuffer as executable. Fixes MMU faults
when executing the X server.
2001-11-17 23:25:04 +00:00
tsutsui
41e535a424 Remove an unused variable which was caused on KERN_* error code removal. 2001-04-04 16:43:04 +00:00
chs
ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
mrg
ca5133d3fb remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:22:17 +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
oster
7824f40e5f Add a '#include <sys/resourcevar.h>' to each of these to allow them
to compile again.
1999-06-22 14:51:57 +00:00
thorpej
9e9f068f43 Add the guts of mlockall(MCL_FUTURE). This requires that a process's
"memlock" resource limit to uvm_mmap().  Update all calls accordingly.
1999-06-18 05:13:45 +00:00
drochner
13bff3d3e5 remove unneeded old-vm includes 1999-04-10 14:28:22 +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
chuck
8bef431273 remove unused share map code from UVM:
- update calls to uvm_unmap_remove/uvm_unmap (mainonly boolean arg
        has been removed)
1998-10-11 23:20:59 +00:00
kleink
a6d3fb3799 vm_offset_t -> {paddr_t,vaddr_t}, vm_size_t -> vsize_t 1998-08-20 08:33:41 +00:00
thorpej
37b378d836 defopt COMPAT_HPUX 1998-06-25 23:56:39 +00:00
thorpej
d8f3ddff17 Add support for UVM. 1998-02-16 20:54:51 +00:00
thorpej
871cf5e7ce Update for changes to config. 1998-01-12 18:30:41 +00:00
thorpej
116fe63c4e Remove extern declaration of devioc[]. 1997-10-12 17:53:46 +00:00
scottr
aa88a240fe Fix printf() and other warnings when compiled with DEBUG defined. 1997-04-02 22:37:21 +00:00
scottr
c008fc0aa0 Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.
1997-03-31 07:32:14 +00:00
thorpej
cb63bb9de5 Garbage-collect all old-style autoconfiguration support; it is no
longer supported.  The hp300 port uses new config now.
1997-01-30 09:18:33 +00:00
scottr
cc061d0a98 Normally, iteon() returns an int. If NITE == 0, define iteon() to be 0.
Closes PR 3091.
1997-01-10 00:07:27 +00:00
thorpej
838edf78fd Snapshot of new config for NetBSD/hp300. This isn't quite finished yet.
We're about 75% there.  SCSI and HP-IB are not yet supported in a new
config kernel; some autoconfiguration hackery has to be done there, yet.
These changes are enough to network boot a diskless kernel.

New config glue is enabled with the "NEWCONFIG" kernel option.  If that
option is not present, an old config kernel will be built.  Any kernel
configured with config(8) will automatically pick up the NEWCONFIG
option from std.hp300.
1996-12-17 08:40:56 +00:00
christos
30b3cc3d09 backout previous kprintf changes 1996-10-13 03:14:05 +00:00
christos
60dd5ceebe printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:06:28 +00:00
thorpej
be969d881e Update for poll(2) changes. 1996-09-12 01:22:58 +00:00
thorpej
fa7bee29a5 Completely rework how the console is probed. Console probing no longer
requires pre-autoconfigured devices.  Fix up some prototypes.  Part of the
long journey towards new config.  (GETTING THERE!)
1996-02-24 00:54:53 +00:00
thorpej
63b0022b86 Update a #include for the "new" location of HP-UX emulation code. 1995-11-28 08:12:37 +00:00
thorpej
31430a5279 Cosmetically change one #include directive. 1995-11-19 22:32:38 +00:00
christos
de42a28a1b - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
1995-04-22 20:24:40 +00:00
mycroft
0323181eb1 Switch grfmap and grfmmap. 1995-04-10 00:58:10 +00:00
cgd
132b41434c new RCS ID format. 1994-10-26 07:22:45 +00:00