Commit Graph

82 Commits

Author SHA1 Message Date
thorpej
84be4d4719 Fix size/padding of .data. From Nick. 2002-03-05 21:26:11 +00:00
skrll
f9d21f3995 Use shell arithmetic as much as possible and reduce the number of times
that awk is used to one.

No functional change.
2002-02-20 21:54:08 +00:00
chris
2ba81d8c9c Update elf2aout to cope with infile and outfile being the same.
Make the cats a.out kernel be called netbsd.  This means that make install installs the correct kernel
2002-02-09 11:53:58 +00:00
thorpej
5113cbfb17 A slightly cleaned up version of chris/nick's elf2aout.sh for ARM
platforms.
2002-02-06 19:54:47 +00:00
chris
4253f3bbfc Set LOOSE_PROTOTYPES to no for cats. This means cats now uses stricter prototype checking. 2002-01-31 09:53:33 +00:00
thorpej
2c0cb97fa8 Add a sleep routine for the SA-11x0. 2002-01-30 00:25:07 +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
bjh21
0598bbd10f Separate out syscall() out into three parts:
swi_handler() does stuff that all SWIs will need, then calls
   curproc->p_emul->e_syscall.
  syscall() handles native NetBSD system calls.
  linux_syscall() handles Linux system calls.
2002-01-17 17:26:03 +00:00
bjh21
6462506466 Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
2002-01-14 23:14:32 +00:00
bjh21
9fe68c4f64 Combined syscall handler for all ARM ports. This is basically the arm32
version, made readable and compatible with arm26.  In addition, this adds
support for NetBSD/arm's newly allocated SWI range.
2002-01-12 20:02:13 +00:00
bjh21
2b44bd85c5 On arm26, vectors.S needs to be at the start of the kernel text, so that it's
on a page boundary and can be mapped straight into zero page.  This means it
has to be in MD_SFILES on arm26, and not in SFILES.

This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
2002-01-07 21:15:50 +00:00
bjh21
00bd2cbdac Merge ast() and userret() between arm32 and arm26. The implementation used
is the arm32 one.
2001-12-21 22:56:16 +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
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
ed112809c9 Allow port-specific Makefile fragments to specify a list of additional
genassym.cf fragments, if desired.
2001-11-26 23:44:58 +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
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
c5269c1608 Make the ARM, Ltd. floating point emulator work w/ ELF. 2001-11-24 03:39:17 +00:00
thorpej
87fe867c21 Move the ARM, Ltd. floating point emulator to arch/arm. 2001-11-24 01:26:23 +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
thorpej
9e1b785626 Split all the model/version-specific cpufuncs into separate files
corresponding to the model/version.
2001-11-10 23:14:08 +00:00
thorpej
fa6ae96384 This file is not used. 2001-11-10 00:13:58 +00:00
thorpej
e8982cb969 Make it possible for Makefile.${MACHINE}.inc to provide extra
stuff at the end of SYSTEM_LD_TAIL.
2001-11-06 19:52:21 +00:00
jmc
6d536163de Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.
2001-10-26 06:45:33 +00:00
thorpej
2c5ebcddfb Use MACHINE, not TARGET_MACHINE. 2001-10-23 18:57:32 +00:00
thorpej
a2bf3bc31b Pull in <bsd.own.mk> to get the correct toolchain definitions for
the USE_NEW_TOOLCHAIN case.
2001-10-23 17:32:35 +00:00
rearnsha
0dbc5bbfab Add CPU_ARM9 to opt_cputypes.h 2001-10-18 14:03:43 +00:00
matt
747d79ef47 Workaround "../../../.." 2001-10-17 23:21:44 +00:00
matt
ff5f5ea027 Don't compile SPL/INTR stuff if NEWINTR is defined. 2001-09-05 17:08:41 +00:00
matt
78944c67e3 Add an obio bus. 2001-09-05 16:12:36 +00:00
matt
08f4bcddf3 files file for xscale (i80312 aka iopxs) 2001-08-26 19:19:09 +00:00
chris
9522cf08d4 Share procfs_machdep.c across arm. 2001-08-05 13:09:45 +00:00
matt
03b77c0534 Add a CPU_XSCALE defopt (for eventual support). 2001-07-31 17:00:24 +00:00
rjs
9b65c24aa5 Remove unused LCD definitions. 2001-07-30 10:50:59 +00:00
chris
4a126d9937 finish moving common arm32 bits out into arm/arm32. 2001-07-28 15:08:10 +00:00
chris
27f96e8440 Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc. 2001-07-28 13:28:03 +00:00
chris
9c823196e0 Change -x into -X for linking, it makes traces more meaningful. 2001-07-28 13:24:24 +00:00
matt
d09cef0906 Gah!. Use the variable name (LINKENTRY). 2001-07-12 07:02:00 +00:00
matt
2d9f71a0d9 Fix a few things for NetWinder. NetWinder needs to override the
std entry point so add a hook for that.  Also pick up the port
specific .inc file from the right directory.
2001-07-12 06:25:07 +00:00
bjh21
ea353a48e1 Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed. 2001-07-10 20:43:57 +00:00
rjs
35dc2ba462 Initial copy of SA11x0 support from hpcarm. 2001-07-08 23:20:04 +00:00
chris
7383fda9e0 Remove defopt EBSA285.
Move the files from footbridge that are cats specific.
Remove EBSA285 kernel as people should be able to use the generic cats kernel for EBSA285 systems.
2001-06-20 22:14:32 +00:00
bjh21
cb36bacea5 Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S
into arm/arm/bus_space_notimpl.S.  They were identical anyway.

This file has no excuse for being in assembler, but I'll leave that for another
day.
2001-06-18 22:26:15 +00:00
matt
fa3621e3be Move netwinder_machdep.c to files.netwinder. Eliminate opt_netwinder.h and
use #ifdef netwinder insead.  XXX ebsa285_machdep.c should move to the cats
directory and files.cats
2001-06-12 17:10:25 +00:00
chris
1825c7b68a Move defopt FOOTBRIDGE to where it really should be in files.footbridge, which is where I should have left it. 2001-06-11 22:25:09 +00:00
matt
95be56d2e1 Only include dependency on include-dirs if the include directory doesn't
exist.
2001-06-11 17:50:34 +00:00
matt
d87a9f23c3 Add common Makefile for arm ports. Only include (for now) machine/io.h
if arm32 is defined.  io.h is RISCPC specific and isn't needed for other
ports.
2001-06-11 17:44:38 +00:00
chris
af8ce95972 Move the footbridge dir out of arm32 into arm. 2001-06-09 10:29:11 +00:00