#
639a626b |
|
08-Jan-2024 |
Andrew Turner <andrew@FreeBSD.org> |
arm: Clean up socdev_va Support socdev_va on arm and ensure the variable is available on arm64. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43359
|
#
71625ec9 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c comment pattern Remove /^/[*/]\s*\$FreeBSD\$.*\n/
|
#
cad703dc |
|
14-Dec-2020 |
Michal Meloun <mmel@FreeBSD.org> |
Remove unused functions and variables in cpufunc.[ch].
|
#
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.
|
#
a28c28e6 |
|
18-Nov-2020 |
Mark Johnston <markj@FreeBSD.org> |
Remove NO_EVENTTIMERS support The arm configs that required it have been removed from the tree. Removing this option makes the callout code easier to read and discourages developers from adding new configs without eventtimer drivers. Reviewed by: ian, imp, mav Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D27270
|
#
e214f286 |
|
05-Dec-2019 |
Ian Lepore <ian@FreeBSD.org> |
Declare the global kernel symbols created by ldscript.arm in arm's machdep.h, and remove a couple scattered local declarations. Most of these aren't referenced in C code (there are some references in asm code), and they also aren't documented anywhere. This helps a bit with the latter.
|
#
a86d7982 |
|
15-Oct-2017 |
Michal Meloun <mmel@FreeBSD.org> |
Save VFP state in getcontext(3) on ARM. This is a last followup of r315974, which fixes userland part of VFP save/restore problems described in PR 217611. PR: 217611 MFC after: 2 weeks
|
#
9ce763a0 |
|
07-Jul-2017 |
Andrew Turner <andrew@FreeBSD.org> |
Remove the MULTIDELAY option from arm. It's now enabled when PLATFORM is enabled.
|
#
ffeeb2ab |
|
11-Mar-2017 |
Michal Meloun <mmel@FreeBSD.org> |
Split overbloated machep.c to multiple files and do basic cleanup of these fragments.
|
#
a66dc0c5 |
|
25-May-2016 |
Ian Lepore <ian@FreeBSD.org> |
Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't have ACLE support built in. The ACLE (ARM C Language Extensions) defines a set of standardized symbols which indicate the architecture version and features available. ACLE support is built in to modern compilers (both clang and gcc), but absent from gcc prior to 4.4. ARM (the company) provides the acle-compat.h header file to define the right symbols for older versions of gcc. Basically, acle-compat.h does for arm about the same thing cdefs.h does for freebsd: defines standardized macros that work no matter which compiler you use. If ARM hadn't provided this file we would have ended up with a big #ifdef __arm__ section in cdefs.h with our own compatibility shims. Remove #include <machine/acle-compat.h> from the zillion other places (an ever-growing list) that it appears. Since style(9) requires sys/types.h or sys/param.h early in the include list, and both of those lead to including cdefs.h, only a couple special cases still need to include acle-compat.h directly. Loves it: imp
|
#
cca48a59 |
|
30-Apr-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Add a MULTIDELAY option to allow the ARM kernel to have multiple DELAY implementations. Early in the boot the kernel will use an approximate, however after the timer has been probed it will switch to a more accurate implementation. Reviewed by: manu Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D5762
|
#
fda16d46 |
|
26-Mar-2016 |
Michal Meloun <mmel@FreeBSD.org> |
ARM: Teach LINUX_BOOT_ABI to recognize DT blob. This allow us to boot FreeBSD kernel (using uImage encapsulation) directly from U-boot using 'bootm' command or by Android fastboot loader. For now, kernel uImage must be marked as Linux, but we can add support for FreeBSD into U-Boot later.
|
#
41a7c569 |
|
29-Jan-2016 |
Michal Meloun <mmel@FreeBSD.org> |
ARM: remove old pmap-v6 code. The new pmap-v6 is mature enough, and dual implementation is showstopper for major cleanup. This patch only removes old code from tree. Cleanups will follow asap.
|
#
232e189a |
|
02-Nov-2015 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Add support for branch instruction on armv7 with ptrace single step Previous code supported only "continuous" code without any kind of branch instructions. To change that, new function was implemented which parses current instruction and returns an addres where the jump might happen (alternative addr). mdthread structure was extended to support two breakpoints (one directly below current instruction and the second placed at the alternative location). One of them must trigger regardless the instruction has or has not been executed due to condition field. Upon cleanup, both software breakpoints are removed. This implementation parses only the most common instructions that are present in the code (like 99.99% of all), but there is a chance there are some left, not covered by the parsing routine. Parsing is done only for 32-bit instruction, no Thumb nor Thumb-2 support is provided. Reviewed by: kib Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: Juniper Networks Inc. Differential Revision: https://reviews.freebsd.org/D4021
|
#
84233ddb |
|
26-Mar-2015 |
Ian Lepore <ian@FreeBSD.org> |
New pmap code for armv6. Disabled by default, option ARM_NEW_PMAP enables it. This is pretty much a complete rewrite based on the existing i386 code. The patches have been circulating for a couple years and have been looked at by plenty of people, but I'm not putting anybody on the hook as having reviewed this in any formal sense except myself. After this has gotten wider testing from the user community, ARM_NEW_PMAP will become the default and various dregs of the old pmap code will be removed. Submitted by: Svatopluk Kraus <onwahe@gmail.com>, Michal Meloun <meloun@miracle.cz>
|
#
26659812 |
|
25-Dec-2014 |
Ian Lepore <ian@FreeBSD.org> |
For data and instruction prefetch aborts, call the same handler in the C code, passing a 0/1 flag that indicates which type of abort it was. This sets the stage for unifying the handling of page faults in a single routine. Submitted by: Svatopluk Kraus <onwahe@gmail.com>, Michal Meloun <meloun@miracle.cz
|
#
27521ff8 |
|
17-May-2014 |
Andrew Turner <andrew@FreeBSD.org> |
Add the start of the ARM platform code. This is based on the PowerPC platform code, it is expected these will be merged in the future when the ARM code is more complete. Until more boards can be tested only use this with the Raspberry Pi and rrename the functions on the other SoCs. Reviewed by: ian@
|
#
f0455d65 |
|
26-Feb-2014 |
Ian Lepore <ian@FreeBSD.org> |
Replace many pasted identical definitions of cpu_initclocks() with a common implementation in arm/machdep.c. Most arm platforms either don't need to do anything, or just need to call the standard eventtimer init routines. A generic implementation that does that is now provided via weak linkage. Any platform that needs to do something different can provide a its own implementation to override the generic one.
|
#
5698bf8c |
|
08-Feb-2014 |
Ian Lepore <ian@FreeBSD.org> |
Consolidate code related to setting up physical memory configuration into a new physmem.c file. The new code provides helper routines that can be used by legacy SoCs and newer FDT-based systems. There are routines to add one or more regions of physically contiguous ram, and exclude one or more physically contiguous regions of ram. Ram can be excluded from crash dumps, from being given over to the vm system for allocation management, or both. After all the included and excluded regions have been added, arm_physmem_init_kernel_globals() processes the regions into the global dump_avail and phys_avail arrays and realmem and physmem variables that communicate memory configuration to the rest of the kernel. Convert all existing SoCs to use the new helper code.
|
#
9e4ed330 |
|
06-Feb-2014 |
Andrew Turner <andrew@FreeBSD.org> |
Use abp_physaddr for the physical address over KERNPHYSADDR. This helps us remove the need to load the kernel at a fixed address.
|
#
70270171 |
|
24-Nov-2013 |
Gavin Atkinson <gavin@FreeBSD.org> |
platform_devmap_init() was renamed initarm_devmap_init() in r257669, update comments to match.
|
#
515cbe86 |
|
04-Nov-2013 |
Ian Lepore <ian@FreeBSD.org> |
Call initarm_lastaddr() later in the init sequence, after establishing static device mappings, rather than as the first of the initializations that a platform can hook into. This allows a platform to allocate KVA from the top of the address space downwards for things like static device mapping, and return the final "last usable address" result after that and other early init work is done. Because some platforms were doing work in initarm_lastaddr() that needs to be done early, add a new initarm_early_init() routine and move the early init code to that routine on those platforms. Rename platform_devmap_init() to initarm_devmap_init() to match all the other init routines called from initarm() that are designed to be implemented by platform code. Add a comment block that explains when these routines are called and the type of work expected to be done in each of them.
|
#
3110e7ee |
|
04-Nov-2013 |
Ian Lepore <ian@FreeBSD.org> |
Move remaining code and data related to static device mapping into the new devmap.[ch] files. Emphasize the MD nature of these things by using the prefix arm_devmap_ on the function and type names (already a few of these things found their way into MI code, hopefully it will be harder to do by accident in the future).
|
#
fce4536c |
|
29-Mar-2013 |
Ian Lepore <ian@FreeBSD.org> |
Add a couple forward declarations, so that board support routines don't have to pre-include a bunch of header files they don't need just to use this one.
|
#
e57c66d5 |
|
05-Jan-2013 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add hw.board.serial and hw.board.revision for exporting board-specific info
|
#
7bf9ab53 |
|
03-Nov-2012 |
Andrew Turner <andrew@FreeBSD.org> |
Merge the FDT versions of initarm. The copies of initarm used on platforms with FDT support were almost identical. The differences were pulled out into separate functions that were called by initarm. This change merges the, now identical, copies of initarm and a few of it's support functions. This is a step towards a common kernel on ARMv6.
|
#
1f008b99 |
|
22-Sep-2012 |
Andrew Turner <andrew@FreeBSD.org> |
Pull out the SoC specific parts of initarm into separate functions
|
#
11612982 |
|
22-Sep-2012 |
Andrew Turner <andrew@FreeBSD.org> |
Create a common set_stackptrs in sys/arm/machdep.c. On single core devices set_stackptrs is only ever called with cpu = 0 in initarm and will be identical to the existing function. On SMP this needs to be implemented for sys/arm/mp_machdep.c, but the implementations are identical for each SoC.
|
#
3590dad0 |
|
13-Jun-2012 |
Warner Losh <imp@FreeBSD.org> |
More Linux boot support. Create arm_dump_avail_init() to initialize this array either from Linux boot data, when enabled, or in the typical way that most ports do it. arm_pyhs_avail_init is coming soon since it must be a separate function.
|
#
38ac33aa |
|
13-Jun-2012 |
Warner Losh <imp@FreeBSD.org> |
Add support for parsing Linux ATAGs such as you'd see from uboot or redboot. Support is very preiminary and likely needs some work. Also, do some minor code shuffling of the FreeBSD /boot/loader metadata parsing code. This code is preliminary and should be used with caution.
|
#
0bb13a26 |
|
13-Jun-2012 |
Warner Losh <imp@FreeBSD.org> |
Create default_parse_boot_param which, if FreeBSD /boot/loader support is enabled, sets values based on the metadata passed in. Otherwise fake_preload_metadata is called. Change the default parse_boot_param to default_parse_boot_param. Enable this functionality only on the mv platform, which is where most of the code is from. Reviewed by: cognet, Ian Lapore
|
#
d39655d7 |
|
13-Jun-2012 |
Warner Losh <imp@FreeBSD.org> |
Modify all the arm platform files to call parse_boot_param passing in the boot parameters from initarm first thing. parse_boot_param parses the boot arguments and converts them to the /boot/loader metadata the rest of the kernel uses. parse_boot_param is a weak alias to fake_preload_metadata, which all the platforms use now, but may become more extensive in the future. Since it is a weak symbol, specific boards may define their own parse_boot_param to interface to custom boot loaders. Reviewed by: cognet@, Ian Lapore
|
#
4ea15b87 |
|
09-Jun-2012 |
Andrew Turner <andrew@FreeBSD.org> |
Pull out the common code to initialise proc0 & thread0 from initarm to a common function. Reviewed by: imp
|
#
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.
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
aa037d58 |
|
03-Apr-2008 |
Warner Losh <imp@FreeBSD.org> |
Take the first baby step towards unifying and cleaning up arminit(): - Pull all the code to deal with the trampoline stuff into one centeralized place and use it from everywhere. - Some minor style tidiness Reviewed by: tinguely
|
#
f4c01f15 |
|
26-Feb-2005 |
Olivier Houchard <cognet@FreeBSD.org> |
Instead of using sysarch() to store-retrieve the tp, add a magic address, ARM_TP_ADDRESS, where the tp will be stored. On CPUs that support it, a cache line will be allocated and locked for this address, so that it will never go to RAM. On CPUs that does not, a page is allocated for it (it will be a bit slower, and is wrong for SMP, but should be fine for UP). The tp is still stored in the mdthread struct, and at each context switch, ARM_TP_ADDRESS gets updated. Suggested by: davidxu
|
#
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.
|