History log of /freebsd-current/sys/arm/include/cpufunc.h
Revision Date Author Comments
# 185aa8c9 01-Nov-2023 Mark Johnston <markj@FreeBSD.org>

arm: Update declarations for arm_dcache_align{,_mask}

Reported by: Jenkins
Fixes: 3d8f548b9e57 ("uma: Make the cache alignment mask unsigned")


# 95ee2897 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# a8926207 06-Jul-2023 Mitchell Horne <mhorne@FreeBSD.org>

Consistently provide ffs/fls using builtins

Use of compiler builtin ffs/ctz functions will result in optimized
instruction sequences when possible, and fall back to calling a function
provided by the compiler run-time library. We have slowly shifted our
platforms to take advantage of these builtins in 60645781d613 (arm64),
1c76d3a9fbef (arm), 9e319462a03a (powerpc, partial).

Some platforms still rely on the libkern implementations of these
functions provided by libkern, namely riscv, powerpc (ffs*, flsll), and
i386 (ffsll and flsll). These routines are slow, as they perform a
linear search for the bit in question. Even on platforms lacking
dedicated bit-search instructions, such as riscv, the compiler library
will provide better-optimized routines, e.g. by using binary search.

Consolidate all definitions of these functions (whether currently using
builtins or not) to libkern.h. This should result in equivalent or
better performing routines in all cases.

One wart in all of this is the existing HAVE_INLINE_F*** macros, which
we use in a few places to conditionally avoid the slow libkern routines.
These aren't easily removed in one commit. For now, provide these
defines unconditionally, but marked for removal after subsequent
cleanup.

Removal of the now unused libkern routines will follow in the next
commit.

Reviewed by: dougm, imp (previous version)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D40698


# cad703dc 14-Dec-2020 Michal Meloun <mmel@FreeBSD.org>

Remove unused functions and variables in cpufunc.[ch].


# 13a3f950 29-Nov-2020 Michal Meloun <mmel@FreeBSD.org>

Remove remaining fragments of code for older already ceased ARM versions.


# 5c2967f6 29-Nov-2020 Michal Meloun <mmel@FreeBSD.org>

Remove the pre-ARMv6 and pre-INTRNG code.
ARM has required ARMV6+ and INTRNg for some time now, so remove
always false #ifdefs and unconditionally do always true #ifdefs.


# 65454883 01-Sep-2020 Mateusz Guzik <mjg@FreeBSD.org>

arm: clean up empty lines in .c and .h files


# 1c76d3a9 28-May-2019 Doug Moore <dougm@FreeBSD.org>

Implement the ffs and fls functions, and their longer counterparts, in
cpufunc, in terms of __builtin_ffs and the like, for arm32 v6 and v7
architectures, and use those, rather than the simple libkern
implementations, in building arm32 kernels.

Reviewed by: manu
Approved by: kib, markj (mentors)
Tested by: iz-rpi03_hs-karlsruhe.de, mikael.urankar_gmail.com, ian
Differential Revision: https://reviews.freebsd.org/D20412


# 3f9baabd 14-Aug-2018 Andrew Turner <andrew@FreeBSD.org>

Remove cpu_pfr from arm. It's unused.


# cb5ce014 28-Jul-2018 Andrew Turner <andrew@FreeBSD.org>

Use the cp15 functions to read cp15 registers rather than using assembly
functions. The former are static inline functions so will compile to a
single instruction.


# 90e9f882 27-Jul-2018 Andrew Turner <andrew@FreeBSD.org>

Make the arm cpu setup functions static. Any other place that needs these
functions will use the function pointer we create for them.


# 0faf1213 27-Jul-2018 Andrew Turner <andrew@FreeBSD.org>

Remove old CPU_ values from the arm cpufunc code. These have been removed.


# c81b12e0 27-Jul-2018 Warner Losh <imp@FreeBSD.org>

Revert r336773: it removed too much.

r336773 removed all things xscale. However, some things xscale are
really armv5. Revert that entirely. A more modest removal will follow.

Noticed by: andrew@


# 626930c2 27-Jul-2018 Warner Losh <imp@FreeBSD.org>

Remove xscale support

The OLD XSCALE stuff hasn't been useful in a while. The original
committer (cognet@) was the only one that had boards for it. He's
blessed this removal. Newer XSCALE (GUMSTIX) is for hardware that's
quite old. After discussion on arm@, it was clear there was no support
for keeping it.

Differential Review: https://reviews.freebsd.org/D16313


# cc28ae04 18-Jul-2018 Michal Meloun <mmel@FreeBSD.org>

Remove the dead code from ARM cpufunc_* files.
The elf trampoline was never been supported for ARMv6 and ARMv7 and was
disconnected from kernel build many months ago.

MFC after: 2 weeks


# ff945277 17-Jul-2018 Warner Losh <imp@FreeBSD.org>

Remove kernel support for armeb

Remove all the big-endian arm architectures (ixp425 and ixp435)
support in the kernel and associated drivers.

Differential Revision: https://reviews.freebsd.org/D16257


# a9c91abd 06-Jul-2018 John Baldwin <jhb@FreeBSD.org>

Export a breakpoint() function to userland for arm and arm64.

Enable ptrace() tests using breakpoint() on these architectures.

Reviewed by: andrew
Differential Revision: https://reviews.freebsd.org/D15191


# af3dc4a7 27-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

sys/arm: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.


# 93a065e7 01-Feb-2017 Michal Meloun <mmel@FreeBSD.org>

Remake support for SMP kernel on UP cpu:
- Use new option SMP_ON_UP instead of (mis)using specific CPU type.
By this, any SMP kernel can be compiled with SMP_ON_UP support.
- Enable runtime detection of CPU multiprocessor extensions only
if SMP_ON_UP option is used. In other cases (pure SMP or UP),
statically compile only required variant.
- Don't leak multiprocessor instructions to UP kernel.
- Correctly handle data cache write back to point of unification.
DCCMVAU is supported on all armv7 cpus.
- For SMP_ON_UP kernels, detect proper TTB flags on runtime.

Differential Revision: https://reviews.freebsd.org/D9133


# 3b9a8982 16-Jan-2017 Ian Lepore <ian@FreeBSD.org>

Remove arm's cpuconf.h, and references to it, after moving a few lines from
it into pmap-v4.h where they are used. Other than those few lines of
support for different MMU types, nothing in cpuconf.h has been used in our
code for quite a while.

The file existed to set up a variety of symbols to describe the
architecture. Over the past few years we have converted all of our source
to use the new architecture symbols standardized by ARM Inc, and predefined
by both clang and gcc.

PR: 216104


# bf715082 25-Oct-2016 Andrew Turner <andrew@FreeBSD.org>

Remove armadaxp_idcache_wbinv_all, it's a static function in the ELF
trampoline and not used outside this.

Sponsored by: ABT Systems Ltd


# ff300d23 25-Oct-2016 Andrew Turner <andrew@FreeBSD.org>

Remove arm11x6_setttb and armv7_setttb as they are unused. While here
remove unneeded code from the ARMv7 cpu assembly code.

Sponsored by: ABT Systems Ltd


# 7cc70732 06-Oct-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: SEV/WFE instructions are implemented starting from ARMv6K,
use it directly.

MFC after: 1 week


# c5bf621b 05-Oct-2016 Andrew Turner <andrew@FreeBSD.org>

We don't use cpu_control on armv6, remove the macro there.


# 9567acca 04-Oct-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: Remove next bunch of unused cpu_functions from ARMv6.


# 1834282d 03-Oct-2016 Andrew Turner <andrew@FreeBSD.org>

Split CPU_CORTEXA into CPU_CORTEXA8, for the Cortex-A8, and CPU_CORTEXA_MP,
for later Cortex-A CPUs that support the Multiprocessor Extensions. This
will be needed to support both in a single GENERIC kernel while still
being able to only build for a single SoC.

Reviewed by: mmel
Relnotes: yes
Sponsored by: ABT Systems Ltd
Differential Revision: https://reviews.freebsd.org/D8138


# 0e484d95 03-Oct-2016 Andrew Turner <andrew@FreeBSD.org>

Remove unused functions on armv6. Some of the cache handling code is still
used in the elf trampoline so add a macro to handle this.

Sponsored by: ABT Systems Ltd


# 610d93d8 03-Oct-2016 Andrew Turner <andrew@FreeBSD.org>

Remove the parts of cpu_functions from armv6 that are unused on that
architecture.

Sponsored by: ABT Systems Ltd


# a89156f5 05-Feb-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: Use new ARMv6 naming conventions for cache and TLB functions
in all but ARMv4 specific files.
Expand ARMv6 compatibility stubs in cpu-v4.h. Use physical address
in L2 cache functions if ARM_L2_PIPT is defined.


# 0b5afe4a 03-Feb-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: Don't use ugly (and hidden) global variable, control register is
readable at any time.


# d1e8cd8a 03-Feb-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: Consistently use cpu_setttb() instead of setttb().
Remove unused #define for drain_writebuf.


# d397c7a0 03-Feb-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: Replace only once used cpu_icache_sync_all() by ranged equivalent.
Remove it from cpu_functions table.


# afdcfee4 03-Feb-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: Remove support for xscale i80219 and i80321 CPUs. We haven't single
supported config/board with these CPUs.


# e3f95afd 02-Feb-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: All remaining functions in cpufunc_asm_arm10.S are identical with
functions in cpufunc_asm_arm9.S. Use arm9 variants and remove
cpufunc_asm_arm10.S completly.


# fc4c15c4 02-Feb-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: Remove last unused function, cpu_flush_prefetchbuf(),
from cpu_functions table.


# 03fa312b 01-Feb-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: Remove never used cpu_tlb_flushI and cpu_tlb_flushI_SE() functions
and their implementations.


# bf488b9d 31-Jan-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: cpufunc_domains, cpufunc_faultstatus and cpufunc_faultaddress
functions are equal for all ARM variants. Remove them from cpu_functions
table.


# 0d875096 31-Jan-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: Next round of cpufunc.* cleaning. Nobody uses flush_brnchtgt* functions,
delete them.


# 24338d26 31-Jan-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: First round of cpufunc.* cleaning. All abort_fixup functions are
not currently used or defined. Delete them.


# eefa6312 30-Jan-2016 Michal Meloun <mmel@FreeBSD.org>

ARM: Remove TLB IPI.
We don't support SMP on ARMv6. All ARMv7 multicore cpus already uses
hardware broadcast for TLB and cache operations.


# ae47b5ec 14-Dec-2015 Michal Meloun <mmel@FreeBSD.org>

ARM: Remove outdated katelib.h.

Approved by: kib (mentor)


# 5fcbe89a 10-Nov-2015 Michal Meloun <mmel@FreeBSD.org>

ARM: Refactor interrupt_enable/disable/restore.
Allow manipulation with PSR_A bit on ARMv6+.
Remove declaration of unused functions.

This effectively enables asynchronous aborts on early bootstrap stage,
which previously was not enabled due to an error in enable_interrupts().

PR: 201434
Reported by: Gregory Soutade <soutade at gmail.com>
Approved by: kib (mentor)


# 4dbc0083 09-Nov-2015 Michal Meloun <mmel@FreeBSD.org>

ARM: Remove trailing whitespace from sys/arm/include
No functional changes.

Approved by: kib (mentor)


# 3f671972 14-May-2015 Ganbold Tsagaankhuu <ganbold@FreeBSD.org>

It appears to be armv7_sleep is a duplication of armv7_cpu_sleep.
For consistency with the naming conventions used by the other
implementations kill armv7_sleep and keep armv7_cpu_sleep.

Differential Revision: https://reviews.freebsd.org/D2537
Submitted by: John Wehle
Reviewed by: ian@, andrew@


# a3db11e0 30-Mar-2015 Andrew Turner <andrew@FreeBSD.org>

Remove support for CPU_XSCALE_80200. None of our configs support it, and
there wasn;t an option to enable it.

While here remove a check for CPU_ARM10 being defined as it has also been
removed.


# 303c8079 30-Mar-2015 Andrew Turner <andrew@FreeBSD.org>

Remove support for CPU_FA626TE. It's unused by any of our kernel configs.


# 37b25ee6 29-Mar-2015 Andrew Turner <andrew@FreeBSD.org>

pj4b_config and pj4bv7_setup are only used when CPU_MV_PJ4B is defined.


# 930798f3 29-Mar-2015 Andrew Turner <andrew@FreeBSD.org>

Remove arm1136 support. We don't have any configs that use it, and I don't
expect us to add support for any more arm11 SoCs.


# 9a25f3e8 29-Mar-2015 Andrew Turner <andrew@FreeBSD.org>

Remove the bootconfig parsing. We never used it and always passed either an
empty string or NULL to the setup functions that called into it.


# 65328620 29-Mar-2015 Andrew Turner <andrew@FreeBSD.org>

Remove unused cpufunc arm11 and armv6 code. While here only define the
remaining functions in the context we use them in.


# c0fde778 29-Mar-2015 Andrew Turner <andrew@FreeBSD.org>

Remove unused arm10_* functions. The remaining functions are only used in
mv configs.


# 7a959e49 29-Mar-2015 Andrew Turner <andrew@FreeBSD.org>

Remove support for CPU_ARM10. No kernel configs could possibly use this as
it's not an available option. Along with this we will never support this
cpu type as very few arm10 chips were made.


# fcb56067 10-Feb-2015 George V. Neville-Neil <gnn@FreeBSD.org>

Initial version of DTrace on ARM32.

Submitted by: Howard Su based on work by Oleksandr Tymoshenko
Reviewed by: ian, andrew, rpaulo, markj


# 8d59f6c4 28-Dec-2014 Ian Lepore <ian@FreeBSD.org>

Eliminate an unused macro whose name clashes now with a function in the
new cpu-v6.h. This should have been part of r276334.


# 1e17cf74 25-May-2014 Zbigniew Bodek <zbb@FreeBSD.org>

Delete obsolete and unused PJ4B CPU functions

Since PJ4Bv7 uses armv7_ CPU functions only pj4b_config
function is necessary. Remove obsolete routines.


# b07d0cbc 10-May-2014 Ian Lepore <ian@FreeBSD.org>

Add cpu_l2cache_drain_writebuf(), use it to implement generic_bs_barrier().

On modern ARM SoCs the L2 cache controller sits between the CPU and the
AXI bus, and most on-chip memory-mapped devices are on the AXI bus. We
map the device registers using the 'Device' memory attribute, which means
the memory is not cached, but writes to it are buffered. Ensuring that a
write has made it all the way to a device may require that the L2
controller take some action.

There is currently only one implementation of the new function, for the
PL310 cache controller. It invokes a function that the controller
manual calls "cache sync" but it actually has nothing to do with cache at
all, it triggers a drain of all pending store buffer writes and it blocks
until they complete.

The sheeva and xscale L2 controllers (which predate the concept of Device
memory) don't seem to have a corresponding function. It appears that the
standard armv5 drain_writebuf function includes draining all the way
through the L2 controller.


# 457e64a0 29-Apr-2014 Ian Lepore <ian@FreeBSD.org>

Make this declaration into a proper function prototype.


# 91c65006 26-Apr-2014 Ian Lepore <ian@FreeBSD.org>

Provide a proper armv7 implementation of icache_sync_all rather than
using armv7_idcache_wbinv_all, because wbinv_all doesn't broadcast the
operation to other cores. In elf_cpu_load_file() use icache_sync_all()
and explain why it's needed (and why other sync operations aren't).

As part of doing this, all callers of cpu_icache_sync_all() were
inspected to ensure they weren't relying on the old side effect of
doing a wbinv_all along with the icache work.


# a2970289 09-Mar-2014 Ian Lepore <ian@FreeBSD.org>

Remove all traces of support for ARM chips prior to the arm9 series. We
never actually ran on these chips (other than using SA1 support in an
emulator to do the early porting to FreeBSD long long ago). The clutter
and complexity of some of this code keeps getting in the way of other
maintenance, so it's time to go.


# 6afdadfd 27-Feb-2014 Ian Lepore <ian@FreeBSD.org>

Add an armv7 implementation of cpu_sleep(). The arm11/armv6 implementation
we've been using was actually just spinning due to ARM having redefined
the old 'wait for interrupt' operation via the system coprocessor as a nop
and replacing it with a WFI instruction.


# 4b7fcd31 23-Feb-2014 Ian Lepore <ian@FreeBSD.org>

Add a new cache maintenance function, idcache_inv_all, to the table, and
implementations for each of the chips we support. Most chips up through
armv6 can use the armv4 implementation which has a single coprocessor
opcode for this operation. The rather more complex armv7 implementation
comes from netbsd.


# 543c9e95 19-Dec-2013 Ganbold Tsagaankhuu <ganbold@FreeBSD.org>

Add identification and necessary type checks for Krait CPU cores. Krait CPU is used in
Qualcomm Snapdragon S4 and Snapdragon 400/600/800 SoCs and has architectural
similarities to ARM Cortex-A15. As for development boards IFC6400 series embedded
boards from Inforce Computing uses Snapdragon S4 Pro/APQ8064.

Approved by: stas (mentor)


# 2923b75e 28-Oct-2013 Zbigniew Bodek <zbb@FreeBSD.org>

Switch off explicit broadcasting of the TLB flush operations for PJ4B CPU

Since CPU_MV_PJ4B describes ARMv7 compliant CPU there is no need for
sending an IPI each time when TLB is flushed in any way.

Tested by: kevlo


# e0b4b3a7 28-Oct-2013 Zbigniew Bodek <zbb@FreeBSD.org>

Remove not working and deprecated PJ4Bv6 support

Sheeva PJ4Bv6 - based chips were only prototypes for V7 class Armada
SoC family. Current in-tree support for PJ4Bv6 will not work and also
there should be no platforms in active use that would incorporate that
CPU revision.


# c5f8f894 19-Dec-2012 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

Replace generic ARM11 option with more specific
support for ARM1136 and ARM1176

Submitted by: Daisuke Aoyama <aoyama at peach.ne.jp>
Obtained from: NetBSD


# dfad9244 26-Nov-2012 Marcel Moolenaar <marcel@FreeBSD.org>

Don't define intr_disable and intr_restore as macros. The macros
interfere with structure fields of the same name in drivers, like
the intr_disable function pointer in struct cphy_ops in cxgb(4).
Instead define intr_disable and intr_restore as inline functions.

With intr_disable() an inline function, the I32_bit and F32_bit
macros now need to be visible in MI code and given the rather
poor names, this is not at all good. Define ARM_CPSR_F32 and
ARM_CPSR_I32 and use that instead of F32_bit and I32_bit (resp)
for now.


# 8f2a36c0 25-Aug-2012 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

Add support for ARM11 cpufunc

Obtained from: NetBSD (partially)


# cf1a573f 14-Aug-2012 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

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


# ee5cac8a 12-Jun-2012 Warner Losh <imp@FreeBSD.org>

trim trailing whitespace


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# cfa892b5 18-Sep-2010 Alexander Motin <mav@FreeBSD.org>

Add basic cpu_sleep() support for Marvell SoCs. This drops my SheevaPlug's
heatsink termperature in open air from 49C to 43C when idle.


# 64c68f1c 04-May-2010 Kevin Lo <kevlo@FreeBSD.org>

Add support for FA626TE.
Tested on GM8181 development board.


# 381a19cc 03-Jan-2010 Rui Paulo <rpaulo@FreeBSD.org>

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/...


# 1ee5b3b4 09-Jan-2009 Rafal Jaworowski <raj@FreeBSD.org>

Fix confusing naming of Marvell ARM CPU specific routines.

- The contents of 'feroceon_cpufuncs' dispatch table was really dedicated for the
new Sheeva CPU (in 88F6xxx and MV-78xxx SOCs), and NOT Feroceon.

- Feroceon CPU (in 88F5xxx SOCs) appears as a regular ARM926EJ-S core and does
not require dedicated routines.

This will be accompanied by a file rename commit.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# ba6faad6 13-Oct-2008 Rafal Jaworowski <raj@FreeBSD.org>

Introduce low-level support for new Marvell core CPUs: 88FR131, 88FR571.

They are compliant with ARMv5TE and integrated on 88F6281 (Kirkwood) and
MV78100 (Discovery) system-on-chip families.

Obtained from: Marvell, Semihalf


# 63b25978 17-Oct-2007 Warner Losh <imp@FreeBSD.org>

Merge support from p4 (from NetBSD) for arm9e and arm10, arm11 cores. Not
yet connected to the build, but reduces diffs to p4 repo.

Obtained from: NetBSD


# 425b5be3 27-Jul-2007 Olivier Houchard <cognet@FreeBSD.org>

Add a new set of functions to handle L2 cache. Make them no-op for every
CPU except Xscale core 3.

Approved by: re (blanket)


# 4eaa43e6 20-Mar-2007 Kevin Lo <kevlo@FreeBSD.org>

Remove __P


# 676b1fbd 07-Nov-2006 Olivier Houchard <cognet@FreeBSD.org>

Identify the xscale 81342.


# 11d1528c 24-Aug-2006 Olivier Houchard <cognet@FreeBSD.org>

Finally bring it support for the i80219 XScale processor.

Submitted by: Max M. Boyarov <m.boyarov bsd by>


# 27b45ae8 01-Jun-2006 Olivier Houchard <cognet@FreeBSD.org>

Don't enable the FIQ in enable_interrupts() if F32_bit is not specified.
This has been committed by mistake.

Reported by: ssouhlal


# 094df973 03-Jun-2005 Olivier Houchard <cognet@FreeBSD.org>

Bring in bits I forgot while importing write back support for arm9.


# d8315c79 05-Jan-2005 Warner Losh <imp@FreeBSD.org>

Start all license statements with /*-


# 3488a2f7 20-Nov-2004 Olivier Houchard <cognet@FreeBSD.org>

Implement enough to be able to enter and leave DDB.


# 24e01b0c 04-Nov-2004 Olivier Houchard <cognet@FreeBSD.org>

Use interrupts_disable() and interrupts_restore() as intr_disable() and
intr_restore() instead of re-implement it.


# be687a0d 20-Jul-2004 Olivier Houchard <cognet@FreeBSD.org>

Nuke disable_intr() and enable_intr(), as it already exists elsewhere.


# 4628245b 12-Jul-2004 Olivier Houchard <cognet@FreeBSD.org>

Implement a stub breakpoint().


# 6fc729af 14-May-2004 Olivier Houchard <cognet@FreeBSD.org>

Import FreeBSD/arm kernel bits.
It only supports sa1110 (on simics) right now, but xscale support should come
soon.
Some of the initial work has been provided by :
Stephane Potvin <sepotvin at videotron.ca>
Most of this comes from NetBSD.