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.
===============================================
This code enables NetBSD to support for NEC VR4181 CPU and some
devices on L-Card+ board.
NEC VR4181
----------
NEC VR4181 is a embedded CPU which has MIPS processor core and
integrated I/O devices within a package. The basic architecture of
VR4181 is similar to other VR41xx family CPU. Some integrated devices
are compatible to another VR41xx series CPU and some are not.
VR4181 has integrated devices listed bellow:
- Two of 16550 compatible UART
- Compact Flash controller
- ISA bus controller
- Audio CODEC
- A/D converters
- LCD driver
- Touch panel controller
- General purpose I/O
L-Card+ Embedded CPU Board
--------------------------
L-Card+ is name card sized CPU board for embedded system. It is soled
by Laser5 (http://www.laser5.co.jp/) with Linux installed.
L-Card+ has following devices:
- 16Mbyte flash memory (Intel 28F128)
- 16Mbyte SDRAM
- CS8900A Ethernet controller and RJ45 port
- RS232C line driver and external connector
- Compact Flash socket
- A pair of Mezzanine connector for extension board
- Some on-board LEDs
Current Feature of This Code
----------------------------
Following devices are supported:
- UART (used for console)
- wi on Compact Flash socket
- cs (CS8900A)
- Flash memory (Intel 28F128 and Fujitsu MBM29LV160)
- Audio Coder (limited support)
--
Naoto Shimazaki
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.
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