Commit Graph

49 Commits

Author SHA1 Message Date
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
simonb 7d92ae9627 Fix 'struct lwp *' lossage. 2003-06-29 09:56:27 +00:00
thorpej c9228c8ddd Use PAGE_SIZE rather than NBPG. 2003-04-02 04:17:50 +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
simonb 276fd1665c The Double-Semi-Colon Police. 2003-01-20 05:29:53 +00:00
christos 729ccbc9cd si_ -> sel_ 2002-11-26 19:49:00 +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
thorpej b96bc0d7bc Use CFATTACH_DECL(). 2002-10-02 04:06:36 +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
junyoung 3d826105dc alloc_attr -> allocattr
Approved by Matthias Drochner.
2002-07-04 14:37:10 +00:00
ad b89e39b91a Reorganise the wsfont stuff slightly so that multiple display adapters
with different bit/byte order requirements can co-exist happily.
2002-03-13 15:05:13 +00:00
thorpej cc0751f230 Adjust to use <dev/sun/fbio.h> 2001-09-19 19:04:16 +00:00
wiz 9fa0b17629 Give initiali[sz]e all the "i"s it deserves. 2001-09-18 18:15:49 +00:00
simonb c23e6dcb90 b{cmp,copy,zero} -> mem{cmp,cpy,set}
Also remove some unnecessary argument casts.
2001-07-07 14:20:59 +00:00
mhitch 28c4cc2851 Use uncached memory so this has a chance of working on R4x00 DECstations.
My 5000/260 hung hard when a PMAG-D board was probed during boot.
2000-10-11 17:55:56 +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
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
ad 3553879fc2 Use my proper name. 2000-06-13 13:36:42 +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
soda 9051f8102e clean up vm_{offset,size}_t, use {v,p}{addr,size}_t instead 2000-02-22 12:22:19 +00:00
nisimura 3aaeaf7331 - Massive change of console initialization. Have each model its own
consinit().
- Fix fbconnect() and relatives; 'struct fbinfo' is initialized only once,
  making sure no extraneous console resolution message is emitted.
2000-02-03 04:09:01 +00:00
ad 2db85d5948 - Add some extra TC ID strings that we should recognise. From simonb.
- Function definition and RCS ID spacing.
- Fix multiple inclusion goo to be like the new order of things.
2000-01-14 02:00:46 +00:00
simonb ede7778a1c Remove unneeded include files (up to 16 in two files!). 2000-01-10 03:24:31 +00:00
simonb 636b65bec8 The clean-up continues:
- Make local-only function and variables static.
 - Move function prototypes and extern variable declarations to
   header files.
 - Delete unused variables.
There's still a handful of extern declaraions that should be fixed up.
2000-01-09 03:55:28 +00:00
ad 59a1ab9791 Add two new members to 'struct wsdisplay_font': 'bitorder' and 'byteorder'. 2000-01-05 18:44:21 +00:00
ad f607dfe4dd - Change prefix for Bt459 register defs to BT459_IREG to indicate that
these are indirectly accessed registers.
- Add defs for directly accessed registers to bt459reg.h.
1999-12-15 15:09:36 +00:00
ad 6979dfbd2b Accessing the ringbuffer from KSEG0 is too naughty to contemplate. Mother
would never approve.
1999-12-08 21:38:10 +00:00
ad 48eb7986d4 - If we call px_init() at attach time, then we're not the console, so don't
set the console arg to 1. Noted by mhitch.
- In px_init(), don't compute pxi_fontscale if we're not the console,
  since we don't have a font in the first place. This is a relic from
  when the driver was converted to use 'struct wsdisplay_font'.

Should fix crashes if a px board is installed and isn't the console.
1999-12-08 21:33:43 +00:00
simonb 986464bd89 Remove duplicate line. 1999-11-04 02:53:03 +00:00
ad ef0cc9a3f4 - Re-arrange the control map that is exported to user space. This map now
includes the STIC poll registers.
- Don't bother enabling ISR driven packet queueing on device open. It doesn't
  work for the PXG due to severe dainbramage on the part of DEC and doesn't
  work properly on the 3min due to the spl stuff being a mess.
1999-10-24 15:33:45 +00:00
ad 2d7488c2c5 Use px_probe_sram() to figure out ringbuffer size instead of defaulting to
the minimum value of 128KB (useful only for PMAG-F).
1999-09-25 14:45:21 +00:00
nisimura ff559f77f0 'KB' for kilo-bytes as humanize_number(). 1999-09-24 00:37:52 +00:00
ad e6f3bfaa3a N10's host interrupt register uses low nybble for interrupt cause, not the
entire word.
1999-09-18 01:50:24 +00:00
simonb a17eb29d7c Remove a few unnecessary header files. 1999-09-05 11:34:29 +00:00
ad 724365fa3e Change the way fb devices are configured and attached:
- 'struct fbsoftc' created, which points to a 'struct fbinfo'
- 'struct fbinfo' for each device is allocated with fballoc()

This means:
- Console device doesn't get different 'struct fbinfo' at attach
- Console device doesn't get initialized twice
- Color rcons now works
- The current Xserver MUST BE REBUILT.
1999-07-25 22:50:28 +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
ad 5756acc071 Cleanup. 1999-06-21 19:07:16 +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
ad 39db587e6f Cleanup. 1999-05-19 20:14:46 +00:00
ad bb3a510fa2 Assign ownership & copyright to TNF. There is probably a procedure for this
that I am unaware of. Also some KNF.
1999-05-18 21:51:57 +00:00
thorpej 1f4085fb66 Fix spruious false matches in px_match(). 1999-05-06 01:50:56 +00:00
ad 3801a05ffb Add cookie for wsfont to px_info. Don't try to get/lock a font if we
are not the console.
1999-04-29 02:50:25 +00:00
ad 0c221127eb More fixes to get the PXG working and keep the PX happy. 1999-04-26 12:05:11 +00:00
ad 4e3888516e Many fixes to support PXG, PXG+ and PXG+ Turbo. Interrupt handling is
totally broken for the PXG and will remain so until more documentation is
available. This destroys the queueing, hardware clipping, and VDAC update
mechanisms on the PXG.
1999-04-26 04:37:33 +00:00
simonb 59df0560f4 Set the colormap index before checking it! 1999-04-25 04:04:16 +00:00
simonb dc1d3940db Nuke register and remove trailling white space. 1999-04-24 08:01:01 +00:00
ad de43e7cc8d Fixed licensing due to a foobar on my behalf. 1999-04-13 00:40:07 +00:00
ad b30fc08f22 Initial import of `PX' driver. 1999-04-13 00:30:08 +00:00