aboutsummaryrefslogtreecommitdiff
path: root/sys/conf/files.arm64
Commit message (Collapse)AuthorAgeFilesLines
* arm64: Check for virtio for scmi_virtio.cAndrew Turner13 days1-1/+1
| | | | | | | | scmi_virtio.c depends on virtio. Check for this before including it in the kernel. Reported by: Isaac Cilia Attard (via cperciva) Sponsored by: Arm Ltd
* arm64/vmm: Define a dummy _start symbol in vmm_hyp_blob.elfMark Johnston2024-04-111-1/+1
| | | | | | | | | | To silence a linker warning about _start being missing. This blob contains code executed at EL2 and is only meant to be entered via exception handlers. Reviewed by: bz, emaste Fixes: 47e073941f4e ("Import the kernel parts of bhyve/arm64") Differential Revision: https://reviews.freebsd.org/D44735
* scmi: Add an SCMI VirtIO transport driverCristian Marussi2024-04-111-0/+1
| | | | | | | | Add an SCMI transport driver based on the virtio-scmi backend. Reviewed by: andrew, bryanv Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43048
* scmi: Add an SCMI SMC transport driverAndrew Turner2024-04-111-0/+1
| | | | | | | | Using the SCMI transport interface add a new SMC transport to the SCMI stack. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43040
* scmi: Split out the SCMI mailbox to a new fileAndrew Turner2024-04-111-0/+2
| | | | | | | | Add a new SCMI interface file to allow for multiple kind of transports and move the mailbox transport to its own file, using the new interface. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43039
* Fix arm64 build after llvm 18.1.3 upgrade (take 2)Dimitry Andric2024-04-071-2/+1
| | | | | | | | | | | Instead of compiling the whole sys/arm64/arm64/vfp.c file without -mgeneral-regs-only, which might have unwanted side effects, add ".arch_extension fp" / ".arch_extension nofp" pairs to the inline assembly. PR: 276104 Suggested by: andrew MFC after: 1 month
* Fix arm64 build after llvm 18.1.3 upgradeDimitry Andric2024-04-071-1/+2
| | | | | | | | | | | | | | Apparently clang 18 has become more strict about using floating point registers in inline assembly when -mgeneral-regs-only is used. This causes sys/arm64/arm64/vfp.c to fail to compile, with "error: instruction requires: fp-armv8", and "error: expected readable system register". To fix it, similar to other files compiled for arm64, disable -mgeneral-regs-only for this particular file. PR: 276104 MFC after: 1 month
* vf_i2c: split up and add ACPI attachments in addition to FDTPierre-Luc Drouin2024-03-291-1/+3
| | | | | | | | | | | Move the code from the arm specific to the iicbus controller directory. Split up between general logic and bus attachment code. Add support for ACPI attachment in addition to FDT. MFC after: 7 days Tested by: bz (LS1088a FDT), Pierre-Luc Drouin (Honeycomb, ACPI) Based on: D24917 by Val Packett (initial early version) Differential Revision: https://reviews.freebsd.org/D44020
* arm64/vmm: Exclude more sanitizer compiler flags from certain filesMark Johnston2024-03-221-2/+2
| | | | | Reported by: rscheff Fixes: 47e073941f4e ("Import the kernel parts of bhyve/arm64")
* conf: deduplicate dwmmc config logicMitchell Horne2024-02-271-1/+0
| | | | | | | | | | | | | The core of this driver is supported by multiple architectures. Move the config entries to the MI conf/files. This hardware is found on several available/emerging RISC-V SoCs, so we will soon need it on this architecture. Reviewed by: manu MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D44104
* conf: deduplicate dwc config logicMitchell Horne2024-02-271-4/+0
| | | | | | | | | | | | | | | Move the core dwc(4) file entries to the MI conf/files. Platform-specific versions e.g. rk_dwc are retained in their current position. On arm64 this necessitates adding an additional 'device dwc' option. This hardware is found on several available/emerging RISC-V SoCs, so we will soon need it on this architecture. Reviewed by: manu MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D44103
* Import the kernel parts of bhyve/arm64Andrew Turner2024-02-211-0/+33
| | | | | | | | | | | | | | | | | | | | | | 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
* ice_ddp: Update package to 1.3.36.0Eric Joyner2024-02-211-3/+3
| | | | | | | | | | | This is intended to be used with the upcoming ice 1.39.13-k driver update, but is still backwards compatible with previous versions of the driver. Signed-off-by: Eric Joyner <erj@FreeBSD.org> MFC after: 3 days Sponsored by: Intel Corporation
* arm64: Fix the unwind.c build when sanitizers are enabledMark Johnston2024-02-081-1/+1
| | | | | | | | | The presence of -fno-sanitize-memory-param-retval without an accompanying -fsanitize=kernel-memory triggers a compiler error. MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: Juniper Networks, Inc.
* usb: dwc3: Move driver under a subdirectoryEmmanuel Vadot2024-01-101-3/+4
| | | | | | | | | dwc3 is big enough to have its own subdirectory. While here only make it depend on kernel option dwc3 and rk_dwc3 without any SOC options. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43190
* clk: Move rockchip driver into the common directoryEmmanuel Vadot2024-01-101-12/+12
| | | | | | | | No need to keep it under sys/arm64/rockchip/clk It's easier to find which controller we support by looking under one directory. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43189
* clk: Move allwinner driver into the common directoryEmmanuel Vadot2024-01-101-15/+15
| | | | | | | | | No need to keep it under sys/arm/allwinner/clkng It's easier to find which controller we support by looking under one directory. It will also be shared with Allwinner RiscV SoC. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43188
* pwm: Move allwinner driver into the common directoryEmmanuel Vadot2024-01-101-1/+1
| | | | | | | | No need to keep it under sys/arm/allwinner It's easier to find which controller we support by looking under one directory. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43187
* pwm: Move rockchip driver into the common directoryEmmanuel Vadot2024-01-101-1/+2
| | | | | | | | No need to keep it under sys/arm64/rockchip It's easier to find which controller we support by looking under one directory. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43186
* spibus: Move allwinner driver into the common directoryEmmanuel Vadot2024-01-101-1/+1
| | | | | | | | No need to keep it under sys/arm/allwinner It's easier to find which controller we support by looking under one directory. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43185
* spibus: Move rockchip driver into the common directoryEmmanuel Vadot2024-01-101-1/+2
| | | | | | | No need to keep it under sys/arm64/rockchip It's easier to find which controller we support by looking under one directory. Sponsored by: Beckhoff Automation GmbH & Co. KG
* iicbus: Move rockchip driver into the common directoryEmmanuel Vadot2024-01-101-1/+1
| | | | | | | | | | No need to keep it under sys/arm64/rockchip It's easier to find which controller we support by looking under one directory. While here remove the condition on SOC option, device rk_i2c is enough as all Rockchip SoC that we support have this controller. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43184
* conf: Expand the include path for more openssl filesMark Johnston2023-12-061-6/+6
| | | | | Fixes: e655cc70dfcd ("ossl: Move arm_arch.h to a common subdirectory") Reported by: Jenkins
* ossl: Move arm_arch.h to a common subdirectoryMark Johnston2023-12-041-3/+3
| | | | | | | | | | | | | OpenSSL itself keeps only a single copy of this header. Do the same in sys/crypto/openssl to avoid the extra maintenance burden. This requires adjusting the include paths for generated asm files. No functional change intended. Reported by: jrtc27 Reviewed by: jhb MFC after: 3 months Differential Revision: https://reviews.freebsd.org/D42866
* Add an Armv8 rndr random number providerAndrew Turner2023-11-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | Armv8.5 adds an optional random number generator. This is implemented as two special registers one to read a random number, the other to re-seed the entropy pool before reading a random number. Both registers will set the condition flags to tell the caller they can't produce a random number in a reasonable amount of time. Without a signal to reseed the entropy pool use the latter register to provide random numbers to the kernel pool. If at a later time we had a way to tell the provider if it needs to reseed or not we could use the former. On an Amazon AWS Graviton3 VM this never failed, however this may not be the case on low end CPUs so retry reading the random number 10 times before returning an error. Reviewed by: imp, delphij (csprng) Sponsored by: The FreeBSD Foundation Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D35411
* dwc: Split core functionsEmmanuel Vadot2023-10-051-0/+1
| | | | | | | | | Synopsis/Designware controller have multiple version. The version currently supported by dwc(4) is the version 3 and it's usually called 1000 for gigabit. In the goal to support all of those in the same base driver start splitting the core function to a new file. No functional changes intended.
* dwc: Split dma functionsEmmanuel Vadot2023-10-051-0/+1
| | | | | | | | | | | Synopsis/Designware controller have multiple dma version, the one included in the driver is the base one. if_awg is one example of a dwc variant that have another DMA controller. eqos is a newer variant of dwc that have a newer dma controller. In the goal to support all of those in the same base driver start splitting the dma function to a new file. No functional changes intended.
* dwc: Move every sub drivers to dev/dwcEmmanuel Vadot2023-10-051-2/+3
| | | | | | It makes it easier to find all the sub drivers and change them if needed. While here do not gate dwc_rk with soc options, dwc_rk is made for all rockchip SoCs. Same thing for dwc_socfpga
* i2c: Add cadence iic driverEmmanuel Vadot2023-10-031-0/+1
| | | | | | | This IP is found in Xilinx SoC, it only been tested on ZynqMP (arm64) so only enable it there for now. Differential Revision: https://reviews.freebsd.org/D41994
* iicbus: Move Silergy pmic/regulators under pmic/silergy subdirectoryEmmanuel Vadot2023-10-031-1/+0
| | | | | Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41909
* iicbus: Move twsi under a new controller subdirectoryEmmanuel Vadot2023-10-031-3/+3
| | | | | | | The folder is a mess so start moving stuff into sub-directories. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41907
* arm64: zynqmp: Add clock driverEmmanuel Vadot2023-09-181-0/+7
| | | | | | | | | Add clock and reset drivers for the ZynqMP SoC. The clocks are discovered by talking to the firmware as the topology isn't fixed on this SoC. Differential Revision: https://reviews.freebsd.org/D41812 Sponsored by: Beckhoff Automation GmbH & Co. KG
* arm64: zynqmp: Add firmware driverEmmanuel Vadot2023-09-181-0/+2
| | | | | | | | | | The ZynqMP SoC have a MCU running a firmware to control clocks, resets, fpga loading etc ... Add a driver that can be use to communicate with it. For now only the clock and reset part are implemented. Differential Revision: https://reviews.freebsd.org/D41811 Sponsored by: Beckhoff Automation GmbH & Co. KG
* ice_ddp: Update to 1.3.35.0Eric Joyner2023-08-301-3/+3
| | | | | | | | | | This is intended to be used with the upcoming updated ice(4) version 1.38.16-k. Signed-off-by: Eric Joyner <erj@FreeBSD.org> MFC after: 3 days Sponsored by: Intel Corporation
* arm64: Remove duplicate fdt build optionEmmanuel Vadot2023-08-231-1/+1
| | | | | Reported by: andrew Sponsored by: Beckhoff Automation GmbH & Co. KG
* arm64: xilinx: Add glue driver for usb3 controllerEmmanuel Vadot2023-08-231-0/+1
| | | | | | | Like other dwc3 controller, on Xilinx ZynqMP the base node is just here to provide resets, the main dwc3 controller node is a child node. Sponsored by: Beckhoff Automation GmbH & Co. KG
* dpaa2: Clean up channels in separate tasksDmitry Salychev2023-08-201-0/+3
| | | | | | | | | | | | | | | | | | Each channel gets its own DMA resources, cleanup and "bufferpool" tasks, and a separate cleanup taskqueue to isolate channels operation as much as possible to avoid various kernel panics under heavy network load. As a side-effect of this work, dpaa2_buf structure is simplified and all of the functions to re-seed those buffers are gathered now in dpaa2_buf.h and .c files; functions to work with channels are extracted into dpaa2_channel.h and .c files as well. Reported by: dch Reviewed by: bz Approved by: bz (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41296
* sys: Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-161-1/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* arm64: Add a driver for the Arm PL031 RTCAndrew Turner2023-08-151-0/+1
| | | | | | | | It is a simple RTC found in some Arm SoCs, e.g. the Arm Juno. Reviewed by: manu Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41267
* qcom: fix panic in qcom_mdio_ipq4018 implementationBjoern A. Zeeb2023-08-111-0/+1
| | | | | | | | Fix a boot-time panic in qcom_mdio_ipq4018 due to a missing bus function and hook the file up to the build so that it will not rot away. Test booted on an ipq807x in 2022. X-Differential Revision: extracted from D37882
* arm64: xilinx: gpio: Add support for ZynqMP SoCEmmanuel Vadot2023-08-101-0/+1
| | | | | | | | | Add support for the gpio controller found in the ZynqMP SoC. The registers are the same as the Zynq 7000, just the number of banks/pins per banks differs. Sponsored by: Beckhoff Automation GmbH & Co. KG MFC after: 2 weeks
* arm64: intel: Remove firmware driverEmmanuel Vadot2023-08-081-1/+0
| | | | | | | This is now covered by ofw_firmware. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D37613
* arm64: Enable the Hyper-V keyboard driverAndrew Turner2023-06-211-0/+2
| | | | | | | Tested on Hyper-V on a Windows Dev Kit 2023 Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40533
* armv8crypto: Avoid overriding -march when compiling some source filesMark Johnston2023-06-151-3/+3
| | | | | | | | | | | | | At least one downstream (CheriBSD) overrides -march here. Instead of hard-coding the target, simply append the crypto extension to whatever's already there. No functional change intended. Reviewed by: imp, andrew MFC after: 1 week Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D40537
* ipmi: add Block Transfer interface supportAndrey V. Elsukov2023-06-071-0/+1
| | | | | | | | Reviewed by: ambrisko Obtained from: Yandex LLC MFC after: 2 weeks Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D40421
* Add a PCI driver that follows the Arm DEN0115 specAndrew Turner2023-04-241-0/+1
| | | | | | | | | | | | | | | Add a n attachment to the pci_host_generic driver for the Arm DEN0115 PCI Configuration Space Access Firmware Interface [1]. This can be used when PCI controllers need to implement quirks in the PCI root bus. To handle this the firmware implements a SMCCC interface the driver can use to read and write the configuration register. This has been tested on a Raspberry Pi 4 booting with EDK2. [1] https://developer.arm.com/documentation/den0115/latest Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D39228
* dpaa2: add console support for FDT based systemsBjoern A. Zeeb2023-04-201-0/+1
| | | | | | | | | | | | | | | Add DPAA2 console support for MC and AIOP (latter untested) for FDT systems. ACPI systems are prepared but need some proper bus function in order to get the address from MC (and likely a file splitup then). This will come at a later stage once other ACPI/FDT bus parts are cleared up. The work was originally done in July 2022 and finally switched to bus_space[1] lately to be ready for main. Suggested by: andrew [1] Reviewed by: dsl MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D38592
* zfs: merge openzfs/zfs@431083f75Martin Matuska2023-04-031-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #12194 Fix short-lived txg caused by autotrim #13368 ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced() #13392 Implementation of block cloning for ZFS #13741 SHA2 reworking and API for iterating over multiple implementations #14282 Sync thread should avoid holding the spa config write lock when possible #14283 txg_sync should handle write errors in ZIL #14359 More adaptive ARC eviction #14469 Fix NULL pointer dereference in zio_ready() #14479 zfs redact fails when dnodesize=auto #14496 improve error message of zfs redact #14500 Skip memory allocation when compressing holes #14501 FreeBSD: don't verify recycled vnode for zfs control directory #14502 partially revert PR 14304 (eee9362a7) #14509 Fix per-jail zfs.mount_snapshot setting #14514 Fix data race between zil_commit() and zil_suspend() #14516 System-wide speculative prefetch limit #14517 Use rw_tryupgrade() in dmu_bonus_hold_by_dnode() #14519 Do not hold spa_config in ZIL while blocked on IO #14523 Move dmu_buf_rele() after dsl_dataset_sync_done() #14524 Ignore too large stack in case of dsl_deadlist_merge #14526 Use .section .rodata instead of .rodata on FreeBSD #14528 ICP: AES-GCM: Refactor gcm_clear_ctx() #14529 ICP: AES-GCM: Unify gcm_init_ctx() and gmac_init_ctx() #14532 Handle unexpected errors in zil_lwb_commit() without ASSERT() #14544 icp: Prevent compilers from optimizing away memset() in gcm_clear_ctx() #14546 Revert zfeature_active() to static #14556 Remove bad kmem_free() oversight from previous zfsdev_state_list patch #14563 Optimize the is_l2cacheable functions #14565 FreeBSD: zfs_znode_alloc: lock the vnode earlier #14566 FreeBSD: fix false assert in cache_vop_rmdir when replaying ZIL #14567 spl: Add cmn_err_once() to log a message only on the first call #14568 Fix incremental receive silently failing for recursive sends #14569 Restore ASMABI and other Unify work #14576 Fix detection of IBM Power8 machines (ISA 2.07) #14577 Better handling for future crypto parameters #14600 zcommon: Refactor FPU state handling in fletcher4 #14603 Fix prefetching of indirect blocks while destroying #14633 Fixes in persistent error log #14639 FreeBSD: Remove extra arc_reduce_target_size() call #14641 Additional limits on hole reporting #14649 Drop lying to the compiler in the fletcher4 code #14652 panic loop when removing slog device #14653 Update vdev state for spare vdev #14655 Fix cloning into already dirty dbufs #14678 Revert "Do not hold spa_config in ZIL while blocked on IO" Obtained from: OpenZFS OpenZFS commit: 431083f75bdd3efaee992bdd672625ec7240d252
* arm64: add KASAN supportKyle Evans2023-03-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This entails: - Marking some obvious candidates for __nosanitizeaddress - Similar trap frame markings as amd64, for similar reasons - Shadow map implementation The shadow map implementation is roughly similar to what was done on amd64, with some exceptions. Attempting to use available space at preinit_map_va + PMAP_PREINIT_MAPPING_SIZE (up to the end of that range, as depicted in the physmap) results in odd failures, so we instead search the physmap for free regions that we can carve out, fragmenting the shadow map as necessary to try and fit as much as we need for the initial kernel map. pmap_bootstrap_san() is thus after pmap_bootstrap(), which still included some technically reserved areas of the memory map that needed to be included in the DMAP. The odd failure noted above may be a bug, but I haven't investigated it all that much. Initial work by mhorne with additional fixes from kevans and markj. Reviewed by: andrew, markj Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D36701
* arm64: Hyper-V: Add vPCI and Mellanox driver modules into buildWei Hu2023-03-131-0/+1
| | | | | | | | | These changes in conf and std.hyperv files got missed in previous commit. Reviewed by: whu Tested by: whu Obtained from: Souradeep Chakrabarti <schakrabarti@microsoft.com> Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D38529