Commit Graph

62053 Commits

Author SHA1 Message Date
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
christos 8c7d0f897e - comma at the end of an enum list is illegal in ansi c
- provide a list of unit names, so that programs don't have to provide their own
2003-02-20 20:57:56 +00:00
petrov 1d6ce76050 Use MIIF_FORCEANEG. 2003-02-20 20:09:56 +00:00
pk b8081a591a Change locking prerequisites for the pv_changepte4m() helper function
to avoid locking recursion.
2003-02-20 16:22:49 +00:00
jdolecek b4cbac6f51 remove SMBFS_NAME_DEBUG code, mainly because it didn't work on alignment-picky
archs anyway
don't bother to zero terminate smbnode name (penny saved ...)
2003-02-20 15:39:58 +00:00
jdolecek 7be3184fb7 don't assume struct smbnode -> n_name is zero terminated,
use .*s to print it
2003-02-20 15:35:55 +00:00
jdolecek 02f8f49e38 g/c commented out code 2003-02-20 15:34:42 +00:00
seb 3cd76da95a Add vlan(4) pseudo device. Approved by martin@ 2003-02-20 13:30:44 +00:00
hannken b7fea04c8d The SonicVibes DMA is broken and only works on 24-bit addresses. As long
as bus_dmamem_alloc_range() is missing we use the ISA dma tag on i386.

The iorange for the dma registers now gets allocated near the used range.
Chances are high, that this range is valid on this PCI bus.

This one is really ugly :-)

Approved by: Lennart Augustsson <augustss@netbsd.org>
2003-02-20 12:24:05 +00:00
martin c3ed92df3e Add a few new devices. 2003-02-20 12:02:31 +00:00
perseant fdf4bfe002 Tabify, and fix some comment alignment problems. 2003-02-20 04:27:23 +00:00
jmc ff58e08182 Move simple_lock after the hashinit's to avoid possible sleeping/malloc'ing
with a simplelock held.
2003-02-20 02:49:51 +00:00
matt 4630a8e7f3 Add a MIIF_FORCEANEG flag to be passed to mii_attach. This forces an
autonegotiation to take place if IFM_AUTO is selected in mii_media_set.
Make the gem driver use it.  (XXX hme probably should use it but I can't
test that).
2003-02-20 00:55:21 +00:00
matt b42cde14b7 Set KERN_AS=obj now that LKMs work. (otherwise when you loaded LKMs they
wouldn't have all the library routines available).
2003-02-19 23:55:48 +00:00
pk 9ead24ac7a Use lock_printf() in SPINLOCK_SPINCHECK() and SLOCK_TRACE(). 2003-02-19 22:34:42 +00:00
pk b66bce23df Finish PV table locking. Terminology and locking strategy stolen from
the alpha port.
2003-02-19 22:27:08 +00:00
matt f7418ccd14 Add helper awk scripts for generating trampolines for PowerPC LKMs. 2003-02-19 19:04:27 +00:00
martin cfa07275ad Follow changes in rev. 1.79 of sys/kern/exec_conf.c
(if emulation uses elf32_copyargs(), it shouldn't use it's own idea
of how many AUX arguments are actually passed)
2003-02-19 15:43:56 +00:00
hannken 8f45c81f55 Add PQUIRK_NO_FLEX_PAGE for Fujitsu MO MCJ3230AP.
This drive returns bogus geometry (0 heads, 0 sectors).
2003-02-19 14:33:15 +00:00
jdolecek 5c10202b37 do previous differently - pass ap->a_id down to smbfs_smb_lock()
and smbfs_smb_lockandx() as caddr_t, and mask it to 16bit value
in smbfs_smb_lockandx()
okayed by Martin
2003-02-19 13:51:24 +00:00
yamt 5f444770aa add debug code to lfs_free. 2003-02-19 12:58:53 +00:00
yamt 65fda8e404 workaround for "another flush is..." infinity loop in writerd.
if we're writerd, sleep in lfs_flush until another writer goes away
instead of busy loop in writed.
2003-02-19 12:49:10 +00:00
martin 681bcd85a7 SMB lock ids apparently are 16bit items. And the code uses id 1 always.
No need to cast it back and forth to a caddr_t and u_int32_t - which does
not work well on 64bit archs.
2003-02-19 12:44:47 +00:00
yamt d9a4f81d1c wire the pages instead of just dequeue'ing them.
advised by Chuck Silvers.
2003-02-19 12:22:51 +00:00
yamt 18e00c1196 init b_interlock. 2003-02-19 12:18:59 +00:00
yamt 2be86f2ff8 acquire v_interlock before calling VOP_PUTPAGES. 2003-02-19 12:02:38 +00:00
martin 6b7ecffb54 Change a few int -> size_t to make it compile on archs where they are not
the same.
2003-02-19 12:01:37 +00:00
yamt 0ad89cf93e init b_interlock. 2003-02-19 12:01:17 +00:00
yamt 148af81ca0 initialize a simple_lock in softc. 2003-02-19 11:32:13 +00:00
jdolecek 25d6f89a59 update emul alarm syscalls to recent timer changes
problem encountered by Luke Mewburn for linux emul, problem spot
found by Enami Tsugutomo
2003-02-19 11:23:53 +00:00
jdolecek 853290d652 remove local idea of ELF_AUX_ARGSIZ - since this emul uses elf32_copyargs(),
it shouldn't override the size
2003-02-19 09:45:48 +00:00
jdolecek 382f8f9883 if emulation uses elf32_copyargs(), it shouldn't use it's own idea
of how many AUX arguments are actually passed

this fixes PR kern/20423 by Shingo WATANABE
2003-02-19 09:44:42 +00:00
jdolecek 1cacc8d1a4 always include support for password encryption
const-poison smb_crypt.c some
2003-02-19 08:33:08 +00:00
jdolecek 09caa6e970 no opt_smb.h 2003-02-19 08:13:46 +00:00
simonb b7f4f30f48 Revert previous (in line with <i386/mtrr.h> reversion). 2003-02-19 05:38:58 +00:00
gson d3fce65758 Reserve the I/O ports used by the CRT controller to keep them from
being allocated for other purposes such as PCMCIA I/O space.  Fixes
port-i386/5177.
2003-02-19 04:07:56 +00:00
augustss fe29dd94be Bail out early in isoc_done if the ii is not on the interrupt list. 2003-02-19 01:35:04 +00:00
fvdl feaeb437d4 Make COMPAT_NETBSD32 compile and work again (though not with SAs). 2003-02-19 00:37:33 +00:00
fvdl 807c14b1f2 Undo constification of mtrr_funcs. I'll deal with it later. 2003-02-19 00:18:34 +00:00
fvdl f2ef2f16fa Revert previous. This file is also used on x86_64, you see. 2003-02-19 00:15:19 +00:00
pk d286e74769 pgt_page_alloc: use uvm_km_kmemalloc() so we can honor the PR_NOWAIT flag
pmap_kenter_pa4m: lock the pmap we're working on.
2003-02-18 22:05:08 +00:00
jdolecek 2e574d6a8b add "VT_SMBFS" to vnode_tags[]
constify vnode_tags[] and vnode_types[]
2003-02-18 20:37:38 +00:00
jdolecek d2309c1fda add file-system SMBFS and pseudo-device nsmb, uncommented, marked as
experimental
2003-02-18 20:13:03 +00:00
jdolecek bb1e147039 add nfs-style n_ctime, n_nctime
#ifdef smbfs_getpages(), smbfs_putpages() - it's not used on NetBSD
2003-02-18 20:09:01 +00:00
jdolecek d3d721833b make smbfs_lookup() look more like nfs_lookup(), particularily account
for different cache_lookup() semantics
fix smbfs_pathcheck() to not assume zero-ended component name
remove the bogus code in smbfs_close(), it's not needed on NetBSD
fix couple other vnop routines to do vput()/vrele()/PNBUF_PUT() as appropriate
KNF
2003-02-18 20:07:50 +00:00
jdolecek e737730e68 g/c VI_(UN)LOCK macros and just use simple_(un)lock(vp->v_interlock)
#if 0 smbfs_hashprint(), and mark it static
do NOT reinit vp->v_lock - getnewvnode() did it for us
smbfs_reclaim(): unconditionaly do LIST_REMOVE(), and de-obfuscate parent
  directory vrele() call
2003-02-18 20:00:35 +00:00
jdolecek e75d9c776e vrele() the reference to root vnode before calling vflush() in smbfs_unmount(),
so that the filesystem wouldn't appear as busy when it's not, and vref()
it back if the vflush() fails

LK_DRAIN sm_hashlock before freeing the smbmount struct

g/c one meaningless check in smbfs_root()
2003-02-18 19:40:36 +00:00
wiz 9ceb9b4b15 Add newline character to logname change warning.
Noted missing by Sean Davis on tech-kern.
2003-02-18 19:26:23 +00:00
wiz b3e61b0b56 s/intial/initial/, from jmc in .pl in PR 20414. 2003-02-18 18:47:06 +00:00
tsutsui d9a7d0e611 Also remove (probably) incorrect comment. 2003-02-18 16:42:40 +00:00