|
Revision tags: release/14.4.0-p4, release/14.3.0-p13, release/13.5.0-p14, release/15.0.0-p8, release/14.4.0-p3, release/14.3.0-p12, release/13.5.0-p13, release/15.0.0-p7 |
|
| #
fd8d34ce |
| 24-Apr-2026 |
Justin Hibbits <jhibbits@FreeBSD.org> |
dpaa: Migrate from NCSW base to a home-grown driver
The NCSW reference base requires tuning for each target, and currently is configured for FMANv2. This doesn't readily work on FMANv3 devices, suc
dpaa: Migrate from NCSW base to a home-grown driver
The NCSW reference base requires tuning for each target, and currently is configured for FMANv2. This doesn't readily work on FMANv3 devices, such as the T-series powerpc, or the LS1043 ARM. Since Freescale/NXP abandoned the NCSW driver a decade ago, it makes sense to abandon it ourselves as well. This new driver uses a combination of the NCSW driver and the Linux driver (BSD/GPL dual licensed) as a reference, but contains no actual code from them.
The DPAA (Data Path Acceleration Architecture) subsystem consists of the following components:
* BMan -- Buffer Manager. Manages buffer pools of different sizes (one size per pool, up to 64 pools) * QMan -- Queue Manager. Manages the interfaces between DPAA-based components and the CPU(s). * FMan -- Frame Manager. Responsible for all ethernet-related processing. Consists itself of the following components: * Ports -- interfaces to the QMan. An ethernet interface consists of 2 ports. Ports use "Next-invoked action" (NIA) descriptors to form a pipeline for processing on receive and transmit. * Parser -- performs protocol header parsing and validation. Both hardware and software parsers are available. * KeyGen -- Key generator, used to start the classification process (for the Policer), generating FQIDs and other keys based on the frame input. * Policer -- performs traffic shaping and classification * MAC -- SoC specific ethernet MAC (dTSEC, TGEC, mEMAC). Currently supports dTSEC and mEMAC, along with their MDIO blocks.
Additional components not yet handled: SEC -- Security engine (crypto) RE -- RAID engine RapidIO DCE -- Decompression/Compression engine, supports ZLIB, DEFLATE, and GZIP, as well as base64 encoding and decoding.
BMan and QMan are accessed via cache-coherent portals, using ring buffers as I/O. The intent is for portals to be per-CPU (core/thread) to reduce locking contention and improve performance. This driver pins interrupt handlers to the CPU "owning" a given portal, and uses critical sections to prevent switching while accessing the portal.
show more ...
|
|
Revision tags: release/13.5.0-p12, release/14.3.0-p11, release/14.4.0-p2, release/15.0.0-p6, release/13.5.0-p11, release/14.3.0-p10, release/14.4.0-p1, release/15.0.0-p5, release/14.4.0, release/13.5.0-p10, release/14.3.0-p9, release/15.0.0-p4 |
|
| #
3bcb7c2a |
| 14-Feb-2026 |
Adrian Chadd <adrian@FreeBSD.org> |
powerpc: initial straight port of busdma_machdep.c -> busdma_bounce.c
This is a straight port of the code and doesn't yet handle different implementations (which will be in a subsequent commit.)
Lo
powerpc: initial straight port of busdma_machdep.c -> busdma_bounce.c
This is a straight port of the code and doesn't yet handle different implementations (which will be in a subsequent commit.)
Locally tested:
* G5 SMP (2x PPC970mp) * power8 / power9 pseries QEMU VM * power8 powernv
Differential Revision: https://reviews.freebsd.org/D55313
show more ...
|
| #
787b5e13 |
| 28-Apr-2026 |
Justin Hibbits <jhibbits@FreeBSD.org> |
dtrace: Add missing file for powerpc kernel build
|
| #
a338f5a0 |
| 20-Apr-2026 |
Minsoo Choo <minsoo@minsoo.io> |
conf: remove trailing whitespace
This prevents unwanted change when saving files on IDEs (e.g. VSCode, Zed)
Signed-off-by: Minsoo Choo <minsoo@minsoo.io> Sponsored by: The FreeBSD Foundation Pull r
conf: remove trailing whitespace
This prevents unwanted change when saving files on IDEs (e.g. VSCode, Zed)
Signed-off-by: Minsoo Choo <minsoo@minsoo.io> Sponsored by: The FreeBSD Foundation Pull request: https://github.com/freebsd/freebsd-src/pull/2152
show more ...
|
|
Revision tags: release/15.0.0-p3 |
|
| #
6e32e8d7 |
| 04-Feb-2026 |
Mark Johnston <markj@FreeBSD.org> |
sdt: Enable on 32-bit powerpc and powerpc64le
Reviewed by: jhibbits, adrian MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54814
|
|
Revision tags: release/13.5.0-p9, release/15.0.0-p2, release/14.3.0-p8, release/15.0.0-p1, release/13.5.0-p8, release/14.3.0-p7 |
|
| #
c5d4a124 |
| 03-Dec-2025 |
Minsoo Choo <minsoochoo0122@proton.me> |
conf: remove powerpcspe
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me> Reviewed by: emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/1914 (cherry picked from commit 4a5a1c17ac
conf: remove powerpcspe
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me> Reviewed by: emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/1914 (cherry picked from commit 4a5a1c17ac43356fae053524187bb16f8fc1ac70)
show more ...
|
|
Revision tags: release/15.0.0, release/14.3.0-p6, release/13.5.0-p7, release/13.5.0-p6, release/14.3.0-p5, release/13.5.0-p5, release/14.2.0-p7, release/14.3.0-p4, release/14.3.0-p3, release/14.2.0-p6, release/13.5.0-p4 |
|
| #
5daf8ed6 |
| 10-Sep-2025 |
Timothy Pearson <tpearson@raptorengineering.com> |
ossl: Add GCM support on powerpc64/powerpc64le (POWER8+)
Separate ossl's existing AES-NI GCM implementation into a common ossl_aes_gcm.c and add conditionals to switch between OpenSSL's AES-NI and P
ossl: Add GCM support on powerpc64/powerpc64le (POWER8+)
Separate ossl's existing AES-NI GCM implementation into a common ossl_aes_gcm.c and add conditionals to switch between OpenSSL's AES-NI and POWER8 GCM routines depending on the architecture. Since the existing AVX-512 implementation is less agnostic, move it into a separate ossl_aes_gcm_avx512.c.
Reviewed by: markj MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D44274
show more ...
|
|
Revision tags: release/13.5.0-p3, release/14.2.0-p5, release/14.3.0-p2, release/14.3.0-p1, release/14.2.0-p4, release/13.5.0-p2, release/14.3.0, release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3 |
|
| #
5b02365a |
| 27-Mar-2025 |
Piotr Kubaj <pkubaj@FreeBSD.org> |
zfs: enable FPU on powerpc*
Summary:
MFC after: 1 week
Test Plan: make kernel and boot with ZFS on /
Reviewers: #powerpc
Subscribers: imp, delphij
Differential Revision: https://reviews.freebsd
zfs: enable FPU on powerpc*
Summary:
MFC after: 1 week
Test Plan: make kernel and boot with ZFS on /
Reviewers: #powerpc
Subscribers: imp, delphij
Differential Revision: https://reviews.freebsd.org/D49538
show more ...
|
|
Revision tags: release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0 |
|
| #
f9a03906 |
| 28-Oct-2024 |
Eric Joyner <erj@FreeBSD.org> |
ice_ddp: Update to 1.3.41.0
Primarily adds support for E830 devices, unlocking all of their functionality.
As well, update the README and remove the non-FreeBSD sections from it.
Signed-off-by: Er
ice_ddp: Update to 1.3.41.0
Primarily adds support for E830 devices, unlocking all of their functionality.
As well, update the README and remove the non-FreeBSD sections from it.
Signed-off-by: Eric Joyner <erj@FreeBSD.org>
MFC after: 2 days Sponsored by: Intel Corporation
show more ...
|
|
Revision tags: release/13.4.0 |
|
| #
3465f14d |
| 21-Jun-2024 |
Shawn Anastasio <sanatasio@raptorengineering.com> |
ossl: Add support for powerpc64/powerpc64le
Summary: Add support for building ossl(4) on powerpc64* by implementing ossl_cpuid and other support functions for powerpc. The required assembly files fo
ossl: Add support for powerpc64/powerpc64le
Summary: Add support for building ossl(4) on powerpc64* by implementing ossl_cpuid and other support functions for powerpc. The required assembly files for ppc were already present in-tree.
Test Plan: The changes were tested using the in-tree tools/tools/crypto/cryptocheck.c tool on both powerpc64 and powerpc64le on a POWER9 system.
Reviewed by: #powerpc, jhibbits, jhb Differential Revision: https://reviews.freebsd.org/D41837
show more ...
|
| #
ddf0ed09 |
| 19-Jun-2024 |
Mark Johnston <markj@FreeBSD.org> |
sdt: Implement SDT probes using hot-patching
The idea here is to avoid a memory access and conditional branch per probe site. Instead, the probe is represented by an "unreachable" unconditional fun
sdt: Implement SDT probes using hot-patching
The idea here is to avoid a memory access and conditional branch per probe site. Instead, the probe is represented by an "unreachable" unconditional function call. asm goto is used to store the address of the probe site (represented by a no-op sled) and the address of the function call into a tracepoint record. Each SDT probe carries a list of tracepoints.
When the probe is enabled, the no-op sled corresponding to each tracepoint is overwritten with a jmp to the corresponding label. The implementation uses smp_rendezvous() to park all other CPUs while the instruction is being overwritten, as this can't be done atomically in general. The compiler moves argument marshalling code and the sdt_probe() function call out-of-line, i.e., to the end of the function.
Per gallatin@ in D43504, this approach has less overhead when probes are disabled. To make the implementation a bit simpler, I removed support for probes with 7 arguments; nothing makes use of this except a regression test case. It could be re-added later if need be.
The approach taken in this patch enables some more improvements: 1. We can now automatically fill out the "function" field of SDT probe names. The SDT macros let the programmer specify the function and module names, but this is really a bug and shouldn't have been allowed. The intent was to be able to have the same probe in multiple functions and to let the user restrict which probes actually get enabled by specifying a function name or glob. 2. We can avoid branching on SDT_PROBES_ENABLED() by adding the ability to include blocks of code in the out-of-line path. For example:
if (SDT_PROBES_ENABLED()) { int reason = CLD_EXITED;
if (WCOREDUMP(signo)) reason = CLD_DUMPED; else if (WIFSIGNALED(signo)) reason = CLD_KILLED; SDT_PROBE1(proc, , , exit, reason); }
could be written
SDT_PROBE1_EXT(proc, , , exit, reason, int reason;
reason = CLD_EXITED; if (WCOREDUMP(signo)) reason = CLD_DUMPED; else if (WIFSIGNALED(signo)) reason = CLD_KILLED; );
In the future I would like to use this mechanism more generally, e.g., to remove branches and marshalling code used by hwpmc, and generally to make it easier to add new tracepoint consumers without having to add more conditional branches to hot code paths.
Reviewed by: Domagoj Stolfa, avg MFC after: 2 months Differential Revision: https://reviews.freebsd.org/D44483
show more ...
|
|
Revision tags: release/14.1.0, release/13.3.0 |
|
| #
76832996 |
| 13-Feb-2024 |
Eric Joyner <erj@FreeBSD.org> |
ice_ddp: Update package to 1.3.36.0
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:
ice_ddp: Update package to 1.3.36.0
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
show more ...
|
|
Revision tags: release/14.0.0 |
|
| #
7c569caa |
| 19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move i2c sensors drivers into new sensor subdirectory
No reason that they should live directly under iicbus
Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://
iicbus: Move i2c sensors drivers into new sensor subdirectory
No reason that they should live directly under iicbus
Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41913
show more ...
|
| #
06589d6e |
| 19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move ADC drivers into a new adc subfolder
No reason that they should live directly under iicbus
Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.free
iicbus: Move ADC drivers into a new adc subfolder
No reason that they should live directly under iicbus
Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41911
show more ...
|
| #
22d7dd83 |
| 19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move adm1030 and adt746x to new pwm subdirectory
Those are (mainly) pwm controller so move it under a new subdirectory.
Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision
iicbus: Move adm1030 and adt746x to new pwm subdirectory
Those are (mainly) pwm controller so move it under a new subdirectory.
Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41910
show more ...
|
| #
e04c4b4a |
| 22-Aug-2023 |
Eric Joyner <erj@FreeBSD.org> |
ice_ddp: Update to 1.3.35.0
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 Corpo
ice_ddp: Update to 1.3.35.0
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
show more ...
|
| #
031beb4e |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
| #
a8926207 |
| 06-Jul-2023 |
Mitchell Horne <mhorne@FreeBSD.org> |
Consistently provide ffs/fls using builtins
Use of compiler builtin ffs/ctz functions will result in optimized instruction sequences when possible, and fall back to calling a function provided by th
Consistently provide ffs/fls using builtins
Use of compiler builtin ffs/ctz functions will result in optimized instruction sequences when possible, and fall back to calling a function provided by the compiler run-time library. We have slowly shifted our platforms to take advantage of these builtins in 60645781d613 (arm64), 1c76d3a9fbef (arm), 9e319462a03a (powerpc, partial).
Some platforms still rely on the libkern implementations of these functions provided by libkern, namely riscv, powerpc (ffs*, flsll), and i386 (ffsll and flsll). These routines are slow, as they perform a linear search for the bit in question. Even on platforms lacking dedicated bit-search instructions, such as riscv, the compiler library will provide better-optimized routines, e.g. by using binary search.
Consolidate all definitions of these functions (whether currently using builtins or not) to libkern.h. This should result in equivalent or better performing routines in all cases.
One wart in all of this is the existing HAVE_INLINE_F*** macros, which we use in a few places to conditionally avoid the slow libkern routines. These aren't easily removed in one commit. For now, provide these defines unconditionally, but marked for removal after subsequent cleanup.
Removal of the now unused libkern routines will follow in the next commit.
Reviewed by: dougm, imp (previous version) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40698
show more ...
|
| #
d4c78130 |
| 24-Apr-2023 |
Warner Losh <imp@FreeBSD.org> |
powerpc: syscalls.c is standard
No need to add it here, much less make it optional on ktr.
Sponsored by: Netflix
|
|
Revision tags: release/13.2.0 |
|
| #
2a58b312 |
| 03-Apr-2023 |
Martin Matuska <mm@FreeBSD.org> |
zfs: merge openzfs/zfs@431083f75
Notable upstream pull request merges: #12194 Fix short-lived txg caused by autotrim #13368 ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced() #13392 Imple
zfs: merge openzfs/zfs@431083f75
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
show more ...
|
| #
8923de59 |
| 14-Feb-2023 |
Piotr Kubaj <pkubaj@FreeBSD.org> |
ice(4): Update to 1.37.7-k
Notable changes include:
- DSCP QoS Support (leveraging support added in rG9c950139051298831ce19d01ea5fb33ec6ea7f89) - Improved PFC handling and TC queue assignments (n
ice(4): Update to 1.37.7-k
Notable changes include:
- DSCP QoS Support (leveraging support added in rG9c950139051298831ce19d01ea5fb33ec6ea7f89) - Improved PFC handling and TC queue assignments (now all remaining queues are assigned to TC 0 when more than one TC is enabled and the number of available queues does not evenly divide between them) - Support for dumping the internal FW state for additional debugging by Intel support - Support for allowing "No FEC" to be a valid state for the LESM to negotiate when using non-standard compliant modules
Also includes various bug fixes and smaller enhancements, too.
Signed-off-by: Eric Joyner <erj@FreeBSD.org>
Reviewed by: erj@ Tested by: Jeff Pieper <jeffrey.pieper@intel.com> MFC after: 3 days Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D38109
show more ...
|
| #
2508da22 |
| 24-Jan-2023 |
Eric Joyner <erj@FreeBSD.org> |
ice_ddp: Update package to 1.3.30.0
This updated DDP is intended to be used with the forthcoming ice(4) driver update to 1.37.7-k. (But it will still work with the current version.)
Co-authored-by:
ice_ddp: Update package to 1.3.30.0
This updated DDP is intended to be used with the forthcoming ice(4) driver update to 1.37.7-k. (But it will still work with the current version.)
Co-authored-by: Piotr Kubaj <pkubaj@FreeBSD.org> Signed-off-by: Eric Joyner <erj@FreeBSD.org>
MFC after: 1 week Sponsored by: Intel Corporation
show more ...
|
|
Revision tags: release/12.4.0 |
|
| #
8c6e5d8c |
| 07-Sep-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Import an optimized str{n}cmp on arm64
These are from the Arm Optimized Routines and don't use the VFP so are safe to use in the kernel.
Sponsored by: The FreeBSD Foundation
|
| #
d1aefbc0 |
| 23-Jun-2022 |
Martin Matuska <mm@FreeBSD.org> |
zfs: fix static module build broken in 1f1e2261e
|
|
Revision tags: release/13.1.0 |
|
| #
8a13362d |
| 02-Dec-2021 |
Eric Joyner <erj@FreeBSD.org> |
ice(4): Add RDMA Client Interface
This allows the "irdma" driver to communicate with the ice(4) driver to allow it access to the underlying device's hardware resources as well as synchronize access
ice(4): Add RDMA Client Interface
This allows the "irdma" driver to communicate with the ice(4) driver to allow it access to the underlying device's hardware resources as well as synchronize access to shared resources.
This interface already existed in the standalone out-of-tree 1.34.2 driver; this commit adds and enables it in the in-kernel driver.
Note:
Adds hack to module Makefile to compile interface/.m files
These are required for the RDMA client interface, but they don't build as-is like the normal .c files. The source directory doesn't seem to be included by default, so add lines that specifically add them as libraries so that ice_rdma.h can be found and the interface files will compile.
Signed-off-by: Eric Joyner <erj@FreeBSD.org>
MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D30889
show more ...
|