Commit Graph

319 Commits

Author SHA1 Message Date
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