Commit Graph

3051 Commits

Author SHA1 Message Date
fvdl
d88cf589cb A few ISA sound drivers like to share dma channels, and hence deferred
isa_dmamap_create() calls to their open/close entrypoints. This worked
with some luck, but broke on i386 when _bus_dmamap_create started
to allocate bounce buffers upfront, since memory below 16M may well
not be available when the sound devices is opened for the Nth time.

To fix this, create a new simple interface, isa_drq_alloc/isa_drq_free,
wrappers around already existing bitmask macros. These are expected
to be used before an isa_dmamap_create call, and after an
isa_dmamap_destroy call, respectively. For the sb and ad1848 drivers,
they're deferred until open/close.

All isa_dmamap_create calls can now use BUS_DMA_ALLOCNOW and be done
at attach time.
2003-05-09 23:51:25 +00:00
enami
550608176e - Adjust arguments to pmap_steal_memory() for new interface.
- We no longer able to use uvm_pageboot_alloc() before pmap_bootstrap()
  is called.  Use pmap_steal_memory() directly instead.

Approved by Jason R. Thorpe.
2003-05-09 05:33:52 +00:00
thorpej
b77900c3c2 Simplify the way the bounds of the managed kernel virtual address
space is advertised to UVM by making virtual_avail and virtual_end
first-class exported variables by UVM.  Machine-dependent code is
responsible for initializing them before main() is called.  Anything
that steals KVA must adjust these variables accordingly.

This reduces the number of instances of this info from 3 to 1, and
simplifies the pmap(9) interface by removing the pmap_virtual_space()
function call, and removing two arguments from pmap_steal_memory().

This also eliminates some kludges such as having to burn kernel_map
entries on space used by the kernel and stolen KVA.

This also eliminates use of VM_{MIN,MAX}_KERNEL_ADDRESS from MI code,
this giving MD code greater flexibility over the bounds of the managed
kernel virtual address space if a given port's specific platforms can
vary in this regard (this is especially true of the evb* ports).
2003-05-08 18:13:12 +00:00
fvdl
6bd0c9f44d Move definition of ISA_DMA_BOUNCE_THRESHOLD to dev/isa/isareg.h. 2003-05-05 12:55:41 +00:00
gmcgarry
cd3c6906c0 Add wsfont support. Addresses PR#18388. 2003-05-04 01:18:56 +00:00
wiz
1ffa7b76c4 DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
dsl
d91455ce26 Change return type of readdisklabel() to const char *
I hope I've found all the correct places!
2003-05-02 08:45:10 +00:00
scw
8c5c893bf7 Add a BKPT_ADDR() macro which gives MD code a chance to munge a
breakpoint address before it's used. Currently a no-op on all but sh5.

This is useful on sh5, for example, to mask off the instruction
type encoding in the bottom two address bits, and makes it possible
to do "db> break $rXX" instead of manually munging the address.
2003-04-29 17:06:03 +00:00
bjh21
4be7a2dcf3 Add a new feature-test macro, _NETBSD_SOURCE. If this is defined
by the application, all NetBSD interfaces are made visible, even
if some other feature-test macro (like _POSIX_C_SOURCE) is defined.
<sys/featuretest.h> defined _NETBSD_SOURCE if none of _ANSI_SOURCE,
_POSIX_C_SOURCE and _XOPEN_SOURCE is defined, so as to preserve
existing behaviour.

This has two major advantages:
+ Programs that require non-POSIX facilities but define _POSIX_C_SOURCE
  can trivially be overruled by putting -D_NETBSD_SOURCE in their CFLAGS.
+ It makes most of the #ifs simpler, in that they're all now ORs of the
  various macros, rather than having checks for (!defined(_ANSI_SOURCE) ||
  !defined(_POSIX_C_SOURCE) || !defined(_XOPEN_SOURCE)) all over the place.

I've tried not to change the semantics of the headers in any case where
_NETBSD_SOURCE wasn't defined, but there were some places where the
current semantics were clearly mad, and retaining them was harder than
correcting them.  In particular, I've mostly normalised things so that
_ANSI_SOURCE gets you the smallest set of stuff, then _POSIX_C_SOURCE,
_XOPEN_SOURCE and _NETBSD_SOURCE in that order.

Tested by building for vax, encouraged by thorpej, and uncontested in
tech-userlevel for a week.
2003-04-28 23:16:11 +00:00
tsutsui
6147df324d Add some entries added to GENERIC recently. 2003-04-27 13:31:11 +00:00
ragge
d8c8fa8111 Add pseudo-device ksyms. 2003-04-26 14:10:04 +00:00
ragge
69a66687f8 Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
2003-04-26 11:05:05 +00:00
ragge
766d04f56a Add ksyms device major. 2003-04-25 21:10:46 +00:00
christos
a2dfb1b570 PR/3012: Greg A. Woods: Write all float.h files [except the vax of course]
in terms of float_ieee.h
2003-04-19 23:05:28 +00:00
nathanw
2362be75a3 cpu_getmcontext: Test for the the presence of FP state in a LWP by
looking for MDP_FPUSED in l->l_md.md_flags, instead of
l->l_addr->u_pcb.pcb_fpcpu being non-NULL. The latter indicates that
FP state is live in the FPU *now*, but doesn't indicate whether there
is any state saved in the PCB.
2003-04-17 00:15:19 +00:00
thorpej
9cac2cc6d1 Add mpt(4). 2003-04-16 23:39:02 +00:00
nathanw
ff28c51cc0 Make cpu_getmcontext() run the PC through ras_lookup() so that kernel
getcontext() plus userlevel setcontext() (as used in libpthread) respects
the atomicity of RAS regions.
2003-04-11 22:02:28 +00:00
christos
b9f9db3ca2 Bye Bye UCONSOLE 2003-04-10 22:06:51 +00:00
thorpej
a10453bb40 Add support for using cached mbuf and cluster phys addrs. 2003-04-09 23:32:03 +00:00
nathanw
e9ab31d743 POOL_VTOPHYS: Cast argument to ALPHA_K0SEG_TO_PHYS() to vaddr_t to
prevent gcc complaining about bitwise operations on pointers.
2003-04-09 22:14:31 +00:00
thorpej
a0aee79a1d Add the ability for pool caches to cache the physical address of
objects.  Clients of the pool_cache API must consistently use
the "paddr" variants or not, otherwise behavior is undefined.

Enable this on Alpha, ARM, MIPS, and x86.  Other platforms must
define POOL_VTOPHYS() in the appropriate manner in order to enable
the feature.

Part 1 of a series of simple patches contributed by Wasabi Systems
to improve network performance.
2003-04-09 18:22:13 +00:00
thorpej
04269f6445 Make PAGE_SIZE, PAGE_SHIFT, and PAGE_MASK compile time constants; we only
support 8K page models at the moment anyway.
2003-04-08 23:35:48 +00:00
thorpej
7a22c14e21 Don't use NBPG. 2003-04-08 22:37:52 +00:00
thorpej
a17e74359a Use PAGE_SIZE rather than NBPG. 2003-04-01 21:08:13 +00:00
thorpej
3faec1e02a Use PAGE_SIZE rather than NBPG. 2003-04-01 02:17:17 +00:00
simonb
0a30e5fb17 Fix a grammatical nit. 2003-03-22 14:26:41 +00:00
drochner
7349f5c301 "bootparam" specific variables are defined in libsa/bootparam.c now. 2003-03-19 17:21:41 +00:00
drochner
7d2a35f773 kill the last use of NENTS
(We shouldn't use libsa/netif here at all.)
2003-03-13 14:15:58 +00:00
drochner
caa65123a8 cope with removal of this sick NENTS macro from libsa/netif.h 2003-03-13 13:35:55 +00:00
he
585b922ff4 Initialize the new function pointers to NULL, so this compiles again. 2003-03-08 01:18:42 +00:00
tshiozak
31e2cbf0b5 add some ISO C 1995 I18N functions and types:
btowc, wctrans, towctrans, wcscoll, wcsxfrm, wctype_t and wctrans_t.
2003-03-02 22:18:11 +00:00
perseant
eab869e1c0 Make BRIDGE_IPF an option, and document it. Add it (commented) to GENERIC.
Let brconfig tell whether the bridge is using the ipfilter hook, or not.
2003-02-27 19:22:36 +00:00
simonb
3a93f29238 Update for LFSv2 support. Ports that have "bootxx_lfs"-style
bootblocks currently only support LFSv2, but the second level
"boot" program supports both LFS versions.
2003-02-23 23:23:07 +00:00
nathanw
681f702ca1 In pmap_physpage_alloc() and pmap_physpage_free(): only the DIAGNOSTIC
check is inside the simple_lock()/simple_unlock() pair, so move the locks
inside the #ifdef as well.

Additionally, change the #ifdef from DIAGNOSTIC to DEBUG; the condition
is too weird to be worth checking at DIAGNOSTIC, according ot Jason.
2003-02-23 22:41:24 +00:00
grant
60a45bbcd7 add missing networking options, commented.
ok'd by ross.
2003-02-18 05:50:51 +00:00
augustss
519f8f3d30 Add uax(4) (and url(4) in some cases). 2003-02-16 17:35:13 +00:00
mjacob
73f7f91a74 Add Sundance TI (stge). Not a largely available card, but since I *did*
test that it worked on alpha....
2003-02-10 09:02:07 +00:00
grant
fd16c3bc3c add wi at pci and pcmcia, make comments consistent. 2003-02-10 08:04:39 +00:00
nakayama
e3e4805068 Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
2003-02-05 13:57:50 +00:00
nakayama
d364c62597 Switch to kern/kern_microtime.c , so these are no longer needed. 2003-02-05 12:42:01 +00:00
nakayama
a42ba8d2e3 Share alpha/microtime.c with i386 and sparc64 as kern_microtime.c.
(approved by martin)
2003-02-05 12:16:41 +00:00
perry
1f4ad37fe3 "Utilize" has exactly the same meaning as "use," but it is more
difficult to read and understand. Most manuals of English style
therefore say that you should use "use".
2003-02-05 00:02:24 +00:00
simonb
9c7531221b Use a 32-bit daddr_t so that lib/libsa/{ufs,lfs}.c don't pull in 64
bit divide and modulus library routines that break the tight space
constraints on bootblocks on these platforms.

May not be the final solution, but gets bootblocks building again.
2003-02-01 23:58:48 +00:00
thorpej
515d52e9e7 Change ext_size to a size_t, and update the signature of ext_free. 2003-01-31 05:00:24 +00:00
kent
cd7d9faeaf Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it. 2003-01-28 01:07:51 +00:00
simonb
276fd1665c The Double-Semi-Colon Police. 2003-01-20 05:29:53 +00:00
thorpej
23bc250391 Merge the nathanw_sa branch. 2003-01-17 21:55:23 +00:00
bouyer
3075f204fd As pceb pulls in sio.c and sio_pci.c, is also needs the alpha_shared_intr
attribute.
2003-01-13 20:55:14 +00:00
thorpej
21c24b2090 Use the MI setrunqueue()/remrunqueue(). 2003-01-08 00:00:03 +00:00
lukem
4bb41ae2f2 Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile.  Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
2003-01-06 17:40:18 +00:00