Commit Graph

503 Commits

Author SHA1 Message Date
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
briggs
0b956d0b8b Implement pmc(9) -- An interface to hardware performance monitoring
counters.  These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface.  Initially, the Intel XScale
counters are the only ones supported.
2002-08-07 05:14:47 +00:00
thorpej
c67cc2a5b8 Add iopaau, swdmover (commented out), and dmoverio. 2002-08-07 03:41:43 +00:00
thorpej
d6003ab996 Use -mcpu=xscale. 2002-08-07 03:40:01 +00:00
thorpej
22e32aa941 #if 0 the stray interrupt messages -- we tend to get them "a lot"
during normal activity on some IOP310-based designs.
2002-08-04 17:52:46 +00:00
thorpej
dce4476374 Overhaul how DMA ranges work in the ARM bus_dma implementation.
A new "arm32_dma_range" structure now describes a DMA window, with
a system address base, bus address base, and length.  In addition to
providing info about which memory regions are legal for DMA, the new
structure provides address translation support, as well.

As before, if a tag does not list any ranges, then all addresses are
considered valid, and no DMA address translation is performed.

This allows us to remove a large chunk of code which was duplicated and
tweaked slightly (to do the address translation) from the stock ARM
bus_dma in the XScale IOP and ARM Integrator ports.

Test compiled on all ARM platforms, test booted on Intel IQ80321 and Shark.
2002-07-31 17:34:23 +00:00
thorpej
79af00bddb Move the calls to uvm_page_physload() out of pmap_bootstrap() and
into platform-specific initialization code, giving platform-specific
code control over which free list a given chunk of memory gets put
onto.

Changes are essentially mechanical.  Test compiled for all ARM
platforms, test booted on Intel IQ80321 and Shark.

Discussed some time ago on port-arm.
2002-07-31 00:20:51 +00:00
thorpej
d3aa5664b7 Move the uvm_setpagesize() call to platform-dependent code in preparation
for other changes to pmap_bootstrap().
2002-07-30 16:16:38 +00:00
thorpej
5fed6739d9 Use more descriptive interrupt names. 2002-07-30 04:45:41 +00:00
thorpej
26f7a64dc3 Add iopwdog (i80321 built-in watchdog timer), fxp, and inphy. 2002-07-29 18:42:27 +00:00
thorpej
7b652cb939 Change the way that DMA map syncs are done. Instead of remembering
the virtual address for each DMA segment, just cache a pointer to the
original buffer/buftype used to load the DMA map, and use that.  This
lets us shrink the bus_dma_segment_t down from 12 bytes to 8, and the
cache flushing is also more efficient.

Tested on an i80321 -- changes to others are mechanical.
2002-07-28 17:54:05 +00:00
ichiro
ea20391445 make compile when PCI_DEBUG was defined 2002-07-21 22:16:58 +00:00
ichiro
6cac77a3ea cosmetic change
mapping i21555 control/status registers
2002-07-21 14:26:05 +00:00
ichiro
2556a42f35 attach/match separated from ixp12x0_com
Some bug of com driver have been improved.
2002-07-20 03:09:03 +00:00
ichiro
78573b4061 delete unneed file 2002-07-15 17:21:12 +00:00
ichiro
ed89c15166 add configuration file
Netwise APlication Platform Board
2002-07-15 17:18:03 +00:00
ichiro
3aee04fce7 add support ixp12x0 eva-board "IXM1200" 2002-07-15 17:13:30 +00:00
rearnsha
a1614f2bc8 Changes to allow for the fact that the kernel is now mapped at
0xc0200000.  Tidy up to remove dead comments and code.
Allow more than one L1 entry for the kernel space and use the 'spare'
memory below the kernel code for the initial page tables in the same
way that the iq80310 does.
2002-07-08 16:20:07 +00:00
rearnsha
20ea379ed5 Map the low 4M of memory at 0xc0000000. 2002-07-08 16:17:42 +00:00
rearnsha
9fb9bc0c8a Use the Integrator ldscript and build .bin and .srec versions of the
kernel.
2002-07-08 16:15:44 +00:00
rearnsha
165a2e8904 Script file for linking an Integrator kernel image. 2002-07-08 16:14:54 +00:00
thorpej
a572f8f4a5 Report stray interrupts. 2002-06-26 01:06:44 +00:00
lukem
fde6ae6f04 Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
2002-06-17 05:14:02 +00:00
drochner
d2b9876081 move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
2002-06-02 14:44:35 +00:00
briggs
f03fce66ce Fix odd typo from addition of pba_bridgetag. 2002-05-22 23:54:14 +00:00
thorpej
204183c0fa * Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses.  For busses behind a bridge, it points to
  a persistent copy of the bridge's pcitag_t.  This can be very useful
  for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
  uses OFW device nodes to enumerate the bus.  When a PCI bus that is
  behind a bridge is attached, pci_attach_hook() allocates a new PCI
  chipset tag for the new bus and sets it's "curnode" to the OFW node
  of the bridge.  This is used as a starting point when enumerating
  that bus.  Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
2002-05-16 01:01:28 +00:00
thorpej
35fd50c116 Switch to esiop by default (again); it is fully-baked enough to use
in production now.
2002-05-03 19:35:53 +00:00
thorpej
bfd9280083 Issue a CPWAIT sequence after enabling the MMU to make sure
it's really enabled.
2002-04-26 18:01:21 +00:00
thorpej
6b4a2676fd Give gzboot a 1M heap, so that loading gzip -9'd kernels works
reliably.
2002-04-25 22:30:38 +00:00
thorpej
248e944701 Allow the size of the heap to be specified at build time. 2002-04-25 22:11:51 +00:00
atatat
d1b3852365 Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
2002-04-25 15:06:20 +00:00
briggs
3d46ca0e98 XSCALE_CCLKCFG should not be set in std.iq80310. Set IQ80310 to use
XSCALE_CCLKCFG=9 (733MHz) and TEAMASA_NPWR to use XSCALE_CCLKCFG=7 (600MHz)
as that's what the part on the board is rated for.
2002-04-25 01:50:00 +00:00
thorpej
1ca5e360be Use LOADADDR() where appropriate. 2002-04-25 01:48:21 +00:00
briggs
24bc04a204 80321 doesn't have a CCLKCFG register. 2002-04-25 01:47:56 +00:00
thorpej
48774f52db Add iq80321.c 2002-04-25 01:47:54 +00:00
thorpej
509fd84067 Add iq80310.c 2002-04-25 01:47:41 +00:00
thorpej
643663fa93 Go back to siop; esiop isn't fully baked yet. 2002-04-24 20:38:24 +00:00
thorpej
fda6669861 Use esiop. 2002-04-24 17:45:55 +00:00
briggs
29e436c9e8 Enable new option SIOP_SYMLED 2002-04-18 14:32:57 +00:00
thorpej
0f3cb4bcae Add a standalone routine for fetching the memory size from the
core module on an ARM Integrator board.
2002-04-18 05:30:45 +00:00
thorpej
a7a582e392 * Call board_init() rather than mem_init() (board_init() will take
care of that for us).
* Call board_fini() right before jumping to the kernel entry point.
2002-04-17 17:38:58 +00:00
thorpej
a400421fe8 Add board_init() and board_fini() routines for IQ80310 and IQ80321
eval boards.
2002-04-17 17:37:52 +00:00
mycroft
558b4fb278 Switch from de to tlp by default. 2002-04-17 02:22:41 +00:00
thorpej
eedd94475c * Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
  the magic "files include order" dance in N machine-dependent
  configuration definitions.
2002-04-16 20:50:16 +00:00
wiz
5040dc6d7d Remove last(?) traces of pmsi. 2002-04-16 11:49:54 +00:00
thorpej
cff1953dae Fix typo in last (luckily, search/replace makes the same typo everywhere). 2002-04-14 21:32:24 +00:00
thorpej
302ea396c3 iq80310_do_pending -> iq80310_do_soft, to accurately describe what's
actually going on there.
2002-04-14 21:30:19 +00:00
thorpej
a9e4c1a943 * Delcare COUNTER_MASK properly.
* Restructure timer_read() so that the compiler generates better code.
2002-04-14 19:47:03 +00:00
briggs
301eca907d Enable ext2fs and RAIDframe. 2002-04-13 23:33:16 +00:00
thorpej
71123e8747 Gah, correct editor mistake in last. 2002-04-13 22:42:39 +00:00
thorpej
755369ecb1 * Eliminate some redundant masking.
* Don't run the snake if the board doesn't have a 7-segment display.
2002-04-13 22:41:46 +00:00
thorpej
5358f38f8b Add an install kernel for the Npwr. 2002-04-13 00:51:18 +00:00
thorpej
60e10382d5 Add a "netbsd-sd0" configuration. 2002-04-12 21:45:13 +00:00
thorpej
3d6043053d * Add the ability to display .'s on the 7seg display.
* Display . . when halted.
2002-04-12 20:50:26 +00:00
thorpej
09eacc7061 Set COM_HW_NO_TXPRELOAD. The IQ80321's UART doesn't lose without
this, but it works fine with it, and this serves to broaden the
testing field of the flag.
2002-04-12 19:35:17 +00:00
thorpej
ff7306cf44 * Add a new hwflag, COM_HW_NO_TXPRELOAD, which tells comstart() to
not pre-load the chip's Tx buffer, but instead waits for the Tx Ready
  interrupt to transmit the first chunk of data.
* On the IOP310, set COM_HW_NO_TXPRELOAD, rather than COM_HW_TXFIFO_DISABLE.

This solves the "UART hangs" problem on the Npwr in a nicer way (i.e. we
get to use the FIFO, whee).  The COM_HW_NO_TXPRELOAD happens to match the
Linux 16550 driver's Tx algorithm, and the "UART hang" was never observed
on the Npwr running Linux.

Eventually, we might want to eliminate the COM_HW_NO_TXPRELOAD, and simply
always use its algorithm.  But it should be tested on more 16x50 variants
before we do that.

Kudos to Valeriy Ushakov <uwe@netbsd.org> for pointing out this solution
(which also happens to fix the stray UART interrupt issue on the Krups
Javastation), and to Allen Briggs <briggs@netbsd.org> for experimenting
with various methods of fixing this.
2002-04-12 19:32:30 +00:00
thorpej
f56b432a79 Use the bus_space_generic bus space ops. 2002-04-12 19:12:31 +00:00
thorpej
80146a5185 Use the bus_space_generic bus space ops. 2002-04-12 19:02:30 +00:00
thorpej
32a0860797 Centralize ARM CPU configuration information by adding a new header
file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines
the following:
* CPU_NTYPES -- now many CPU types are configured into the kernel.  What
  you really want to know is "== 1" or "> 1".
* Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending
  on which ARM architecture versions are configured (based on CPU_*
  options).  Also defines ARM_NARCH to determins how many architecture
  versions are configured.
* Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on
  which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS
  to determine how many MMU classes are configured.

Remove the needless inclusion of "opt_cputypes.h" in several places.
Convert remaining users to <arm/cpuconf.h>.
2002-04-12 18:50:29 +00:00
gmcgarry
6e066ba77a Add commented-out USERCONF option. Mainly useful for install media
and can be optionally enabled based on miniroot and ramdisk size
requirements.
2002-04-12 08:10:45 +00:00
thorpej
a6159879f0 Remove footbridge-specific stuff that will never apply on the Integrator. 2002-04-12 06:13:42 +00:00
briggs
a7d9bc4bf3 Processing pending interrupts before reenabling external interrupts in splx(). 2002-04-12 04:52:57 +00:00
briggs
b5ee40947f Disable TXFIFO on npwr. There is some sort of serial interrupt lossage that
seems to be greatly alleviated by this change.
2002-04-12 03:01:57 +00:00
briggs
67dbc34547 Remove exception for CONSPEED on NPWR -- current redboot uses 115200, too. 2002-04-12 00:58:49 +00:00
thorpej
49df0c927f Lose -nbsd 2002-04-11 21:47:36 +00:00
thorpej
da162bee90 * Move the code that cleans the XScale mini-data cache into its
own function.
* Add a new function which sets up the mini-data cache clean area
  properly.
2002-04-09 23:44:00 +00:00
thorpej
1b20a04772 * Split pte_cache_mode into pte_l1_s_cache_mode, pte_l2_l_cache_mode,
and pte_l2_s_cache_mode.  The cache-meaningful bits are different
  for these descriptor types on some processor models.
* Add pte_*_cache_mask, corresponding to each above, which has a mask
  of the cache-meangful bits, and define those for generic and XScale
  MMU classes.  Note, the L2_S_CACHE_MASK_xscale definition requires
  use of the Extended Small Page L2 descriptor (the "X" bit overlaps
  with AP bits otherwise).
2002-04-09 22:37:00 +00:00
thorpej
991426d348 * Rewrite the 32-bit ARM pte.h based on the ARM architecture manual.
Significant cleanup, here, including better PTE bit names.
* Add XScale PTE extensions (ECC enable, write-allocate cache mode).
* Mechanical changes everywhere else to update for new pte.h.  While
  doing this, two bugs (as a result of typos) were fixed in

	arm/arm32/bus_dma.c
	evbarm/integrator/int_bus_dma.c
2002-04-05 16:58:01 +00:00
thorpej
cac428e2af Use pte_cache_mode instead of PT_CACHEABLE; 2002-04-05 03:55:36 +00:00
thorpej
20b1bb2655 Clean up handling of the vector page on 32-bit ARM systems:
* Don't refer to VA 0, instead refer to a new variable: vector_page
* Delete the old zero_page_*() functions, replacing them with a new
  one: vector_page_setprot().
* When manipulating vector page mappings in user pmaps, only do so if
  the vector page is below KERNEL_BASE (if it's above KERNEL_BASE, the
  vector page is mapped by the kernel pmap).
* Add a new function, arm32_vector_init(), which takes the virtual
  address of the vector page (which MUST be valid when the function
  is called) and a bitmask of vectors the kernel is going to take
  over, and performs all vector page initialization, including setting
  the V bit in the CPU Control register ("relocate vectors to high
  address"), if necessary.
2002-04-03 23:33:26 +00:00
lukem
d213d804f7 Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
2002-04-02 05:30:34 +00:00
thorpej
6cd0f2f79c Add -nbsd to OUTPUT_FORMAT BFD target names. 2002-04-01 20:34:36 +00:00
thorpej
f34ab7f99f Add -nbsd to OUTPUT_FORMAT BFD names. 2002-04-01 20:33:37 +00:00
thorpej
222fd9910b Add a netbsd-wm0 kernel config. 2002-03-29 20:29:30 +00:00
thorpej
6a9768d2bf Fix resetting the board at reboot. 2002-03-29 02:22:34 +00:00
thorpej
8345db18a3 Example gzboot config for the IQ80321. 2002-03-28 20:44:07 +00:00
thorpej
b5b0fd2467 Define CONADDR. 2002-03-28 20:41:45 +00:00
thorpej
242be7009e Rename iq80310_cons.c to ns16550.c. Require that CONADDR be
defined by the Makefile at build time.
2002-03-28 20:40:47 +00:00
thorpej
bb52a97b63 Kernel configuration file for the IQ80321 eval board. 2002-03-27 21:52:19 +00:00
thorpej
592e882ae0 Support for the Intel IQ80321 eval board for the i80321 I/O Processor. 2002-03-27 21:51:28 +00:00
thorpej
33bf2a81e0 Note that this module will also work with the IQ80321 eval board. 2002-03-27 04:14:25 +00:00
thorpej
eb1415ce49 Stand-alone memory sizing routine for the Intel i80321 I/O processor
("Verde").
2002-03-27 04:13:39 +00:00
thorpej
41f47f03e7 Restructure a few things in order to support other XScale core
I/O processors:
* The i80200 and the i80321 have the same CPU ID, so split the
  CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321
  options, and don't let them both be defined at the same time.
  XXX May want to revisit this in the future.
* Split some registers common between the i80200 and i80321 into
  <arm/xscale/xscalereg.h>.
* Rename a few existing functions.
2002-03-26 19:29:44 +00:00
thorpej
dbe6d8291b * Fix use of pmap_curmaxkvaddr.
* Use the PTP hint in the pmap.
2002-03-25 04:51:19 +00:00
thorpej
5ffc15a083 Use vtopte() instead of pmap_pte(). 2002-03-24 18:12:54 +00:00
thorpej
aa1563948c * arm_byte_to_page() -> arm_btop()
* arm_page_to_byte() -> arm_ptob()
2002-03-24 03:37:18 +00:00
thorpej
110e2a57ff * Change all uses of KERNEL_SPACE_START to KERNEL_BASE.
* Delete now unused KERNEL_SPACE_START.
2002-03-23 02:53:59 +00:00
thorpej
0ba36d6f6f * Rename PROCESS_PAGE_TBLS_BASE -> PTE_BASE
* Rename ALT_PAGE_TBLS_BASE -> APTE_BASE
* Garbage-collect PAGE_TABLE_SPACE_START
2002-03-23 02:22:56 +00:00
briggs
d099df10f4 Use obio_bs_rr_1.
In obio_bs_map(): Create a mapping for regions that are not in the
	standard on-board I/O space.
2002-03-19 01:36:13 +00:00
atatat
31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
lukem
cd19d52695 * rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
are now consistently named
* fold opt_mdsize.h into opt_md.h
2002-03-10 19:56:37 +00:00
thorpej
e0ea696615 * Add support for running the IQ80310 kernel where KERNEL_BASE !=
physical memory start.  Garbage-collect some cruft while here.
* Move the kernel up to 0xc0000000, giving a 1G/3G kernel/user split.
* Adjust the Integrator startup code accordingly.
2002-03-03 21:22:15 +00:00
thorpej
e23381908a inittodr(): Actually initialize time from the file system time. 2002-03-03 21:10:40 +00:00
chris
1181e367e0 Implement pmap_growkernel for arm32 based ports.
Note that this has been compiled on some systems, cats, IQ80310, IPAQ, netwinder and shark (note that shark's build is currently broken due to other reasons), but only actually run on cats.
Shark doesn't make use of the functionality as I believe there has to be a correlation between OFW and the kernel tables so that calls into OFW work.
2002-03-03 11:22:58 +00:00
thorpej
20dd585980 Add RCS ID. 2002-03-02 22:29:40 +00:00
thorpej
ebcb5cdd36 Move the DBSYM bits up in the file. 2002-03-02 22:23:10 +00:00
simonb
4324f37586 Use "#define<tab>". 2002-02-28 03:17:23 +00:00
thorpej
c92241b420 Correct a comment. 2002-02-24 20:51:56 +00:00
thorpej
4af7d26f26 Fix a couple of comments. 2002-02-24 20:44:28 +00:00
thorpej
0a4bc3ccd5 This file is obsolete. 2002-02-24 20:32:40 +00:00
thorpej
39c165f331 Add support for relocating gzboot's .text out of flash and into
RAM (while still decompressing the image directly from flash).

This makes gzboot run a LOT faster.
2002-02-24 20:29:44 +00:00
thorpej
d819468d64 Improve zlib error reporting. 2002-02-24 18:36:29 +00:00
thorpej
0780eaaa32 Use bcopy() and bzero(), since the rest of libsa does. This means
we don't have to pull in memset() and memcpy() from libsa.
2002-02-23 20:48:14 +00:00
thorpej
59f1dfe1c2 Don't need to provide zcalloc() and zcfree(); there are such routines
in libz.
2002-02-23 20:34:41 +00:00
thorpej
524d248b59 Fix the -DRELOC=... CPP flag. Add -DDYNAMIC_CRC_TABLE to shrink
the text (and, thus, the space taken up in flash) a bit.
2002-02-23 20:19:52 +00:00
briggs
caaef6d0d0 Implement obio_bs_rr_1. 2002-02-23 19:55:34 +00:00
thorpej
a91d5a1a99 Example Makefile and linker script for building a run-from-flash
gzboot image for the IQ80310 with room for 2M of compressed data.
2002-02-23 19:16:54 +00:00
thorpej
c39065eb62 Add support for running directly out of flash:
* Require that the builder Makefile provide a linker script.
* After making sure the MMU is disabled, check to see if
  _etext == __data_start.  If not, then copy the .data contents
  into RAM.
* Put the stack in .bss.
2002-02-23 18:19:09 +00:00
thorpej
87de164ab4 Fix a silly bug in the propellor spinning code. 2002-02-23 17:25:32 +00:00
thorpej
d114b32f24 Add some nops after we enable the MMU, for good measure (enough for
the nops to be the prefetch'd insns when the MMU switch occurs).
2002-02-23 05:58:46 +00:00
thorpej
f31f6affa9 Make sure the MMU is enabled after we switch to the new kernel
page tables (gzboot disables the MMU before it does its work).
2002-02-23 05:55:26 +00:00
thorpej
0fac1c42e9 gzboot -- boot a gzip'd kernel image. This is useful for booting
compressed kernel images from flash.

This needs more work, but is a good first-pass.
2002-02-23 05:41:14 +00:00
thorpej
1152fa21da Add some simple standalone device drivers for IOP310-based boards. 2002-02-23 05:12:01 +00:00
thorpej
ac5d6ab89f Fix the "va" argument to pmap_map_entry() when mapping kernel_ptpt. 2002-02-22 17:26:36 +00:00
thorpej
37595cfcf8 Fix the "va" argument to pmap_map_entry() when mapping kernel_ptpt.
This happened to work in the IOP310 because the kernel runs VA==PA.
2002-02-22 17:23:13 +00:00
thorpej
5164bca298 Also generate flat binary kernels for the IQ80310. 2002-02-22 05:07:46 +00:00
thorpej
bb84e85802 Change pmap_map_entry() to work like pmap_map_chunk(): take a pointer
to the L1 table and a virtual address, and no pointer to the L2 table.
The L2 table will be looked up by pmap_map_entry(), which will panic
if the there is no L2 table for the requested VA.

NOTE: IT IS EXTREMELY IMPORTANT THAT THE CORRECT VIRTUAL ADDRESS
BE PROVIDED TO pmap_map_entry()!  Notably, the code that mapped
the kernel L2 tables into the kernel PT mapping L2 table were not
passing actual virtual addresses, but rather offsets into the range
mapped by the L2 table.  I have fixed up all of these call sites,
and tested the resulting kernel on both an IQ80310 and a Shark.
Other portmasters should examine their pmap_map_entry() calls if
their new kernels fail.
2002-02-22 04:49:19 +00:00
thorpej
79738a99e9 Keep track of which kernel PTs are available during bootstrap,
and let pmap_map_chunk() lookup the correct one to use for the
current VA.  Eliminate the "l2table" argument to pmap_map_chunk().

Add a second L2 table for mapping kernel text/data/bss on the
IQ80310 (fixes booting kernels with ramdisks).
2002-02-21 21:58:00 +00:00
thorpej
15e0450397 Always pass the L1 table to pmap_map_chunk(). This allows pmap_map_chunk()
to perform some error checking.
2002-02-21 05:25:23 +00:00
thorpej
454e106a48 map_chunk() -> pmap_map_chunk(), and move it to pmap.c 2002-02-21 02:52:19 +00:00
skrll
2de2e35201 Fix typo in comment. 2002-02-20 20:47:40 +00:00
thorpej
425011f621 map_pagetable() -> pmap_link_l2pt(), and move it to pmap.c 2002-02-20 20:41:15 +00:00
thorpej
c44b9117f0 Collapse map_entry{,ro,nc}() into a single pmap_map_entry() that
takes a prot and a "cacheable" indicator.
2002-02-20 02:32:56 +00:00
thorpej
9c31f51c34 Rename map_section() to pmap_map_section(), move it to pmap.c, and give it
an extra argument (prot - specifies protection of the mapping).
2002-02-20 00:10:15 +00:00
briggs
acf12a854d Use the MI md_root 2002-02-19 17:41:15 +00:00
thorpej
cd98cbf7fb * For platforms which are already ELF, remove the definition of
MACHINE_ARCH since <arm/param.h> already sets it correctly to "arm".
* For platforms which are not yet ELF, defined MACHINE_ARCH to "arm32"
  if __ELF__ is not defined by the C preprocessor.
* In <arm/param.h>, clarify the rules about when MACHINE and
  MACHINE_ARCH are defined, and to what.  Also, for ELF platforms,
  int the non-_KERNEL case, force both MACHINE and MACHINE_ARCH to "arm",
  rather than allowing platform-specifc code to define either.
2002-02-12 06:58:18 +00:00
thorpej
e01bd95698 * The Npwr only has 5 interrupt sources, all in XINT3, so don't bother
reading XINT0 (which isn't even implemented by the CPLD on Npwr).
* Adjust the mask of valid IRQ bits for the Npwr.
2002-02-09 03:52:31 +00:00
thorpej
727b4699ce The Npwr has a 19-bit timer. Make sure values programmed into
the counter fit.
2002-02-08 23:50:53 +00:00
thorpej
9716a068b6 * No need to specify the console speed anymore; it defaults to the
correct speed if IOP310_TEAMASA_NPWR is defined.
* Just wildcard the "wm" and "siop" devices.
* Comment out raid and ccd for now.
2002-02-08 03:43:41 +00:00
thorpej
66c81951ae Default the console to the correct speed on the Npwr (so that
it doesn't have to be set in the kernel config file).
2002-02-08 03:41:56 +00:00
briggs
efca4d520d Wire the internal devices to the right interrupts on NPWR. 2002-02-08 03:28:24 +00:00
thorpej
987cb42a95 No point in setting the ATU Subsys vendor/dev ID on boards that
can't plug into a PCI host.
2002-02-08 02:31:12 +00:00
thorpej
367a9543a7 The Npwr doesn't have the board_rev/cpld_rev/backplane_det registers,
do don't bother reading them.
2002-02-08 02:30:12 +00:00
briggs
6331bb5b24 Let this compile with the IOP310_TEAMASA_NPWR option. 2002-02-08 01:42:41 +00:00
briggs
07ec97aeba finish conversion from TEAMASA_NPWR to IOP310_TEAMASA_NPWR 2002-02-08 01:41:48 +00:00
thorpej
140c8fe847 Don't hard-code the console address in error messages. 2002-02-07 23:53:01 +00:00
thorpej
2b9837b4d9 Add support for the Team ASA Npwr IOP310-based server appliance. 2002-02-07 21:34:23 +00:00
thorpej
9265cef48c irq_init() -> iq80310_intr_init() 2002-01-30 04:01:36 +00:00
thorpej
48499c673e Pull in <evbarm/ifpga/irqhandler.h> for now. 2002-01-30 04:00:47 +00:00
thorpej
2bc996b0bc New interrupt framework for NetBSD/evbarm, and accompanying new
interrupt code for the IQ80310 board support package.

XXX The Integrator board support package still uses the old-style
arm32 interrupt code, so some compatibility hacks have been added
for it.  When the Integrator uses new-style interrupts, those hacks
can go away.
2002-01-30 03:59:39 +00:00
thorpej
558b6aece0 Move the generic ARM soft interrupt code into a generic place. 2002-01-29 22:54:14 +00:00
jdolecek
6d265bd894 add options PIPE_SOCKETPAIR to individual kernel configs
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
2002-01-27 13:23:08 +00:00
thorpej
08342df793 Overhaul bus_dmamap_sync for the ARM:
* Track which process (XXX really, vmspace) owns the mapping.  When
  we sync the map, if the mapping doesn't belong to the kernel or to
  the current process (XXX really, vmspace), then no cache fobbing
  is necessary, since the cache is Wb-Inv'd on context switch (XXX need
  to revisit this when we support FCSE).
* Be smarter about which cache operation we do when sync'ing the map:
  - PREREAD -- Invalidate D$ (XXX right now, we actually do Wb-Inv)
  - PREWRITE -- Write-back D$ (note, we do NOT invalidate here)
  - PREREAD|PREWRITE -- Wb-Inv D$

More work is needed here.  In particular, a version for CPUs
with write-through caches should be provided, to eliminate
the write-back steps (which are noops on such CPUs, but skipping
two branches would be nice).
2002-01-25 20:57:41 +00:00
thorpej
4e990d9ccb Overhaul of the ARM cache code. This is mostly a simplification
pass.  Rather than providing a whole slew of cache operations that
aren't ever used, distill them down to some useful primitives:

	icache_sync_all         Synchronize I-cache
	icache_sync_range       Synchronize I-cache range

	dcache_wbinv_all        Write-back and Invalidate D-cache
	dcache_wbinv_range      Write-back and Invalidate D-cache range
	dcache_inv_range        Invalidate D-cache range
	dcache_wb_range         Write-back D-cache range

	idcache_wbinv_all       Write-back and Invalidate D-cache,
				Invalidate I-cache
	idcache_wbinv_range     Write-back and Invalidate D-cache,
				Invalidate I-cache range

Note: This does not yet include an overhaul of the actual asm files
that implement the primitives.  Instead, we've provided a safe default
for each CPU type, and the individual CPU types can now be optimized
one at a time.
2002-01-25 19:19:22 +00:00
thorpej
0404ff83b9 Generic soft interrupt support for the evbarm port. Two caveats:
* This is not currently used by the in-tree evbarm interrupt code.  New
  interrupt code will appear "soon" which makes use of this file.
* This file will probably move to a generic ARM location eventually.
2002-01-24 18:48:03 +00:00
thorpej
c50e5f6562 Don't need pciide_machdep.c 2002-01-24 06:51:30 +00:00
briggs
2341768d92 Two changes for XScale:
1) Add defparam XSCALE_CCLKCFG to define a parameter for the
	   CCLKCFG register.  Default it to '9' on the IQ80310.
	2) Add a sleep call to the xscale CPU function vector (replacing
	   the nullop) which should drop the CPU into "idle" mode when
	   cpu_switch finds nothing on the run queues.
2002-01-24 04:23:18 +00:00
thorpej
ffe44b126d Pull in files.i80200 2002-01-24 03:57:36 +00:00
thorpej
ae267d2bc7 s/CPLD/iq80310/g 2002-01-24 03:34:28 +00:00
thorpej
e594c94727 Some prototype cleanup. 2002-01-20 03:41:47 +00:00
thorpej
d2ee788a90 Document the CONUNIT and CONSPEED config options. 2002-01-18 19:47:38 +00:00
thorpej
d25c8d3cac Allow the console unit to be overridden with the CONUNIT configuration
option.
2002-01-18 19:47:05 +00:00
thorpej
f11f32eed1 Since we build with DDB by default, build with SYMTAB_SPACE by default,
as well.
2002-01-16 23:49:41 +00:00
thorpej
bd500cc450 When mapping the kernel text/data/bss:
* Round the text size up the next page, don't truncate it.
* Pass the kernel L1 table to map_chunk() so that it can try
  to use section mappings.
2002-01-16 23:37:05 +00:00
thorpej
fd8ee60d12 Correct KERNEL_TEXT_BASE. 2002-01-16 23:33:51 +00:00
thorpej
1e0e569ced Remove the "fiqhandler" definitions. 2002-01-13 19:20:06 +00:00
briggs
b89eed2156 If we're attaching UART2, then use UART2 in failure-case panic()s. 2002-01-04 21:18:59 +00:00
thorpej
014157862c * Share a common vector page between arm26 and arm32.
* Use a common set of exception handlers for all arm32 platforms.
* New FIQ framework based on discussions with Ben Harris, shared
  between arm26 and arm32.
2001-12-20 01:20:21 +00:00
atatat
b45c51b1fc Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.
2001-12-09 05:00:40 +00:00
thorpej
a5a8439141 Make the snake slither in a slightly more interesting pattern that
also happens to have 8 positions (and thus has a slightly more efficient
implementation).
2001-12-01 21:23:17 +00:00
thorpej
216b9b2ea6 - Don't enable FIQs; nothing uses them (yet).
- Steer i80200 PMU and BCU interrupts to IRQ# (for lack of a better
  place, at the moment).
- Disable all interrupts other than external-IRQ# in the i80200 ICU;
  we don't deal with any of the others, yet.
2001-12-01 06:15:36 +00:00
thorpej
a7cfcd87fd Implement a "snake" for the 7-segment display. 2001-12-01 02:04:27 +00:00
thorpej
5f8b540ed9 Remove U from the display seg constants. 2001-12-01 02:02:46 +00:00
thorpej
e41179bfd0 Need <arm/cpufunc.h> for cache-related variables. 2001-11-30 19:43:20 +00:00
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