#
48db612d |
| 02-Jan-2025 |
Emmanuel Vadot <manu@FreeBSD.org> |
arm64: Add a new SOC_ROCKCHIP option
A lot of drivers are shared between all rockchip SoCs, each time we add suppot for a new SoC we need to add the options in the files.arm64 lines. Add a new optio
arm64: Add a new SOC_ROCKCHIP option
A lot of drivers are shared between all rockchip SoCs, each time we add suppot for a new SoC we need to add the options in the files.arm64 lines. Add a new option SOC_ROCKCHIP that will help simplify this file.
Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D48286
show more ...
|
Revision tags: release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0 |
|
#
47e07394 |
| 09-Jan-2024 |
Andrew Turner <andrew@FreeBSD.org> |
Import the kernel parts of bhyve/arm64
To support virtual machines on arm64 add the vmm code. This is based on earlier work by Mihai Carabas and Alexandru Elisei at University Politehnica of Buchare
Import the kernel parts of bhyve/arm64
To support virtual machines on arm64 add the vmm code. This is based on earlier work by Mihai Carabas and Alexandru Elisei at University Politehnica of Bucharest, with further work by myself and Mark Johnston.
All AArch64 CPUs should work, however only the GICv3 interrupt controller is supported. There is initial support to allow the GICv2 to be supported in the future. Only pure Armv8.0 virtualisation is supported, the Virtualization Host Extensions are not currently used.
With a separate userspace patch and U-Boot port FreeBSD guests are able to boot to multiuser mode, and the hypervisor can be tested with the kvm unit tests. Linux partially boots, but hangs before entering userspace. Other operating systems are untested.
Sponsored by: Arm Ltd Sponsored by: Innovate UK Sponsored by: The FreeBSD Foundation Sponsored by: University Politehnica of Bucharest Differential Revision: https://reviews.freebsd.org/D37428
show more ...
|
Revision tags: release/14.0.0 |
|
#
602d3601 |
| 08-Sep-2023 |
Kyle Evans <kevans@FreeBSD.org> |
arm64: start defining a std.apple configuration
The M1 uses FDT, and has bge to start with. Add a SOC_* option for the first SoC we'll be supporting.
IOMMU is added commented out because it does h
arm64: start defining a std.apple configuration
The M1 uses FDT, and has bge to start with. Add a SOC_* option for the first SoC we'll be supporting.
IOMMU is added commented out because it does have it, but IOMMU is not well-tested on aarch64. An initial version of the DART driver will be upstreamed that just puts the DARTs that support bypass mode into bypass mode -- we'll be missing some functionality, but we at least still end up with some USB ports.
Reviewed by: karels, manu Input from: jrtc27 (IOMMU) Differential Revision: https://reviews.freebsd.org/D39823
show more ...
|
#
031beb4e |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
#
4b500174 |
| 15-May-2023 |
Kyle Evans <kevans@FreeBSD.org> |
arm64: emulate swp/swpb instructions
Add another undefined instruction handler for compat32 and watch out for SWP/SWPB instructions.
SWP/SWPB were deprecated in ARMv6 and declared obsolete in ARMv7
arm64: emulate swp/swpb instructions
Add another undefined instruction handler for compat32 and watch out for SWP/SWPB instructions.
SWP/SWPB were deprecated in ARMv6 and declared obsolete in ARMv7, but this implementation is motivated by some proprietary software that still uses SWP/SWPB. Because it's deprecated, emulation is pushed back behind a sysctl that defaults to OFF in GENERIC so that it doesn't potentially adversely affect package builds; it's unknown whether software may test for a functional swp/swpb instruction with the desire of using it later, so we err on the side of caution to ensure we don't end up with swp/swpb use in freebsd/arm packages (which are built on aarch64).
The EMUL_SWP config option may be used to enable emulation by default in environments where emulation is desired and won't really be turned off.
Reviewed by: andrew, mmel (both earlier version) Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D39667
show more ...
|
Revision tags: release/13.2.0 |
|
#
e7815784 |
| 20-Dec-2022 |
Søren Schmidt <sos@FreeBSD.org> |
Add Rockchip RK3568 SoC
Attach its clock drivers and rk817 pmic driver to the build.
|
Revision tags: release/12.4.0 |
|
#
91dc225a |
| 20-Oct-2022 |
Warner Losh <imp@FreeBSD.org> |
conf: Document why we have ARM64 and RISCV options
These are needed for the 'cpu ARM64' and 'cpu RISCV' options in these architecture's config files. cpu lines are non-optional in config(8), so we m
conf: Document why we have ARM64 and RISCV options
These are needed for the 'cpu ARM64' and 'cpu RISCV' options in these architecture's config files. cpu lines are non-optional in config(8), so we must define them here. There's no other use for them in the tree.
Sponsored by: Netflix
show more ...
|
Revision tags: release/13.1.0, release/12.3.0 |
|
#
ae92ace0 |
| 22-Nov-2021 |
Andrew Turner <andrew@FreeBSD.org> |
Per-thread stack canary on arm64
With the update to llvm 13 we are able to tell the compiler it can find the SSP canary relative to the register that holds the userspace stack pointer. As this is un
Per-thread stack canary on arm64
With the update to llvm 13 we are able to tell the compiler it can find the SSP canary relative to the register that holds the userspace stack pointer. As this is unused in most of the kernel it can be used here to point to a per-thread SSP canary.
As the kernel could be built with an old toolchain, e.g. when upgrading from 13, add a warning that the options was enabled but the compiler doesn't support it to both the build and kernel boot.
Discussed with: emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33079
show more ...
|
Revision tags: release/13.0.0 |
|
#
48ba9b26 |
| 24-Dec-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Use L2 blocks when in the identity map
This reduces the memory mapped to be closer to the minimal memory needed to enable the MMU.
Reviewed by: mmel Sponsored by: Innovate UK Differential Revision:
Use L2 blocks when in the identity map
This reduces the memory mapped to be closer to the minimal memory needed to enable the MMU.
Reviewed by: mmel Sponsored by: Innovate UK Differential Revision:://reviews.freebsd.org/D27765
show more ...
|
#
3b721b44 |
| 04-Feb-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
arm64: Add a SOC_BRCM_NS2 option
Only compile files needed for this platform if the option is enabled in the kernel config file. Add the option to GENERIC.
MFC after: 3 days
|
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0 |
|
#
e9034789 |
| 04-Jan-2018 |
Michal Meloun <mmel@FreeBSD.org> |
ARM64: Port FreeBSD to Nvidia Jetson TX1 and Nano.
Add support for the Tergra210 SoC and its companion PMIC MAX77620.
|
#
94bc2117 |
| 01-Jul-2020 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add i.MX 8M Quad support
- Add CCM driver and clocks implementations for i.MX 8M - Add GPC driver for iMX8 - Add clock tree for i.MX 8M Quad - Add clocks support and new compat strings (where requir
Add i.MX 8M Quad support
- Add CCM driver and clocks implementations for i.MX 8M - Add GPC driver for iMX8 - Add clock tree for i.MX 8M Quad - Add clocks support and new compat strings (where required) for existing i.MX 6 UART, I2C, and GPIO drivers - Enable aarch64-compatible drivers form i.MX 6 in arm64 GENERIC kernel config - Add dtb/imx8 kernel module with DTBs for Nitrogen8M and iMX8MQ EVK
With this patch both Nitrogen8M and iMX8MQ EVK boot with NFS root up to multiuser login prompt
Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D25274
show more ...
|
#
eacff8a2 |
| 25-May-2020 |
Marcin Wojtas <mw@FreeBSD.org> |
Add LS1046A clockgen driver.
Driver provides probe and attach functions for LS1046A clockgen and passes configuration information to QorIQ clockgen class. It may be used as a reference implementatio
Add LS1046A clockgen driver.
Driver provides probe and attach functions for LS1046A clockgen and passes configuration information to QorIQ clockgen class. It may be used as a reference implementation for different QorIQ clockgen devices.
Submitted by: Dawid Gorecki <dgr@semihalf.com> Reviewed by: mmel, manu Obtained from: Semihalf Sponsored by: Alstom Group Differential Revision: https://reviews.freebsd.org/D24352
show more ...
|
#
bc02c18c |
| 07-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357408 through r357661.
|
#
a83c682b |
| 03-Feb-2020 |
Mark Johnston <markj@FreeBSD.org> |
Dynamically select LSE-based atomic(9)s on arm64.
Once all CPUs are online, determine if they all support LSE atomics and set lse_supported to indicate this. For now the atomic(9) implementations a
Dynamically select LSE-based atomic(9)s on arm64.
Once all CPUs are online, determine if they all support LSE atomics and set lse_supported to indicate this. For now the atomic(9) implementations are still always inlined, though it would be preferable to create out-of-line functions to avoid text bloat. This was not done here since big.little systems exist in which some CPUs implement LSE while others do not, and ifunc resolution must occur well before this scenario can be detected. It does seem unlikely that FreeBSD will ever run on such platforms, however, so converting atomic(9) to use ifuncs is probably a good next step.
Add a LSE_ATOMICS arm64 kernel configuration option to unconditionally select LSE-based atomic(9) implementations when the target system is known.
Reviewed by: andrew, kib MFC after: 1 month Sponsored by: The FreeBSD Foundation, Amazon (hardware) Differential Revision: https://reviews.freebsd.org/D23325
show more ...
|
#
5641eda2 |
| 07-Dec-2019 |
Michal Meloun <mmel@FreeBSD.org> |
Add support for booting kernel directly from U-Boot using booti command.
In some cases, like is locked bootstrap or device's inability to boot from removable media, we cannot use standard boot seque
Add support for booting kernel directly from U-Boot using booti command.
In some cases, like is locked bootstrap or device's inability to boot from removable media, we cannot use standard boot sequence and is necessary to boot kernel directly from U-Boot.
Discussed with: jhibbits MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D13861
show more ...
|
#
750d951f |
| 02-Dec-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
revert r354714 "Boot arm64 kernel using booti command from U-boot."
After discussing with mmel@, it was clear this is insufficient to address all the needs. mmel@ will commit his original patch, fr
revert r354714 "Boot arm64 kernel using booti command from U-boot."
After discussing with mmel@, it was clear this is insufficient to address all the needs. mmel@ will commit his original patch, from https://reviews.freebsd.org/D13861, and the additions needed from r354714 will be made afterward.
Requested by: mmel Sponsored by: Juniper Networks, Inc.
show more ...
|
#
4694d573 |
| 14-Nov-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Boot arm64 kernel using booti command from U-boot.
Summary: Boot arm64 kernel using booti command from U-boot. booti can relocate initrd image into higher ram addresses, therefore align the initrd l
Boot arm64 kernel using booti command from U-boot.
Summary: Boot arm64 kernel using booti command from U-boot. booti can relocate initrd image into higher ram addresses, therefore align the initrd load address to 1GiB and create VA = PA map for it. Create L2 pagetable entries to copy the initrd image into KVA. (parts of the code in https://reviews.freebsd.org/D13861 was referred and used as appropriate)
Submitted by: Siddharth Tuli <siddharthtuli_gmail.com> Reviewed by: manu Sponsored by: Juniper Networks, Inc Differential Revision: https://reviews.freebsd.org/D22255
show more ...
|
#
b17ad0c6 |
| 10-Nov-2019 |
Kyle Evans <kevans@FreeBSD.org> |
arm64: add SOC_BRCM_BCM2838, build it in GENERIC
BCM2838/BCM2711 is the Raspberry Pi 4, which we will soon be able to boot on once some ports bits are worked out.
|
#
6c4464cb |
| 14-Oct-2019 |
Emmanuel Vadot <manu@FreeBSD.org> |
arm64: allwinner: Add Allwinner H6 Support
This adds support for H6 SoC. Add a CCU driver for H6 that support all PLLs and most of the clocks that we are intersted in for now (i2c, mmc, usb, etc ...
arm64: allwinner: Add Allwinner H6 Support
This adds support for H6 SoC. Add a CCU driver for H6 that support all PLLs and most of the clocks that we are intersted in for now (i2c, mmc, usb, etc ...)
MFC after: 1 month
show more ...
|
#
61c1328e |
| 13-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352105 through r352307.
|
#
ee41e38d |
| 13-Sep-2019 |
Ruslan Bukin <br@FreeBSD.org> |
Add support for Intel Stratix 10 platform.
Intel Stratix 10 SoC includes a quad-core arm64 cluster and FPGA fabric.
This adds support for reconfiguring FPGA.
Accessing FPGA core of this SoC requir
Add support for Intel Stratix 10 platform.
Intel Stratix 10 SoC includes a quad-core arm64 cluster and FPGA fabric.
This adds support for reconfiguring FPGA.
Accessing FPGA core of this SoC require the level of privilege EL3, while kernel runs in EL1 (lower) level of privilege.
This provides an Intel service layer interface that uses SMCCC to pass queries to the secure-monitor (EL3).
Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D21454
show more ...
|
#
75a01d59 |
| 12-Dec-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
arm64: Add new SoC type MARVELL_8K
Sponsored by: Rubicon Communications, LLC ("Netgate")
|
#
67350cb5 |
| 09-Dec-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340918 through r341763.
|
#
36ae7efe |
| 01-Dec-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
arm64/rockchip: add RK3399 support
Add CRU (Clock and Reset Unit) driver for RK3399. Add support in rk_pinctrl driver.
Submitted by: Greg V <greg@unrelenting.technology> (Original version) Differe
arm64/rockchip: add RK3399 support
Add CRU (Clock and Reset Unit) driver for RK3399. Add support in rk_pinctrl driver.
Submitted by: Greg V <greg@unrelenting.technology> (Original version) Differential Revision: https://reviews.freebsd.org/D16732
MFC after: 1 month
show more ...
|