Commit Graph

231 Commits

Author SHA1 Message Date
thorpej e9f0a43d28 Use PAGE_SIZE rather than NBPG. 2003-04-01 15:14:20 +00:00
atatat 83642bd3a6 Cast VM_DEFAULT_ADDRESS() to a caddr_t. 2003-02-24 00:49:43 +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
isaki 5fbdb269bf Fix printf format for DIAGNOSTIC, in the wake of daddr_t having changed.
Use PRId64, instead of %lld.
2003-02-02 08:37:28 +00:00
thorpej b193480908 Add extensible malloc types, adapted from FreeBSD. This turns
malloc types into a structure, a pointer to which is passed around,
instead of an int constant.  Allow the limit to be adjusted when the
malloc type is defined, or with a function call, as suggested by
Jonathan Stone.
2003-02-01 06:23:35 +00:00
pk be1188e00d Provide locking required by the interrupt handlers running at IPL_SERIAL. 2003-01-28 12:35:31 +00:00
isaki 9bf4faf898 Make it compilable with 64bit daddr_t. 2003-01-25 14:13:46 +00:00
thorpej 98b0e9af47 Use aprint_normal() for cfprint routines. 2003-01-01 02:31:13 +00:00
isaki 14096cb14e Add bmd, memory disk driver for Nereid bank memory. 2002-12-01 09:00:35 +00:00
christos 729ccbc9cd si_ -> sel_ 2002-11-26 19:49:00 +00:00
isaki fe7b4d99f1 Fix typo. s/cfdata/cfdriver/ 2002-11-24 13:33: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
isaki 31bae84b32 Remove unbalanced parenthesis in debug message. 2002-10-20 02:33:08 +00:00
isaki 55e60d35cf Not used anywhere. 2002-10-19 13:27:56 +00:00
isaki 6a7d5fa9f0 Style fixes. 2002-10-13 10:11:31 +00:00
isaki 0e0b401448 Clean up debug code. 2002-10-13 10:00:47 +00:00
isaki ed23ae11f5 Style fixes. 2002-10-13 10:00:08 +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 4bf871a755 Add trailing ; to CFATTACH_DECL. 2002-10-02 16:02:08 +00:00
thorpej 6bc733245c Missed one use of CFATTACH_DECL(). 2002-10-01 04:59:10 +00:00
thorpej a84e1f7f8f Use CFATTACH_DECL(). 2002-10-01 04:43:01 +00:00
isaki 2a8a7954f2 const-ify ia_name. It makes intio.c compilable. 2002-09-29 05:17:04 +00:00
thorpej f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
thorpej 6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
thorpej d1ad2ac4f2 Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver.  The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +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
isaki dd0e0396bc Add driver for ScanLogic SL811HS/T USB Host Controller.
XXX It's experimental code yet.

For x68k: USB part of Nereid USB/Ethernet/memory board
For ISA:  ISA USB Host board from Morphy planning
2002-08-11 13:17:52 +00:00
isaki 2997fb2d61 Fix printf format in DIAGNOSTIC. 2002-08-04 13:08:29 +00:00
isaki 2450cd0acc Fix compile warnings in debug code. 2002-08-03 06:38:41 +00:00
hannken 5868a9832a Convert to new device buffer queue interface.
Approved by: NISHIMURA Takeshi <nsmrtks@netbsd.org>
2002-08-01 12:45:20 +00:00
isaki 733ad2d0f4 Fix compile warnings in debug code. 2002-07-31 11:01:26 +00:00
thorpej 2b20452bf1 Statements must follow labels. 2002-05-30 22:19:11 +00:00
thorpej 5da14150ab Don't include macro params when #undef'ing it. 2002-05-30 22:11:14 +00:00
matt 84eb329d14 Eliminate commons (including many used ones). Clean up variable references. 2002-05-14 02:03:00 +00:00
isaki c78a609db3 Support slinear8, slinear16_le, slinear16_be. 2002-04-07 14:52:27 +00:00
bouyer e5727031fb Implement mstohz() as discussed on tech-kern, and use it in SCSI drivers
to convert xs->timeout to callout() parameter.
2002-04-05 18:27:45 +00:00
isaki 677cd20c7f initialize codec variables every open(). 2002-04-02 15:22:37 +00:00
isaki d4e117205d set factor=1/2 even if recording. 2002-03-26 15:05:29 +00:00
atatat 31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
isaki 81b3e9fb81 Fix mis-increment bug in converter msm6258_ulinear8_to_adpcm().
This fix needs factor_denom.
2002-03-16 09:00:42 +00:00
isaki 81fa322c19 Add another address, vector configuration of Nereid ethernet. 2002-01-14 04:25:47 +00:00
wiz 5514d0b117 bcopy/bcmp/bzero -> memcpy/memcmp/memset 2001-12-27 02:23:24 +00:00
minoura 7a7e9cfe7b Implement bus_dmamap_sync properly.
dma_cachectl is now used only for DMAC array chain.
2001-12-19 14:53:26 +00:00
minoura 4ee42d6a56 Ooops, previous commit removed an important line unintentionally. 2001-12-04 15:21:28 +00:00
minoura bbfb453233 Remove unused variables.
Correct printf format strings.
2001-11-25 16:00:05 +00:00
minoura fe68996902 Previous commit was incomplete. 2001-11-25 15:45:26 +00:00
minoura e8ac9084a2 Make this file compile again. 2001-11-25 15:43:06 +00:00
minoura f7b4b90acd Avoid using array chaining mode of DMAC. 2001-11-25 00:38:50 +00:00
isaki 2108a5c977 Rewrite vs_query_encoding() using array. 2001-11-13 09:27:06 +00:00
isaki c2e9ead40b Clean up debug messages. Separate it two debug levels. 2001-11-13 09:06:00 +00:00