56 Commits

Author SHA1 Message Date
Ed Maste
984f2f3bf0 arch.7: update to show mips* and sparc64 use external GCC after r356367 2020-01-05 03:07:59 +00:00
John Baldwin
2e4b206f90 Some minor tweaks to arch(7).
- Drop mention of _LP64.  FreeBSD's source generally uses __LP64__
  instead of _LP64, and the relevant macros are better covered in the
  "Predefined Macros" section.
- Fix a noun/verb disagreement.

Reviewed by:	emaste
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D22975
2020-01-02 16:27:15 +00:00
Warner Losh
bad7e1e85c Remove MACHINE_ARCH arm where appropriate from the tables to reflect armv5's
retirement.
2020-01-02 03:25:37 +00:00
John Baldwin
15d641f076 Formatting fixes for tables, no content changes.
- Add missing .Pp after the end of some lists so that there is a blank
  line before the subsequent paragraph.
- Use a more typical '-tag' bullet list of the make variable descriptions
  at the end.  This adds separation between bullets and is the formatting
  typically used in manpages for this sort of list.
2019-12-30 22:05:57 +00:00
Justin Hibbits
678da4a274 Use LLVM as default toolchain for all PowerPC targets
This enables LLVM as the default compiler for powerpc, powerpc64, and
powerpcspe, as well as LLD as the default linker for powerpc64.

LLD is not yet ready for prime time for powerpc and powerpcspe, but work is
continuing on it.

Submitted by:	alfredo.junior_eldorado.org.br
Relnotes:	YES
Differential Revision:	https://reviews.freebsd.org/D20378
2019-12-27 03:54:27 +00:00
Ian Lepore
fcfe2d6633 Fix a trivial typo and add a missing word. 2019-12-05 04:18:22 +00:00
Ed Maste
8b3c5418f4 arch.7: document only FreeBSD 11.0 and later
FreeBSD 11 is the earliest supported version and there is no longer a
need to include information about differences present in earlier
releases.
2019-11-21 14:23:16 +00:00
Warner Losh
c81e4a699b Include MACHINE in the which variable selection to use section. 2019-11-21 06:48:30 +00:00
Warner Losh
7b692b8e0f Add table for MACHINE_CPUARCH
Add table and also some additional verbage of which one to use.
2019-11-21 06:44:19 +00:00
Ed Maste
4940bf264a arch.7: claim 12.x as the last architecture with sparc64 support
GCC 4.2.1 is being removed before FreeBSD 13, as are some other
components required by FreeBSD/sparc64.  Contemporary GCC does not build
and there is currently no indication that anyone is going to address
these issues.

PR:		228919, 233405, 236839, 239851
2019-11-07 19:37:26 +00:00
Ed Maste
78c12e766d arch.7: armv6 uses lld by default as of r354289 2019-11-07 14:14:51 +00:00
Olivier Houchard
14601230a1 Document that aarch64 can now run armv6/armv7 binaries, but won't however
run armv5 binaries.
2019-10-11 13:34:09 +00:00
Warner Losh
5bc9524c7d Add note about universe changes to arch and the need to add
MAKE_OBSOLETE_GCC to get old behavior on universe.
2019-10-09 21:45:40 +00:00
Ed Maste
2fe25d1638 arch.7: indicate expectation that arm (i.e., v5) will be removed before 13.0
MFC after:	1 week
2019-08-16 14:06:04 +00:00
Ed Maste
c06ccdd2ba arch.7: be explicit about the future for unmigrated GCC 4.2.1 archs
Reported by:	imp
MFC after:	1 week
MFC with:	r351036
2019-08-15 02:14:44 +00:00
Ed Maste
4ef280656c arch.7: clarify that the table shows the default tool chain
Reported by:	jhb
MFC after:	1 week
MFC with:	r351035
Sponsored by:	The FreeBSD Foundation
2019-08-14 17:17:52 +00:00
Ed Maste
ff03c71275 arch.7: add deprecation notice for GCC 4.2.1
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2019-08-14 17:13:36 +00:00
Ed Maste
4715c31e3e arch.7: add tool chain table
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2019-08-14 17:04:28 +00:00
Ed Maste
1f3de6dce9 arch.7: update final ia64 release to 10.4
No more 10.x releases are planned.
2018-10-23 13:03:24 +00:00
Ed Maste
2af3ea6bc1 arch.7: first appeared in FreeBSD 11.1 2018-10-22 18:41:22 +00:00
Ian Lepore
f38b2297a3 Document 64-bit arm in terms of arch name (aarch64) not machine (arm64).
Other architectures are documented in terms of the name that is displayed by
'uname -p', aka MACHINE_ARCH and TARGET_ARCH in the build system, now
aarch64 matches the rest of them.

PR:		220297
2018-08-05 22:24:38 +00:00
Ed Maste
83722abcb6 arch.7: fix whitespace from r336435
Previously armeb's Final Release rendered as 'Ta 11.x'.

Sponsored by:	The FreeBSD Foundation
2018-07-23 21:09:57 +00:00
Ed Maste
f84d8f0ce5 arch.7: Clarify architecture-specific macro use
Compilers may define multiple variants of architecture-specific macros
(for example, both __x86_64 and __x86_64__).  Add a note that the macros
documented in arch.7 are the preferred ones for FreeBSD.

Sponsored by:	The FreeBSD Foundation
2018-07-23 19:39:20 +00:00
Warner Losh
e9d6b13d25 Remove armeb from arch.7
Remove all the details about armeb from arch(7), except for its
release start and end, like alpha, ia64 and pc98.

Differential Revision:  https://reviews.freebsd.org/D16257
2018-07-17 23:23:39 +00:00
John Baldwin
d56b465cd5 Fix a typo. 2018-02-05 23:29:50 +00:00
Warner Losh
1f0e303c47 Bump .Dd 2018-01-31 23:16:54 +00:00
Warner Losh
13368c3830 Add the new armv7 architecture. 2018-01-31 23:16:19 +00:00
Warner Losh
320bd864aa Use better wording: change there to the and define to defines.
Also fix a run-a-way macro invocation of Dv.

Noticed by: matteo@
2017-11-16 00:19:44 +00:00
Warner Losh
098150fb90 Fix some formatting issues, bump .Dd to today's date, don't use
contractions, and make igor almost happy with this (two issues are
false positives, and I'm not sure a synopsis makes sense).

Sponsored by: Netflix
2017-11-15 23:51:17 +00:00
Warner Losh
12497aa5be Replace Fx's with 'the' since expanding FreeBSD here didn't seem quite
right.

Sponsored by: Netflix
2017-11-15 15:02:45 +00:00
Warner Losh
bf1dea9b13 Reword a bit for clarity.
Sponsored by: Netflix
2017-11-15 15:00:02 +00:00
Warner Losh
ffab3cb640 Add note about where to use MACHINE (just src/stand and src/sys and a
few others). Add note aboute MACHINE_CPUARCH.

Sponsored by: Netflix
2017-11-15 00:06:18 +00:00
Warner Losh
691e6ea877 Document MACHINE, MACHINE_ARCH, CPUTYPE, TARGET and TARGET_ARCH
historical use and general philosphy.

Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D12981
2017-11-13 00:32:44 +00:00
Ed Maste
49ccd3fe61 arch.7: correct statement about time_t size
After r320347 it is 64-bit on every architecture except i386.

Sponsored by:	The FreeBSD Foundation
2017-10-04 14:39:55 +00:00
Ruslan Bukin
ca20f8ec29 o Replace __riscv__ with __riscv
o Replace __riscv64 with (__riscv && __riscv_xlen == 64)

This is required to support new GCC 7.1 compiler.
This is compatible with current GCC 6.1 compiler.

RISC-V is extensible ISA and the idea here is to have built-in define
per each extension, so together with __riscv we will have some subset
of these as well (depending on -march string passed to compiler):

__riscv_compressed
__riscv_atomic
__riscv_mul
__riscv_div
__riscv_muldiv
__riscv_fdiv
__riscv_fsqrt
__riscv_float_abi_soft
__riscv_float_abi_single
__riscv_float_abi_double
__riscv_cmodel_medlow
__riscv_cmodel_medany
__riscv_cmodel_pic
__riscv_xlen

Reviewed by:	ngie
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D11901
2017-08-07 14:09:57 +00:00
Justin Hibbits
fbcf7bcdf4 Solve the y2038 problem for powerpc
AKA Make time_t 64 bits on powerpc(32).

PowerPC currently (until now) was one of two architectures with a 32-bit time_t
on 32-bit archs (the other being i386).  This is an ABI breakage, so all ports,
and all local binaries, *must* be recompiled.

Tested by:	andreast, others
MFC after:	Never
Relnotes:	Yes
2017-06-26 02:25:19 +00:00
John Baldwin
04794d246a Note that the first release of FreeBSD/alpha was 3.2.
Alpha is explicitly mentioned in the release announcements beginning with
3.2.
2017-05-16 23:15:40 +00:00
Ed Maste
7fb14275b5 arch(7): correct initial versions for alpha and pc98
Submitted by:	imp
2017-05-08 14:17:10 +00:00
Konstantin Belousov
7748ab43a3 Grammar fixes.
Noted by:	bde
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2017-05-05 18:36:41 +00:00
Konstantin Belousov
25b526e626 Define the scope and purpose of the page.
Submitted by:	emaste
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2017-05-05 18:21:33 +00:00
Konstantin Belousov
e6c0d5c360 Fix some grammar, fix some markup, bump copyright year, provide more
exact claims in some cases.

Discussed with:	bde (most parts)
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2017-05-05 17:23:57 +00:00
Ed Maste
45801499b2 arch(7): add a table of per-arch initial/final FreeBSD version
Reviewed by:	kib, wblock
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D10573
2017-05-05 16:40:45 +00:00
Konstantin Belousov
de6fc2729e Provide introduction for the arch(7) manpage.
Start with some words about linear address space and its layout, then
explain pointers models and ABIs, providing explanation to the
structure of the tables.

Reviewed by:	emaste, imp
'Future-proof' cheri wording by:	brooks
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D10596
2017-05-04 21:31:50 +00:00
Konstantin Belousov
dddb157699 Avoid wrapping of the machine-dependent type sizes table, by removing
non-informational sizeof() expressions.  Add some explanatory and
summary sentences.

Noted by:	bde
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2017-05-04 11:57:52 +00:00
John Baldwin
4dd67957a8 Replace 'riscv' with the RISC-V targets 'riscv64' and 'riscv64sf'. 2017-05-03 16:55:02 +00:00
Justin Hibbits
002cc1f914 Add powerpcspe to arch(7)
Reviewed by:	emaste
2017-05-02 21:33:27 +00:00
Konstantin Belousov
6554316cdc Document time_t size.
Reviewed by:	emaste, imp, vangyzen
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D10568
2017-05-02 14:52:35 +00:00
Kevin Lo
cb8c6df463 Mention softfloat and hardfloat supports for RISC-V.
Reviewed by:	br
2017-01-21 07:07:50 +00:00
Ruslan Bukin
2ad1d09f16 o Add support for long double.
o Add support for latest RISC-V GNU toolchain.

Sponsored by:	DARPA, AFRL
Sponsored by:	HEIF5
2016-11-03 13:06:17 +00:00
Ruslan Bukin
5bca221511 Add full softfloat and hardfloat support for MIPS.
This adds new target architectures for hardfloat:
mipselhf mipshf mips64elhf mips64hf.

Tested in QEMU only.

Sponsored by:	DARPA, AFRL
Sponsored by:	HEIF5
Differential Revision:	https://reviews.freebsd.org/D8376
2016-10-31 15:33:58 +00:00