Commit Graph

232 Commits

Author SHA1 Message Date
thorpej 0046f5dadd - Comment-out EXT2FS, MSDOSFS.
- Uncomment FDESC, KERNFS, PROCFS,
- Add commented-out DEBUG.
- Hard-wire the location of some of the on-board PCI devices.
- Also build a "netbsd-fxp0" with the root FS hard-wired to
  the on-board Ethernet.
2001-11-30 03:01:23 +00:00
thorpej c5ecb8d8c5 Use the new arm_dcache_align variable to set the PCI device BHLC
register.
2001-11-29 02:26:50 +00:00
thorpej 636e9cd08b Add a "cacheline_size" argument to pci_configure_bus(). It is used
to set the cacheline size in the BHLC register.  This should be the
size of the largest D-cache line on a system.
2001-11-28 23:48:34 +00:00
lukem ecb81c3f6d - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
  "options FOO=xxx"). options that take a value were converted to
  defparam recently.
- minor whitespace & formatting cleanups
2001-11-28 10:21:10 +00:00
thorpej a9b25a66fa When processing ASTs:
- Loop until astpending is clear upon return from ast().
- Clear astpending *before* re-enabling interrupts.
2001-11-28 01:31:59 +00:00
thorpej 7184ed949e Update copyright notice. 2001-11-27 00:35:34 +00:00
thorpej 34ce8c531b Don't need to include <machine/irqhandler.h> 2001-11-27 00:34:48 +00:00
thorpej 8cd82ab7b7 Move interrupt-related stuff out of the generic 32-bit ARM genassym.cf
and into platform-specific genassym.cf files.
2001-11-27 00:15:58 +00:00
thorpej c8c624e4aa Don't include <machine/psl.h> directly. 2001-11-26 20:49:04 +00:00
thorpej e0c4ce6999 Use <arm/arm32/psl.h> rather than <machine/psl.h>. 2001-11-26 20:43:46 +00:00
thorpej 87cab44e4e Delete <machine/psl.h> from the ARM ports. It's not a header that
we need to provide to MI code or to userland, and it's also not a
header that generic ARM code should be including directly.
2001-11-26 20:41:42 +00:00
thorpej 534b950d29 Move the interrupt-related file declarations into port-specific
config descriptions so that each port choose whether or not to
use it.
2001-11-26 20:33:43 +00:00
thorpej 7b3d7b3072 Remove the NEWINTR stuff; it's not used, incomplete, and I'm trying
to detangle the ARM interrupt code.
2001-11-26 20:26:20 +00:00
thorpej d8415403ba Fix brain'o in handling of schedhz and profhz. Also, make sure to
compute tickfix after computing tick (not that tickfix should ever
be non-zero, but there for completeness).
2001-11-26 18:01:05 +00:00
thorpej 1b71762f33 Move disklabel_acorn.h to <sys/disklabel_acorn.h>, much like we did
with disklabel_mbr.h.  More cleanup yet to come.
2001-11-25 16:22:47 +00:00
thorpej 2b74082b7b End the "new ARM includes strategy" experiment. The new strategy
broke too many assumptions makde by other parts of the source tree,
and the strategy and how it was supposed to work was never discussed
on tech-userlevel, nor was it applied consistently (to all ARM ports
and to other ports which have common MACHINE_ARCH code, such as MIPS,
m68k, powerpc).

Verified to complete a full "make build" on cats, dnard, evbarm,
and netwinder.
2001-11-25 15:55:53 +00:00
thorpej 2e546f76dd Don't need "options PROG32" anymore. 2001-11-24 00:11:00 +00:00
thorpej fc019be5fd Use <arm/undefined.h> instead of <machine/undefined.h>. 2001-11-23 21:18:29 +00:00
thorpej 969599022a Use <arm/cpufunc.h>, not <machine/cpufunc.h>. 2001-11-23 19:36:48 +00:00
thorpej 5101f01dff Move even more constants into the shared 32-bit vmparam.h header.
Cleanup elsewhere will have to be done before we can sanitize this
header any further.
2001-11-23 18:16:10 +00:00
thorpej 15c76e3c84 - Move more contents of various <machine/vmparam.h> files into
<arm/arm32/vmparam.h> (mostly the stuff that's tied to the pmap
  implementation).
- Since the MMU definitions in pte.h are specific to ARM processors
  that support 32-bit mode, move pte.h to <arm/arm32/pte.h>.
- Make the Netwinder startup file build again (use PT_B|PT_C, rather
  than PT_CACHEABLE, since the latter expands to a variable these days).
2001-11-23 17:39:03 +00:00
thorpej 0ec8fbad4d Extra whitespace removal. 2001-11-23 17:29:00 +00:00
thorpej fec02f1259 No need to pull in <machine/pte.h> directly. 2001-11-23 17:23:40 +00:00
thorpej 5278f1771c Remove kerndebug.h from non-Shark code (it's a Shark-specific header
file, and probably should be done away with anyway).
2001-11-22 19:19:48 +00:00
thorpej b9d3276c2e No need for <machine/rtc.h> here. 2001-11-22 18:40:12 +00:00
thorpej b393d0d3f7 Kill <machine/katelib.h>. Any place that still uses it should just
reference <arm/arm32/katelib.h> until such time as all use of this
file has been purged from the face of the earth.
2001-11-22 18:34:30 +00:00
thorpej 67fd41ddbf Add 26-bit and 32-bit types.h files, which indicate the programming
model in use for a given platform (__PROG26 vs __PROG32), then pulls
in <arm/types.h>.  Change each ARM port to pull in <arm/arm26/types.h>
or <arm/arm32/types.h> as appropriate.  Change all references to PROG26
and PROG32 to __PROG26 and __PROG32.  Eliminate the opt_progmode.h
header file.
2001-11-22 17:59:57 +00:00
lukem 03aef4723c cleanup:
options SPACE TAB
	makeoptions TAB
	psuedo-device TAB
	remove trailing whitespace
	replace multiple spaces -> tabs
	options "FOO" -> options FOO
	options "FOO=bar" -> options FOO=bar
	options "FOO=\"bar\"" -> options FOO="\"bar\""
2001-11-20 12:56:17 +00:00
lukem 99bccc3cab - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
	KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
	DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for  options KGDB_DEVNAME="\"com\""
- use correct quotes for  options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
2001-11-20 08:43:19 +00:00
thorpej ba9581a345 Reorder the device table to make the UART at J9 attach before the
UART at J10 (this is the same ordering the RedBoot uses, and also
is intuitive).
2001-11-19 19:08:33 +00:00
soren 662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
thorpej 283e0a4c6e We need to declare the "plcom" device in files.evbarm, since a
"plcom.h" header file needs to be generated for conf.c even for
non-Integrator kernels.
2001-11-14 23:47:51 +00:00
thorpej ceb42fbf3f This file is not used. 2001-11-14 21:17:17 +00:00
thorpej 944fcd0d83 Allocate the appropriate space for the XScale global cache clean code. 2001-11-11 17:30:14 +00:00
thorpej 4ffa983428 Pull in common 32-bit ARM VM parameters. 2001-11-11 16:44:15 +00:00
thorpej 615b7aff22 Delete an option that doesn't really exist. 2001-11-10 00:18:17 +00:00
thorpej f03c5f5a7c Add VERBOSE_INIT_ARM and SYMTAB_SPACE options (commented out). Add
devices: iopxs (i80312 Companion I/O), pci, ppb, fxp, inphy, ukphy.
2001-11-10 00:11:11 +00:00
thorpej 8a0624f3a4 Add some missing backslashes. 2001-11-09 23:36:52 +00:00
thorpej d1f4bf74ca Add support for PCI DMA on the i80312. We currently just do
DMA via the Secondary Inbound window, for now.  Will probably
need to revisit this at some point.

Require that the board-specific i80312 front-end slice off a
subregion for the memory controller before calling i80312_attach(),
and fix a bug in the IQ80310 front-end that caused the Secondary
Inbound window to be configured incorrectly.
2001-11-09 23:15:52 +00:00
thorpej 3797f5214d Fix typos in determing the ATU and PPB bus numbers. 2001-11-09 22:47:48 +00:00
thorpej c3dc4c8c9e Add PCI_NETBSD_CONFIGURE. 2001-11-09 20:59:39 +00:00
thorpej 393b381a6d PCI interrupt mapping support for the IQ80310. 2001-11-09 20:58:57 +00:00
thorpej b1ec255377 Add a "firstbus" argument to pci_configure_bus(), indicating the
first bus number to use, rather than always assuming that we should
start at bus #0.
2001-11-09 19:29:12 +00:00
thorpej 13aa19d0fc Eval boards usually don't have boot loaders. If we're lucky, we
have firmware that understands ELF.  We're usually stuck with S-Records.
To make life easier, attempt to stuff kernel symbols into the image
with dbsym(8).

If the kernel doesn't have SYMTAB_SPACE, or if the SYMTAB_SPACE is too
small, the kernel build continues as normal; this is just a convenience
measure.
2001-11-09 07:39:25 +00:00
thorpej 147b1bdc1c Add some rudimentary support for ELF symbols in DDB on the ARM ports.
On platforms which load the kernel sans symbols directly from firmware
(possibly in e.g. S-Record format), call ddb_init() with empty arguments,
so that it will search any compiled in SYMTAB_SPACE.  On all other platforms,
if __ELF__, also call ddb_init() with empty arguments until ELF bootloaders
which pass symbol information are ready.
2001-11-09 07:21:37 +00:00
thorpej 47514a31be Remove unneeded declarations of the db_machine_init() function. The
ARM ports are the only ones that actually have one, and it is about
to change.
2001-11-09 06:52:23 +00:00
thorpej b72e770a8a IQ80310-specific setup for the i80312 Companion I/O chip driver. 2001-11-09 03:31:37 +00:00
thorpej 3130a93ac8 Remove unnecessary prototypes for zero_page_read{only,write}(). 2001-11-09 00:34:34 +00:00
thorpej 64d042b3b3 Correct a comment. 2001-11-08 04:18:46 +00:00
thorpej 05dfd6cada * Define fixed virtual addresses for the Primary and Secondary
PCI I/O spaces, as well as the i80312 PMMRs.  Map these regions
  in early bootstrap along with the on-board device address space.
* Adjust call to i80312_sdram_bounds() for the new way the PMMRs
  are defined in i80312reg.h
* Word around some serious braindamage in RedBoot -- RedBoot uses
  the on-board Ethernet to TFTP the kernel image.  However, it does
  not stop the Ethernet before transferring control to the loaded
  program.  This means that if it happens to receive another packet
  (broadcast/multicast/unicast), it will happily scribble over the
  memory of the new running program.  Work around this problem by
  performing a secondary-bus-reset on the i80312's PPB.  XXX This
  could be problematic if we ever encounter an application where
  the i80312's PPB is actually used as a passthrough PPB.
2001-11-08 03:28:53 +00:00
thorpej f30c8426f2 Fix delay(). 2001-11-08 02:12:05 +00:00
thorpej 9cc2517cfe When we read the interrupt status bits, mask it with the shadow copy
of the "currently enabled interrupts" -- the CPLD appears to light
up the status bit even if it doesn't cause the CPU IRQ line to be
asserted.
2001-11-07 02:56:18 +00:00
thorpej 0ea59754f1 We were already cheating w/ CPLD register access, so cheat all the
way and use pointer derefs rather than bus_space to access them.
2001-11-07 02:24:18 +00:00
thorpej 4a2c5fd66d * Pass the IRQ number to stray_irqhandler() and display it in
the panic message.
* Mask off undefined bits from the XINT3 and XINT0 registers in the CPLD.
2001-11-07 02:06:37 +00:00
thorpej acf9a688a0 Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
2001-11-07 00:33:22 +00:00
thorpej 492b42cff8 Garbage collection. 2001-11-07 00:19:13 +00:00
thorpej daae0ad947 If BOARDTYPE == iq80310, make an S-records version of the kernel
as well.
2001-11-06 19:53:22 +00:00
thorpej c88c2c4852 Don't require the IQ80310 option. Made possible by files.<board>. 2001-11-04 03:01:19 +00:00
thorpej ddb2e9f4cb Don't require INTEGRATOR or INTEGRATOR_FPGA options. Made possible
by files.<board>.
2001-11-04 02:56:13 +00:00
thorpej 9ef485f568 Garbage-collect a bunch of stuff that's not used/needed in
eval board environments.
2001-11-04 02:38:28 +00:00
thorpej b8d49fac16 Move board-specific config definitions into files.<board>, allowing
each board type to have its own device namespace.
2001-11-04 02:20:22 +00:00
rearnsha 05885de5fc Garbage collect some early debug hacks that should not have been
committed in the first place and prevent linking.
2001-10-29 14:23:35 +00:00
rearnsha 4aeabfe53e Build tags files for the evbarm subtree. 2001-10-27 16:23:05 +00:00
rearnsha 19cf921b2c Support for the PrimeCell PL010 UART. Similar in behaviour to
the normal com driver, but with competely different bit and register
assignments.
2001-10-27 16:22:06 +00:00
rearnsha 27bfd8adf2 Register definitions for the v360 PCI-localbus bridge, as used
on the Integrator/AP.
2001-10-27 16:20:29 +00:00
rearnsha 00a19aff1d Support for the Integrator/AP core-logic FPGA. 2001-10-27 16:19:08 +00:00
rearnsha 65f54d13cc Basic support for the Integrator/AP board. 2001-10-27 16:17:51 +00:00
rearnsha e882c399b9 Add SCSI PCI and support for the integrator console. 2001-10-27 16:15:50 +00:00
rearnsha b7203fd4cb Configuration for Integrator boards. 2001-10-27 16:14:44 +00:00
rearnsha 682379120f Integrator boards need a special start-up file to reposition the
kernel image.
2001-10-27 16:14:04 +00:00
rearnsha 3444679bb4 Define BOARDTYPE in the Makefile so that the target-specific
Makefile fragment (to be added shortly) can DTRT based on the
board we are building a kernel for.
2001-10-27 16:12:33 +00:00
rearnsha dfab106e99 Add Integrator files. 2001-10-27 16:10:12 +00:00
rearnsha cd6b6b2576 Pick up arm/psl.h if not NEWINTR. 2001-10-27 16:08:16 +00:00
rearnsha 5431825a48 Add code to support machines that don't use NEWINTR. 2001-10-27 16:07:45 +00:00
rearnsha 267e45bb0f Temporary file, until such time as the integrator is made to
work with NEWINTR.
2001-10-27 16:06:57 +00:00
rearnsha a6fe9fcb48 Include arm/pci_machdep.h. 2001-10-27 16:06:15 +00:00
rearnsha 4d7eb9deff Fix a comment. EV boards don't always use a Footbridge. 2001-10-27 16:05:03 +00:00
rearnsha 4ea0954941 Make sure the compile directory doesn't get purged by cvs updates 2001-10-23 13:35:10 +00:00
toshii 7c9e82d6e3 Don't define pcb_* register macros.
pcb_sp macro conflicts with sys/netinet6/ipsec.c.
2001-09-09 10:33:42 +00:00
matt 2df33a5b6b Add a NEWINTR option to reflect the new interrupt/spl being implemented in
evbarm.
2001-09-05 17:00:20 +00:00
matt 1bf6aa62be more evbarm files (very incomplete). 2001-09-05 04:53:39 +00:00
matt 64bde37d3a com (16550) attachment for iq80310 2001-09-02 18:50:13 +00:00