Commit Graph

59 Commits

Author SHA1 Message Date
andrew
9501bcd750 The -mno-apcs-frame argument is unavaliable on clang, also ignore it there. 2013-03-17 00:56:17 +00:00
andrew
2b4b00f4f6 The compiler argument -mno-apcs-frame has no meaning when using EABI as we
will use aapcs frames, not apcs frames.
2013-03-16 03:57:46 +00:00
andrew
547c9f6633 Fix the indentation for a few commands that were missed or incorrectly
indented in r248362.
2013-03-16 03:21:25 +00:00
andrew
a27e52f9c0 Adjust the indentation of the trampoline compilation to make the commands
easier to follow.
2013-03-16 03:15:24 +00:00
andrew
b1fd5c3055 - Clang doesn't understand the -mno-thumb-interwork. Only use it with gcc.
- We need to add "-mllvm -arm-enable-ehabi" to clangs CFLAGS when
  generating the unwind tables to tell it to add the required directives to
  the assembly it generates.
2013-03-10 03:52:35 +00:00
andrew
0a8e117609 Don't build the kernel with Thumb interworking as we don't support Thumb. 2013-01-23 07:27:38 +00:00
andrew
1d1de12ebe When DDB is enabled and we are building for the ARM EABI include the unwind
tables in the kernel.
2013-01-19 22:08:16 +00:00
marcel
05d970344a Fix LINT build for arm: NOTES defines LDFLAGS by way of a make option
but LDFLAGS is not (yet) passed on to the linker (via SYSTEM_LD et al).
Do so now. As such, any kernel configuration can now define linker
flags by setting LDFLAGS as normal and not have to revert to hacks
like setting DEBUG for flags that do not relate to debugging (see
sys/powerpc/conf/MPC85XX).
2012-11-29 03:48:39 +00:00
imp
2bf4edc8d9 The tramp stuff isn't dependent on DDB, so always add these to the
CLEANFILES list.
2012-11-23 17:27:09 +00:00
obrien
2b81e41ea8 Remove duplication and centralize testing of various config(8)ed features. 2012-09-12 14:19:40 +00:00
obrien
fea385a6bf Not all Pmake derived makes quietly tolerate assignment from shell commands
with no output.  Add "echo" at the end these shell commands whose output is
assigned to a variable's value to ensure there is some output.

Submitted by:	John Van Horne <jvanhorne@juniper.net>
2012-09-12 14:17:11 +00:00
gonzo
e306c6c160 Get rid of ARM_BIG_ENDIAN for good:
- remove leftovers in Makefile.arm
  - Let ld use default output format instead of providing one in ldscript
2012-08-21 23:44:47 +00:00
gonzo
032427f3e9 Merging projects/armv6, part 1
Cummulative patch of changes that are not vendor-specific:
	- ARMv6 and ARMv7 architecture support
	- ARM SMP support
	- VFP/Neon support
	- ARM Generic Interrupt Controller driver
	- Simplification of startup code for all platforms
2012-08-15 03:03:03 +00:00
imp
5a54947fe1 Force overwrite of gz file, to make NO_CLEAN builds work. 2012-07-15 05:38:43 +00:00
cognet
ba7785e90e Add -ffreestanding to the command line, so taht inflate.c compiles and link
properly with llvm.

PR:		arm/156771
Submitted by:	Damjan Marion <damjan dot marion at gmail DOT com>
2011-06-15 19:15:50 +00:00
raj
48f2ce50e5 Convert Marvell ARM platforms to FDT convention.
The following systems are involved:

  - DB-88F5182
  - DB-88F5281
  - DB-88F6281
  - DB-78100
  - SheevaPlug

This overhaul covers the following major changes:

  - All integrated peripherals drivers for Marvell ARM SoC, which are
    currently in the FreeBSD source tree are reworked and adjusted so they
    derive config data out of the device tree blob (instead of hard coded /
    tabelarized values).

  - Since the common FDT infrastrucutre (fdtbus, simplebus) is used we say
    good by to obio / mbus drivers and numerous hard-coded config data.

Note that world needs to be built WITH_FDT for the affected platforms.

Reviewed by:	imp
Sponsored by:	The FreeBSD Foundation.
2010-06-13 13:28:53 +00:00
rpaulo
69436c4cab Add support for Cavium Econa CNS11XX ARM boards. These boards were
previously know by StarSemi STR9104.

Tested by the submitter on an Emprex NSD-100 board.

Submitted by:	Yohanes Nugroho <yohanes at gmail.com>
Reviewed by:	freebsd-arm, stas
Obtained from:	//depot/projects/str91xx/...
2010-01-04 03:35:45 +00:00
raj
bdbca6dd56 Rename Marvell ARM CPU specific file according to r186933. 2009-01-09 10:55:33 +00:00
sam
69d880d876 enable use of modules but disable them by adding MODULES_OVERRIDE=""
in each config file until we can sort out issues in the modules tree

Reviewed by:	imp
MFC after:	1 month
2008-11-30 17:53:19 +00:00
raj
3226c13778 Introduce basic support for Marvell families of system-on-chip ARM devices:
*  Orion
     - 88F5181
     - 88F5182
     - 88F5281

  * Kirkwood
     - 88F6281

  * Discovery
     - MV78100

The above families of SOCs are built around CPU cores compliant with ARMv5TE
instruction set architecture definition. They share a number of integrated
peripherals. This commit brings support for the following basic elements:

  * GPIO
  * Interrupt controller
  * L1, L2 cache
  * Timers, watchdog, RTC
  * TWSI (I2C)
  * UART

Other peripherals drivers will be introduced separately.

Reviewed by:	imp, marcel, stass (Thanks guys!)
Obtained from:	Marvell, Semihalf
2008-10-13 20:07:13 +00:00
cognet
e73d09d987 We need -I$S to compile the elf trampoline.
MFC after:	3 days
2008-08-04 14:38:38 +00:00
imp
64685606b6 If you build a compiler with TARGET_BIG_ENDIAN, and then try to build
a little endian kernel, things break.  Be explicit about the endian
choice by setting it in the little endian case as well.
2008-04-04 19:33:09 +00:00
raj
cd6e8c4dc8 Make kernel.tramp build properly on ARM9E.
Reviewed by:	imp
Approved by:	cognet (mentor)
2008-04-04 17:35:24 +00:00
imp
4211d46f1c Always build kernel.tramp. This should be helpful for a lot of
people, as well making sure it doesn't break.
2008-04-03 20:42:36 +00:00
raj
8c4ccad611 Introduce a standalone shell script for embedding MFS image.
This allows to fix a problem with ARM kernel.bin not having the MFS image
embedded: it is objcopied from the kernel.noheader temporary ELF file, which
was not subject to embedding the MFS image previously.

Reviewed by:	imp
Approved by:	cognet (mentor)
2008-02-05 10:46:30 +00:00
cognet
d9f013dcfb Bring in two bandaids to get the elf trampoline to work again, until I find
a proper solution.
- Add a dummy entry point which just calls the C entry points, and try to make
sure it's the first code in the binary.
- Copy a bit more than func_end to try to copy the whole load_kernel()
function. gcc4 puts code behind the func_end symbol.

Approved by:	re (blanket)
2007-07-27 14:42:25 +00:00
wkoszek
147aff09a7 Revert config(8) version bump. It brings major pain for people working on
different versions of FreeBSD source tree.

Old config(8) can now be used unless you want to use INCLUDE_CONFIG_FILE
option.

Approved by:	imp
Reviewed by:	imp
2007-05-16 17:23:54 +00:00
wkoszek
f6d4544853 Bump config(8) version and build requirement for config(8) to 600006. This
is caused by my latest changes to config(8). You're supposed to install new
config(8) in order to prevent yourself from seeing a warning about old
version of that tool.

You should configure the kernel with a new config(8) then.

Oked by:	rwatson, cognet (mentor)
2007-05-13 02:36:41 +00:00
cognet
0bad58d974 Only use -mno-apcs-frame if DDB is not in the kernel, as it prevent the
backtraces from working.

MFC After:	3 days
2006-07-24 22:09:47 +00:00
cognet
b684c494c5 Add -EB to ${LD} too if we're making a big endian kernel, not anything in
kernel makefiles uses SYSTEM_LD.
2006-07-18 21:16:39 +00:00
cognet
a32f908e29 Make sure the stack is properly aligned.
Enable the MMU when relocating as well, and use write-through cache.
2006-06-18 22:46:30 +00:00
cognet
5dcde5a0f3 MFp4:
- Try hard to calculate a safe sp, so that the stack doesn't get smashed
while uncompressing or relocating the kernel.
- Bring in code needed to calculate the cacheline size etc, needed for
arm9_idcache_wbinv_all.
2006-06-12 22:58:50 +00:00
cognet
eb54945e83 To avoid problems, invalidate the data cache and disable the MMU once
we're done uncompressing the kernel.
2006-05-30 21:13:47 +00:00
cognet
d83e208f26 Erm don't use -mno-apcs-frame if we're going to do profiling either, it's not
exactly compatible.
2006-03-27 00:32:46 +00:00
cognet
f32398d06c Build a minimal pagetables, with only section mappings, mapped write through,
to speed up the decompression.
2006-01-20 00:46:44 +00:00
cognet
97736242bb Rather than appending it at the end of the kernel build process, give the
ELF trampoline build its own target, "trampoline".
It makes it possible to construct a bootable gzipped kernel without having
to build in the same process.
2005-12-20 20:57:20 +00:00
cognet
b0632238f9 Make the elf trampoline disable the MMU, and link it at physical address,
to avoid bad surprises.
2005-12-20 01:28:17 +00:00
cognet
7ad0083d3a Teach the elf trampoline how to deal with gzipped kernels. 2005-12-05 12:55:46 +00:00
imp
ca2911b147 Version 600004 is better than 700000 given other changes that are in
the pipeline.  We had to bump the version for 600004 because the old
parser got confused and generated bogus output.

Approved by: ru@
2005-11-28 17:51:31 +00:00
ru
cbff67d85c Make config(8) understand ORed dependecies in "files*" and
improve tracking of known devices.  Bump config(8) version.
2005-11-27 21:41:58 +00:00
cognet
d15644c43e Use the correct file name for the ldscript. 2005-11-25 03:30:45 +00:00
cognet
2a2203ec20 Create a non-elf pure binary version of the kernel as well. 2005-11-24 02:25:49 +00:00
cognet
ca84af0c50 Make the elf wrapper work with recent kernel.debug changes. 2005-11-17 01:32:01 +00:00
imp
3e0bd8923f We don't bump the config version for additions to config that aren't
used in the base system.  This has been much discussed in the past
(typically people giving me a hard time for it).  Since all that was
added to config was nocpu, and since we don't use it, we don't need to
bump the version.
2005-11-04 04:14:49 +00:00
ru
aaf1885b0a Implement the "nocpu" directive.
Requested by:	rwatson
2005-11-03 14:01:22 +00:00
jhb
b133e7a8cd Bump config(8) version for the DEFAULTS change. 2005-10-27 19:27:55 +00:00
cognet
655fee75e3 Strip the $a, $t and $d symbols if we're using DDB. There are useless and
confusing in a backtrace.
2005-10-17 18:31:37 +00:00
cognet
799f9eba2c Really detect if DDB is enabled.
Remove kernel.tramp if it exists on make clean.
2005-10-04 14:38:55 +00:00
cognet
61bb392fc2 Makefile magic for the ELF trampoline. 2005-10-03 14:09:58 +00:00
cognet
29da6ca1b0 Use -mno-apcs-frame if DEBUG isn't defined.
Approved by:	re (blanket)
2005-06-27 14:33:32 +00:00