Commit Graph

495 Commits

Author SHA1 Message Date
bsh
dd27d238b6 MD part for Intel Lubbock (DBPXA250).
built-in UART and on-board ethernet are supported for now.
LCD, PCMCIA, CF, PS/2, AC97 will follow shortly.
2003-06-18 10:51:15 +00:00
bsh
73635ffe34 use PMAP_DOMAIN_KERNEL and DOMAIN_CLIENT instead of magic numbers. 2003-06-18 03:17:49 +00:00
thorpej
452a8fdae2 Rename IPL_IMP -> IPL_VM. 2003-06-16 20:00:56 +00:00
thorpej
bd370c9c04 Give every obio implementation a size and width locator. 2003-06-16 17:40:49 +00:00
fvdl
7dd7f8baa2 Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
2003-06-15 23:08:53 +00:00
thorpej
998f8a71ed Add an optional "width" locator to the obio bus, specifying the
bus width of the device.
2003-06-15 19:03:46 +00:00
thorpej
05d2fb4399 Use the new pmap_devmap facility in the on-board device mapping code. 2003-06-15 18:43:48 +00:00
thorpej
87d5bba5b3 Replace the ad-hoc "section mapping table" for static device mappings
with a more generic "devmap" structure that can also handle mappings
made with large and small pages.  Add new pmap routines to enter these
mappings during bootstrap (and "remember" the devmap), and routines to
look up the static mappings once the kernel is running.
2003-06-15 17:45:21 +00:00
thorpej
d35db0b328 Garbage-collect some unused code. 2003-06-15 17:33:45 +00:00
thorpej
0ab88570d0 Use CPUFLAGS rather than COPTS to pass -mcpu=xscale. 2003-06-14 19:32:54 +00:00
thorpej
0eff671820 Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
2003-06-14 17:01:06 +00:00
ichiro
ff3a6a2721 add unit index of uart 2003-06-01 01:52:40 +00:00
ichiro
4d110df451 add console unit number to configuration parameter.
move structure of uart information
2003-06-01 01:49:56 +00:00
ichiro
a52b2549e2 print description of Console and enable ixpcom0/1 in configuration 2003-05-31 23:57:45 +00:00
thorpej
9843692f24 Correct interrupt mapping when a device with a PCI-PCI bridge is
plugged into the PCI-X slot.
2003-05-31 22:35:04 +00:00
ichiro
081a8ed553 led support for IXDP425/ZAO425 2003-05-31 01:16:31 +00:00
thorpej
eaf50189f3 Don't build a big-endian image on platforms which don't run big-endian. 2003-05-26 15:17:38 +00:00
thorpej
5f03eb91bb Don't set the output format explicitly; let the linker use its defaults. 2003-05-26 15:07:53 +00:00
ichiro
97106736c6 add IXDP425 PCI interrupt
fix some typo
2003-05-24 01:59:32 +00:00
ichiro
9b42bcea42 fix kernel base address
delete offset of elf header 0x100
 so we use binary kernel(netbsd.bin)
2003-05-24 01:55:56 +00:00
thorpej
539c89a0c4 Add ksyms. 2003-05-23 14:23:46 +00:00
ichiro
a735a14d5a delete unused definition 2003-05-23 09:38:05 +00:00
ichiro
6c281fafc6 remove definition of debug 2003-05-23 09:34:42 +00:00
briggs
5ce8e50a2e Need aprint_naive() with aprint_normal() change. Thanks, Jason. 2003-05-23 05:47:11 +00:00
briggs
56debc31d7 printf -> aprint_normal 2003-05-23 05:42:05 +00:00
ichiro
00eb02e3da support IXP425 Intel Network Processor
running on BigEndian
2003-05-23 00:57:23 +00:00
thorpej
181911c6db Don't need ARM32_PMAP_NEW option any more. 2003-05-22 05:52:18 +00:00
thorpej
d5bcde54a7 Move KERNEL_VM_SIZE into the C files where its used. 2003-05-22 05:47:04 +00:00
thorpej
1963a8521c Use virtual_avail and virtual_end to compute the size of the available
kernel VM space for VM_MAX_KERNEL_BUF, and move the definition into
generic ARM code.
2003-05-22 05:25:48 +00:00
thorpej
361d0454ce Move KERNEL_VM_BASE inside where it is used (it won't be there for long). 2003-05-21 22:48:20 +00:00
briggs
15f4f9e27a Make sure we call becc_calibrate_delay() _after_ becc_vaddr is set up.
It happens to work otherwise when RedBoot leaves the timer running for us.
2003-05-21 02:38:29 +00:00
thorpej
55f89430cf Decrease the verbosity level unless VERBOSE_INIT_ARM is defiend. 2003-05-17 23:46:59 +00:00
thorpej
6c3da825c3 Use aprint_normal() to report the boot device. 2003-05-17 22:18:28 +00:00
bsh
a710e1b34a SMDK2800 has a 6MHz X'tal.
comment out memory disk options.
2003-05-16 08:11:36 +00:00
thorpej
5b9c2e6257 Add support for the Intel IQ31244 reference board, based on the i80321
I/O processor and the i31244 PCI-X S-ATA controller.

The IQ31244 is almost identical to the IQ80321, from software's
perspective, so we share much of the code.
2003-05-14 21:41:31 +00:00
thorpej
fb149b56a8 Move the 7-segment display definitions into the C file. 2003-05-14 19:46:39 +00:00
bsh
2ca26eeaed + use system's real PCLK frequency for source clock of sscom's
baudrate, instead of a compile time constant.

+ simplify bootstrap_bs_map() by mapping all built-in peripheral
  registers at start.

+ check SW3 and SW7 and toggle RB_SINGLE and RB_KDB in boothowto if
  pressed.
2003-05-13 08:30:33 +00:00
bsh
2fd99ae3e7 white space nit. 2003-05-13 04:53:25 +00:00
bsh
87a703eac0 enable the domain 15 during bootstrap, as new pmap_map_section() use it. 2003-05-13 04:20:39 +00:00
bsh
d3681dec8c Build our own page table which is used during bootstrap, instead of
reusing the table prepared by the monitor program on ROM.

This will allow the kernel booted by gzboot at reset vector.
2003-05-09 16:25:46 +00:00
he
4e26b71f48 Remove declaration of unused local variable: kernel_ptpt. 2003-05-05 13:29:44 +00:00
igy
f97f3c0df9 code cleanup 2003-05-05 04:34:48 +00:00
igy
a1b8c84497 using high vector page 2003-05-05 04:23:26 +00:00
thorpej
bbba90a2fb Don't expose KERNEL_TEXT_BASE outside of board-specific code. This gives
individual board start-up code more flexibility about where the kernel
starts in the kernel address space.
2003-05-03 18:25:28 +00:00
thorpej
aae7e372b7 Reduce differences between ARM32_NEW_VM_LAYOUT and not; always pass
the start and end of the kernel managed virtual address space to
pmap_bootstrap() in the new pmap.
2003-05-03 03:49:03 +00:00
thorpej
1dff12252d Remove old pmap support for platforms which have fully switched over. 2003-05-03 03:29:06 +00:00
thorpej
a86ebf303f Switch Integrator, IXM1200, and SMDK2800 to ARM32_PMAP_NEW. These
are the last of the ARM platforms to be converted.
2003-05-03 00:39:21 +00:00
thorpej
4eeee795e8 Eliminate PTE_BASE and the PT-PT completely in the ARM32_PMAP_NEW case.
Also in the ARM32_PMAP_NEW case, reclaim the USPACE-bytes of wasted space
at the top of the user address that hasn't been needed for a very very
long time.
2003-05-02 23:22:33 +00:00
thorpej
b4e3c89c38 Bump kernel PTs to 4 (the max we can really have with the old VM
layout) to accomodate large ramdisks.  Set boothowto if BOOTHOWTO
is defined.
2003-04-30 18:12:03 +00:00
scw
009fcb6ef7 Don't define KERNEL_TEXT_BASE, et al, if ARM32_NEW_VM_LAYOUT is defined. 2003-04-29 14:04:01 +00:00
thorpej
d55f2b8b87 Descend into stand. 2003-04-29 05:42:43 +00:00
thorpej
d762fbd09d Fix the name of the image. 2003-04-29 05:38:52 +00:00
thorpej
7733ffd60d Make these images concatenating images. 2003-04-29 05:36:20 +00:00
thorpej
fb01afa9c7 Descend into the gzboot directories. 2003-04-29 05:35:08 +00:00
thorpej
8163f9a129 * Add ${PROGSYM} to CLEANFILES.
* Instsall either the .bin or the .sym, based on whether or not
  the resulting gzboot needs to be mdsetimage'd.
2003-04-29 05:32:41 +00:00
thorpej
a8d10ed83c Also build a flat binary version of the gzboot program. 2003-04-29 05:15:14 +00:00
thorpej
893a35a154 Bump version to 1.2 for the concatenation feature. 2003-04-29 05:05:41 +00:00
thorpej
00b159e3dc Rename the IQ80310 directory to have all nibbles of the address in the name. 2003-04-29 05:04:37 +00:00
thorpej
04f47aa1d2 Allow MAXIMAGESIZE to be set to 0. For gzboot's that are linked
for flash, this allows us to basically do:

	cat gzboot.bin netbsd.bin.gz > gzimg

to produce the bootable image.
2003-04-29 05:01:34 +00:00
thorpej
b43b1645a2 Use aprint*(). 2003-04-29 01:07:30 +00:00
ragge
fa723a2265 Missed '(', noted by Håvard. 2003-04-28 20:01:29 +00:00
briggs
ed751b6340 Attach com to kgdb if both KGDB and com are defined. 2003-04-28 01:56:44 +00:00
thorpej
7de2c299a2 Don't define APTE_BASE if ARM32_PMAP_NEW is defined; the new pmap
doesn't use it.
2003-04-28 01:34:28 +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
thorpej
1b42986cc6 Bump SYMTAB_SPACE a little. 2003-04-22 14:49:13 +00:00
thorpej
49c00b1d84 Use high vectors on IQ80321 and IQ80310. 2003-04-22 14:09:46 +00:00
thorpej
efb72f65db Use high vectors on the BRH. 2003-04-22 13:51:11 +00:00
thorpej
9361d039a1 Add XSCALE_CACHE_READ_WRITE_ALLOCATE. 2003-04-21 04:02:04 +00:00
thorpej
9884510327 Add a driver for the reset button on the ADI BECC. 2003-04-20 20:50:49 +00:00
thorpej
fc08e6bd7a Adapt to ARM32_PMAP_NEW. 2003-04-19 21:52:03 +00:00
scw
5c0b008779 Don't use ARM32_NEW_VM_LAYOUT or initarm_common() for now. It's not
quite ready for prime-time on evbarm.
2003-04-19 08:18:12 +00:00
scw
98d49ded24 Add support for ARM32_PMAP_NEW and ARM32_NEW_VM_LAYOUT to the iq80321 port. 2003-04-18 12:01:32 +00:00
thorpej
f2e804cd79 Add mpt(4). 2003-04-16 23:34:30 +00:00
thorpej
4c08dfb615 Remove LINKENTRY and LOADADDRESS vars; it's all handled by the linker
script on evbarm platforms.
2003-04-08 20:50:05 +00:00
thorpej
4818d283ff Factor out common INSTALL kernel config fragments into a new INSTALL
file.  Add INSTALL kernels for the ADI BRH, IQ80310, and IQ80321.
2003-04-08 20:49:01 +00:00
thorpej
f26807bd26 Add a selection of storage devices, and also build netbsd-sd0 and
netbsd-wd0 kernels.
2003-04-08 20:48:03 +00:00
thorpej
cc2c493bc4 Use PAGE_SIZE rather than NBPG. 2003-04-02 07:35:54 +00:00
thorpej
dd9bc74460 Use PAGE_SIZE rather than NBPG. 2003-04-02 03:39:59 +00:00
mycroft
bfb4fa0c88 There are two #defines of CONSPEED in here; didn't make sense to me. 2003-04-01 21:27:24 +00:00
thorpej
7a3fa51b7f Garbage-collect the DYNAMIC_CRC_TABLE stuff. The table it computed
was incompatible with the new CRC code, and it is largely unnecessary
now, since the static table is so much smaller.

Fixes PR kern/20935.
2003-03-29 22:25:25 +00:00
thorpej
eb7195a019 Gzboot support for the ADI BRH eval board. This flash address allows
the kernel to be decompressed and started at board reset if the BRH's
rotary switch is set to position 5.
2003-03-25 23:38:00 +00:00
thorpej
0a6cf80b25 Standalone board support routines for the ADI BRH. 2003-03-25 23:34:26 +00:00
thorpej
78c15d17f8 Memory routines for boards using the ADI BECC companion chip. 2003-03-25 23:33:49 +00:00
thorpej
9c484bd88d Allow the frequency to be set by the Makefile. 2003-03-25 23:32:41 +00:00
igy
9e3ba8326d Add __KERNEL_RCSID tags 2003-03-25 06:53:15 +00:00
he
34c6df3404 Initialize the two new members of "struct consdev" to NULL so that
this file compiles again.
2003-03-08 09:47:13 +00:00
thorpej
6689073e50 When computing the LOADADDR() of .data and .sdata, use:
LOADADDR(previous_section) + (ADDR(current_section) - ADDR(previous_section))

to avoid using SIZEOF(), which does not properly take into account
the size of orphans that might be sorted with the section.
2003-03-05 23:54:22 +00:00
bsh
e6ef3bc041 Some interrupt controllers can select polarity of interrupt signals.
add IST_LEVEL_{LOW,HIGH} and IST_EDGE_{FALLING,RISING,BOTH} for them.
2003-02-27 14:55:41 +00:00
igy
d67ca5b2e7 locator should use physical addresses 2003-02-27 04:06:07 +00:00
igy
4e8142fde2 correct physical/virtual address handling
- to identify device instance, using hardware address.
	- when console accesses device, using statically mapped address.
	- when tty accesses device, using handler given by bus_space_map().
2003-02-22 05:32:00 +00:00
ichiro
4b8928ad4a files.ixp12x0
no need device ixpcom in evbarm/conf/files.evbarm move it to
arm/ixp12x0/files.ixp12x0

ixp12x0_com.c:
some fix around address handling
1. Do not call bus_space_map() in ixpcominit().  Calling bus_space_map()
   is not safe here, because bus_space_map() calls uvm_km_valloc() but
   uvm is not yet initialized.
2. Use dv_unit to determine console instead comparering iobase.
   Now you can attach ixpcom0 with physical address like this:
        ixpcom*         at ixpsip? addr 0x90000000 size 0x4000
Statically mapped address (0xf0000000) is still usable.

ixp12x0_clk:
1. access PLL_CFG register via bus_space
2. Make the delay() working correctly.  (bug fix)
3. Start the timer device without interrupt on attach time.
   Now delay() called before cpu_initclocks() works fine.

ixp12x0_pci:
1.Mapping PCI type0/1 configuration space to the upper address.
2."PCI I/O Cycle Access" mapping to same virtual address(VA==PA)
   but size of this mapping increase to 1MByte because fails
   cause couldnt set L2 table.
3.use bus_space address handling in ixp12x0_pci.c.
2003-02-17 20:51:52 +00:00
briggs
17d8938e06 Go back to using BAR2 instead of BAR3 for inbound access to SDRAM. 2003-02-06 03:17:49 +00:00
briggs
bd89d9c39f Compile without DIAGNOSTIC. 2003-01-29 20:44:48 +00:00
thorpej
21f51b4471 Fix a typo. 2003-01-29 00:23:24 +00:00
thorpej
fd5a840f3c Add support for ADI Engineering's "Big Red Head" i80200 evaluation
and development board, based around their BECC companion chip.  Despite
its name, the board can run in big- or little-endian mode (we currently
run only in the latter).
2003-01-25 02:00:15 +00:00
briggs
ecc07a2e36 Use iwin[3] instead of iwin[2] for RAM access and leave iwin[2] unused. 2003-01-23 03:56:45 +00:00
thorpej
23bc250391 Merge the nathanw_sa branch. 2003-01-17 21:55:23 +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
thorpej
bc45f5ceeb Split board-specific Makefile fragments into their own files. 2003-01-03 02:16:26 +00:00
thorpej
e5afd96a97 Use the common linker script for all evbarm platforms. 2003-01-03 02:02:11 +00:00
thorpej
b179f9cf73 Use the generic irq_dispatch.S 2003-01-03 00:55:59 +00:00
thorpej
6c9c7f3b21 Garbage-collect prev_intr_depth; nothing uses it. 2003-01-02 23:54:39 +00:00
thorpej
b33e60be39 Clean up evbarm interrupt support a little:
* Define an ARM_INTR_IMPL option, which specifies a header file
  describing the interrupt implementation for the platform.  Use
  this instead of the list of EVBARM_BOARDTYPE checks.
* Make the s3c2xx0 interrupt dispatch code a bit more generic, and move
  it to a generic location so that other platforms can use it.

This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
2003-01-02 23:37:53 +00:00
briggs
147ab60754 Enable a few more bus_space functions.
If a region is outside the regular obio space in obio_bs_map(), create
mappings for it.
2003-01-02 23:04:08 +00:00
thorpej
1132348b98 Use aprint_normal() for cfprint routines. 2003-01-01 01:24:19 +00:00
bsh
ee778f8dfa config staff for Lubbock 2002-12-18 04:56:52 +00:00
ichiro
d24191b40d delete unneed pmap for LED and Clock 2002-12-08 13:22:31 +00:00
ichiro
5a1cd5fee6 add NAPPI_MD config file 2002-12-02 14:26:52 +00:00
ichiro
05413e5da4 move location of pmap_debug() 2002-12-02 14:25:38 +00:00
lukem
0635de35a3 Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more. 2002-11-26 23:30:07 +00:00
bsh
0f0e8e927f Intel PXA2X0 based and Samsung S3C2XX0 based boards. 2002-11-20 18:15:43 +00:00
bsh
e0716c9b55 add an EVBARM_BOARDTYPE constant for Samsung S3C2400X/2410X based
boards.  (not supported yet)
2002-11-20 18:14:08 +00:00
bsh
6c6460f721 add three boards.
lubbock  (PXA250, Xscale)
	g4250ebx (PXA250, Xscale)
	SMDK2800 (S3C2800, ARM920T)
2002-11-20 18:10:37 +00:00
bsh
4b28b301bb SMDK2800 is an evaluation board for Samsung S3C2800 CPU. 2002-11-20 18:06:25 +00:00
bsh
fbfb5f619c template of ldscript for some evbarm kernels.
@KERNEL_BASE_PHYS@ and @KERNEL_BASE_VIRT@ are replaced by values
defined in Makefile.evbarm.inc.
2002-11-20 18:04:55 +00:00
thorpej
6b533da5a5 Let the "link_set*" input sections be orphans again, now that
ld has been modifed to workd with them in the presence of
explicit LMAs.
2002-11-20 07:16:08 +00:00
thorpej
598200cca0 Explicitly gather "link_set*" sections into .text (after .rodata).
This is necessary because unless we do so, since we do not pass -Ttext ...
to the linker, the "link_set*" sections end up at VMA 0.
2002-11-15 19:29:22 +00:00
jdolecek
c82ab2eb79 now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies
2002-10-26 13:50:17 +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
bsh
7b6639153c make atomic_{set,clear}_bit() inline for arm32 ports, and
add <machine/atomic.h> for them.
2002-10-19 12:22:33 +00:00
bjh21
d599df9587 Continue the " - . - 8" purge. Specifically:
add	rd, pc, #foo - . - 8		->	adr	rd, foo
ldr	rd, [pc, #foo - . - 8]		->	ldr	rd, foo

Also, when saving the return address for a function pointer call, use
"mov lr, pc" just before the call unless the return address is somewhere
other than just after the call site.

Finally, a few obvious little micro-optimisations like using LDR directly
rather than ADR followed by LDR, and loading directly into PC rather than
bouncing via R0.
2002-10-14 22:32:50 +00:00
thorpej
aa3c369db0 Make this compile with strict prototypes. 2002-10-09 00:06:57 +00:00
thorpej
855eefa351 Clean up some bad interaction between the spl inlining stuff and
strict-prototypes.
2002-10-09 00:03:42 +00:00
thorpej
950670fa77 Fix a typo. 2002-10-08 17:39:17 +00:00
thorpej
70cc64f942 Make this compile with strict prototypes. 2002-10-06 17:13:58 +00:00
thorpej
1a5a7fe7b7 Use indirect configuration for on-board devices (i.e. those things
attached to "obio") on the IQ80310 and IQ80321.  It makes more sense
to do it this way for this type of system (the goal being to encapsulate
as much information about the board as possible into one file).
2002-10-03 20:14:58 +00:00
thorpej
cea0a147b4 Add macros to convert an "IRQ" number to its respective XINT3/XINT0 bit. 2002-10-03 20:11:42 +00:00
thorpej
dd14964387 Fix script-o. 2002-10-03 01:29:30 +00:00
thorpej
c5e91d447d Use CFATTACH_DECL(). 2002-10-02 04:55:47 +00:00
bsh
10bb2aff03 add board type for Intel PXA2[15]0 and Samsung S3C2800 based boards. 2002-10-01 11:02:27 +00:00
thorpej
9a711d6985 Declare all cfattach structures const. 2002-09-27 20:29:02 +00:00
provos
0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +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
thorpej
bb34bc8caa When in a match routine, the cfdata we're passed always references
our own cfdriver, so don't bother comparing the names, since they
will always match.
2002-09-27 02:16:28 +00:00
lukem
3ea2e21f82 enable USERCONF by default; it's small and extremely useful to have available. 2002-09-18 02:43:53 +00:00
thorpej
c0691fd89d Back out previous; it breaks binary compatibility between platforms
in the same MACHINE_ARCH.
2002-09-14 15:54:00 +00:00
mycroft
e9a1e15d7e Move some #defines out of _KERNEL. 2002-09-14 12:58:37 +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
thorpej
d9374670ba Put PERFCTRS under "Development and Debugging options". 2002-08-29 02:25:22 +00:00
thorpej
12f448527a Don't need SOSEND_LOAN here anymore. 2002-08-29 02:22:46 +00:00
thorpej
77a6866508 Enable caching on kernel and user page tables. This saves having
to do uncached memory access during VM operations (which can be
quite expensive on some CPUs).

We currently write-back PTEs as soon as they're modified; there is
some room for optimization (to write them back in larger chunks).
For PTEs in the APTE space (i.e. PTEs for pmaps that describe another
process's address space), PTEs must also be evicted from the cache
complete (PTEs in PTE space will be evicted durint a context switch).
2002-08-24 02:16:30 +00:00
thorpej
6cc7c1c1ff * Add PTE_SYNC() and PTE_SYNC_RANGE() macros. These don't actually do
anything yet.
* Use PTE_SYNC() and PTE_SYNC_RANGE() in some obvious places, i.e.
  where vtopte() is used.
2002-08-22 01:13:53 +00:00
thorpej
5fddbbe3d5 Do cached memory access to L1 tables, making sure to write-back the
cache after any L1 table modifications.
2002-08-21 18:34:31 +00:00
briggs
d2c9e5deb4 Disable coalesced writes on IOP310-based systems. 2002-08-20 02:34:04 +00:00
briggs
d5135f0f8e We do not need HZ=512 here, for sure. 2002-08-18 04:12:42 +00:00
thorpej
a7d44c2503 Use separate function pointers for dmamap_sync pre- vs post- operations.
Change the bus_dmamap_sync() macro to test the ops argument against pre-
and post- constants.  The compiler will optimize out dead code because
of the constants.  Since post- operations are not needed on ARM (except
for ISA bounce buffers), this eliminate a large number of function calls
which are noops, each of which cost at least 6 cycles just in the call
and return overhead (not to mention whatever other useless work the
compiler decides to do in the callee).
2002-08-17 20:46:26 +00:00
briggs
c7ee5cd55e Compile properly without DIAGNOSTIC defined. 2002-08-17 19:19:57 +00:00
briggs
126f6cf9bc Add a new option EVBARM_BOARDTYPE to differentiate between different
evbarm ports.  Inline _splraise/_spllower/splx for i80321 and iq80310
for more performance.
2002-08-17 16:42:20 +00:00
thorpej
eeebe88acf Don't need to frob CPSR in _splraise(). 2002-08-14 19:47:18 +00:00