# HG changeset patch # User cslag # Date 1450174797 -3600 # Node ID 645307d37731f822d96f3153651505ed53af3d16 # Parent 8449fa6dabc784505862c4b0aff346ce30aa0051 - started section for armhf in doc diff -r 8449fa6dabc7 -r 645307d37731 ToDo --- a/ToDo Fri Nov 27 01:18:22 2015 +0100 +++ b/ToDo Tue Dec 15 11:19:57 2015 +0100 @@ -16,7 +16,7 @@ - fix Minix/x86 callbacks (see callback_suite) - fix Linux/rpi callbacks (call_suite) - armhf callback support -- armhf ellipsis suppor +- armhf ellipsis support - armhf callconv manual entry - add portable "make install" - support Solaris11 CFLAGS with -D_FILE_OFFSET_BITS=64 diff -r 8449fa6dabc7 -r 645307d37731 doc/manual/callconvs/callconv_arm32.tex --- a/doc/manual/callconvs/callconv_arm32.tex Fri Nov 27 01:18:22 2015 +0100 +++ b/doc/manual/callconvs/callconv_arm32.tex Tue Dec 15 11:19:57 2015 +0100 @@ -288,17 +288,40 @@ \item R9 is scratch since iOS 3.0, was preserved before. \end{itemize} + +\subsubsection{ARM hard float (armhf)} + + +Most debian-based Linux systems on ARMv7 platforms use a calling convention referred to as armhf, using +16 64-bit floating point registers of the FPU of the VFPv3-D16 extension to the ARM architecture. Code +is using the Thumb-2 instruction set. + +\paragraph{Register usage} + +\begin{table}[h] +\begin{tabular}{3 B} +\hline +Name & Brief description\\ +\hline +... tbd +\hline +\end{tabular} +\caption{Register usage on armhf} +\end{table} + + \subsubsection{Architectures} The ARM architecture family contains several revisions with capabilities and -extensions (such as thumb-interworking and more vector registers) -The following table summaries important properties of the various -architecture standards. +extensions (such as thumb-interworking, more vector registers, ...) +The following table sums up the most important properties of the various +architecture standards, from a calling convention perspective. % iPhone 3GS : ARM Cortex-A8 % Nintendo DS: ARM 7 and ARM 9 % ARM 7: ARMv4T % ARM 9: ARMv4T, HTC Wizard +% Cortex-*: ARMv7, Raspberry Pi 2, ... \begin{table}[h] \begin{tabular}{lll} @@ -308,11 +331,13 @@ \hline ARMv4T & ARM 7, ARM 9, Neo FreeRunner (OpenMoko) & \\ \hline -ARMv5 & & BLX instruction available \\ +ARMv5 & ARM 9E & BLX instruction available \\ \hline ARMv6 & & No vector registers available in thumb \\ \hline -ARMv7 & iPod touch, iPhone 3GS/4 & \\ +ARMv7 & iPod touch, iPhone 3GS/4, Raspberry Pi 2 & VFP throughout available, armhf calling convention on some platforms \\ +\hline +ARMv8 & iPhone 6 and higher & 64bit support \\ \hline \end{tabular} \caption{Overview of ARM Architecture, Platforms and Details}