LLVM/project 89f31f2llvm/lib/Target/AArch64 MachineSMEABIPass.cpp, llvm/test/CodeGen/AArch64 sme-agnostic-za-without-sme.ll

[AArch64][SME] Preserve ZA in agnostic ZA functions without +sme (#190141)

`__arm_agnostic("sme_za_state")` does not require +sme, but we must
still preserve ZA in case the function is used with code that makes use
of ZA:

> The use of `__arm_agnostic("sme_za_state")` allows writing functions
> that are compatible with ZA state without having to share ZA state
> with the caller, as required by `__arm_preserves`. The use of this
> attribute does not imply that SME is available.
DeltaFile
+33-0llvm/test/CodeGen/AArch64/sme-agnostic-za-without-sme.ll
+3-2llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
+36-22 files

LLVM/project 124b0a8lldb/source/Plugins/Platform/MacOSX PlatformDarwinKernel.cpp

[lldb][kernel debug] Add a missing call to scan local fs for kexts (#190281)

A kernel developer noticed that I missed a call to index the local
filesystem in one of our codepaths, and had a use case that depended on
that working.

rdar://173814556
DeltaFile
+1-0lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
+1-01 files

LLVM/project 1f75f31cmake/Modules GetToolchainDirs.cmake

[Runtimes] Gracefully handle invalid LLVM_TARGET_TRIPLE (#190284)

In some situations such as reported at
https://github.com/llvm/llvm-project/pull/177953#issuecomment-4179014239,
LLVM_(DEFAULT_)TARGET_TRIPLE is not set. It is used to derive the output
directory in #177953. Only flang-rt currently uses
RUNTIMES_(INSTALL|OUTPUT)_RESOURCE_LIB_PATH, we should not fail building
other despite a missing LLVM_TARGET_TRIPLE.

Compiler-rt uses COMPILER_RT_DEFAULT_TARGET_TRIPLE instead which it
derives itself. Most other LLVM runtimes libraries just skip the target
portion of the library path (explicitly so since #93354). Do the same
for RUNTIMES_(INSTALL|OUTPUT)_RESOURCE_LIB_PATH which we hope eventually
can replace the other mechanisms.
DeltaFile
+16-6cmake/Modules/GetToolchainDirs.cmake
+16-61 files

LLVM/project 2600533clang-tools-extra/clang-doc YAMLGenerator.cpp Representation.h

[clang-doc] Switch to string internment (#190044)

This is the first step in migrating all the Info types to be POD. We
introduced a shared string saver that can be used safely across threads,
and updated the internal represntation of various data types to use
these over owned strings, like SmallString or std::string.

This also required changes to YAMLGenerator to keep the single quoted
string formatting and to update the YAML traits.

This change gives an almost 50% reduction in peak memory when building
documentation for clang, at about a 10% performance loss. Future patches
can mitigate the performance penalties, and further reduce memory use.

| Metric | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Time | 920.5s | 920.5s | 1011.0s | +9.8% | +9.8% |
| Memory | 86.0G | 86.0G | 44.9G | -47.8% | -47.8% |


    [30 lines not shown]
DeltaFile
+160-39clang-tools-extra/clang-doc/YAMLGenerator.cpp
+90-45clang-tools-extra/clang-doc/Representation.h
+51-51clang-tools-extra/clang-doc/Serialize.cpp
+27-29clang-tools-extra/clang-doc/Representation.cpp
+10-5clang-tools-extra/clang-doc/BitcodeReader.cpp
+5-5clang-tools-extra/clang-doc/Serialize.h
+343-1743 files not shown
+353-1839 files

FreeBSD/ports 6254acbmath/octave-forge-datatypes distinfo Makefile

math/octave-forge-datatypes: Update to 1.2.2.
DeltaFile
+3-3math/octave-forge-datatypes/distinfo
+1-1math/octave-forge-datatypes/Makefile
+4-42 files

LLVM/project 417b564clang-tools-extra/clang-doc Representation.cpp Representation.h, clang-tools-extra/clang-doc/tool ClangDocMain.cpp

[clang-doc] Merge data into persistent memory

We have a need for persistent memory for the final info. Since each
group processes a single USR at a time, every USR is only ever processed by
a single thread from the thread pool. This means that we can keep per
thread persistent storage for all the info. There is significant
duplicated data between all the serialized records, so we can just merge
the final/unique items into the persistent arena, and clear out the
scratch/transient arena as we process each record in the bitcode.

The patch adds some APIs to help with managing the data, merging, and
allocation of data in the correct arena. It also safely merges and deep
copies data from the transient arenas into persistent storage that is
never reset until the program completes.

This patch reduces memory by another % over the previous patches,
bringing the total savings over the baseline to 57%. Runtime performance
and benchmarks stay mostly flat with modest improvements.


    [31 lines not shown]
DeltaFile
+134-10clang-tools-extra/clang-doc/Representation.cpp
+25-25clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
+7-0clang-tools-extra/clang-doc/Representation.h
+166-353 files

LLVM/project 3146d00clang-tools-extra/clang-doc Representation.cpp Representation.h

[clang-doc] Support deep copy between arenas for merging

Upcoming changes to the merge step will necessitate that we clear the
transient arenas and merge new items into the persistent arena. However
there are some challenges with that, as the existing types typically
don't want to be copied. We introduce some new APIs to simplify that
task and ensure we don't accidentally leak memory.

On the performance front, we reclaim about 2% of the overhead, bringing
the cumulative overhead from the series of patches down to about 7% over
the baseline.

| Metric | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Time | 920.5s | 1014.5s | 991.5s | +7.7% | -2.3% |
| Memory | 86.0G | 39.9G | 40.0G | -53.4% | +0.3% |

| Benchmark | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |

    [28 lines not shown]
DeltaFile
+140-21clang-tools-extra/clang-doc/Representation.cpp
+30-0clang-tools-extra/clang-doc/Representation.h
+170-212 files

LLVM/project cdcd80fclang-tools-extra/clang-doc BitcodeReader.cpp Serialize.cpp, clang-tools-extra/unittests/clang-doc SerializeTest.cpp MergeTest.cpp

[clang-doc] Move Info types into arenas

Info types used to own significant chunks of data. As we move these into
local arenas, these types must be trivially destructible, to avoid
leaking resources when the arena is reset. Unfortunaly, there isn't a
good way to transition all the data types one at a time, since most of
them are tied together in some way. Further, as they're now allocated in
the arenas, they often cannot be treated the same way, and even the
aliases and interfaces put in pLace to simplify the transition cannot
cover the full range of changes required.

We also use some SFINAE tricks to avoid adding boilerplate for helper
APIs, we'd otherwise ahve to support

Though it introduces some additional churn, we also try to keep tests
from using arena allocation as much as possible, since this is not
required to test the implementation of the library. As much of the test
code needed to be rewritten anyway, we take the opportunity to
transition now.

    [41 lines not shown]
DeltaFile
+419-187clang-tools-extra/clang-doc/BitcodeReader.cpp
+246-189clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
+196-129clang-tools-extra/unittests/clang-doc/MergeTest.cpp
+176-80clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
+137-75clang-tools-extra/clang-doc/Serialize.cpp
+71-41clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
+1,245-70114 files not shown
+1,662-95220 files

LLVM/project c0279c1clang-tools-extra/clang-doc Generators.h MDMustacheGenerator.cpp, clang-tools-extra/clang-doc/benchmarks ClangDocBenchmark.cpp

[clang-doc] Move non-arena allocated types off the OwnedPtr alias

Some types should not be using this alias, which was over applied to
APIs that wont participate in arena style allocation. This patch
restores them to their correct spelling.
DeltaFile
+7-7clang-tools-extra/clang-doc/Generators.h
+4-4clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
+4-4clang-tools-extra/clang-doc/ClangDoc.cpp
+3-3clang-tools-extra/clang-doc/HTMLGenerator.cpp
+2-2clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
+1-1clang-tools-extra/clang-doc/Generators.cpp
+21-211 files not shown
+22-227 files

LLVM/project 4aae246clang-tools-extra/clang-doc Representation.cpp Representation.h, clang-tools-extra/unittests/clang-doc MergeTest.cpp ClangDocTest.cpp

[clang-doc] Migrate Namespaces to arena allocation

This patch allocates the NamespaceInfo types in the local arenas, and
adapts the merging logic for the new list type and its children.
Memory use and performance improve slightly. Micro-benchmarks show a
regression in merge operations due to the more complex list operations.

 ## Build Clang-Doc Documentation
| Metric | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Time | 920.5s | 1009.2s | 1002.4s | +8.9% | -0.7% |
| Memory | 86.0G | 43.2G | 43.9G | -49.0% | +1.6% |

 ## Microbenchmarks (Filtered for >1% Delta)
| Benchmark | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| BM_BitcodeReader_Scale/10 | 67.9us | 69.7us | 69.3us | +1.9% | -0.7% |
| BM_BitcodeReader_Scale/10000 | 70.5ms | 22.3ms | 24.8ms | -64.8% | +11.4% |
| BM_BitcodeReader_Scale/4096 | 23.2ms | 4.7ms | 4.4ms | -80.9% | -5.7% |

    [22 lines not shown]
DeltaFile
+26-1clang-tools-extra/clang-doc/Representation.cpp
+8-8clang-tools-extra/unittests/clang-doc/MergeTest.cpp
+8-2clang-tools-extra/clang-doc/Representation.h
+7-3clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
+6-3clang-tools-extra/clang-doc/JSONGenerator.cpp
+4-4clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
+59-217 files not shown
+83-3713 files

LLVM/project 326dfd8clang-tools-extra/clang-doc Representation.cpp

[clang-doc] Consolidate merging logic

As we migrate things in the arena, this logic may get more complex.
Factoring it out now, will give clear extension points to make this
easier to manage.
DeltaFile
+10-9clang-tools-extra/clang-doc/Representation.cpp
+10-91 files

LLVM/project f48d7f2clang-tools-extra/clang-doc Representation.h

[clang-doc] Enforce arena allocated types are trivially destructible

We can enforce at compile-time that the types we want to place in the
arenas are always safe to allocate there.
DeltaFile
+26-0clang-tools-extra/clang-doc/Representation.h
+26-01 files

LLVM/project a11d603clang-tools-extra/clang-doc BitcodeReader.cpp BitcodeReader.h

[clang-doc] Simplify parsing and reading bitcode blocks

Much of the logic int he readBlock implementation is boilerplate, and is
repeated for each implementation/specialization. This will become much
worse as we introduce new custom block reading logic as we migrate
towards arena allocation. In preparation for that, we're introducing the
change in logic now, which should make later refactoring much more
straightforward.
DeltaFile
+103-120clang-tools-extra/clang-doc/BitcodeReader.cpp
+5-0clang-tools-extra/clang-doc/BitcodeReader.h
+1-1clang-tools-extra/clang-doc/Representation.h
+109-1213 files

LLVM/project 242a7e1clang-tools-extra/clang-doc BitcodeReader.cpp Serialize.cpp, clang-tools-extra/unittests/clang-doc MDGeneratorTest.cpp BitcodeTest.cpp

[clang-doc] Make CommentInfo arena allocated

This patch move the CommentInfo type into the arena. It updates block
handling to collect child info types and serialize the array in one
shot.

We also clean up the test code to avoid using the arenas in the tests.
This has the upside of making the test more hermetic, and avoids churn
in the related code as the allocation API interfaces evolve.

Performance and memory usage regress slightly. This is somewhat expected
as we do not yet aggressively release short term memory during merge
operations. Future patches will reclaim this overhead.

| Metric | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Time | 920.5s | 998.5s | 1010.5s | +9.8% | +1.2% |
| Memory | 86.0G | 43.8G | 47.8G | -44.4% | +9.2% |


    [26 lines not shown]
DeltaFile
+124-94clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
+70-111clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
+66-103clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
+15-30clang-tools-extra/unittests/clang-doc/MergeTest.cpp
+17-9clang-tools-extra/clang-doc/BitcodeReader.cpp
+15-5clang-tools-extra/clang-doc/Serialize.cpp
+307-3526 files not shown
+345-37012 files

LLVM/project f571196clang-tools-extra/clang-doc BitcodeReader.cpp JSONGenerator.cpp

[clang-doc] Refactor FriendInfo parameters to use ArrayRef

This also adapts readBlock for the new layouts.
DeltaFile
+45-7clang-tools-extra/clang-doc/BitcodeReader.cpp
+2-2clang-tools-extra/clang-doc/JSONGenerator.cpp
+1-2clang-tools-extra/clang-doc/Serialize.cpp
+1-2clang-tools-extra/clang-doc/BitcodeWriter.cpp
+1-1clang-tools-extra/clang-doc/Representation.h
+50-145 files

LLVM/project 39f2bbdclang-tools-extra/clang-doc Representation.h

[clang-doc] Prepare Info types for Arena allocation

To allocate Info structures directly in an Arena, they cannot have
members with nontrivial destructors, or we will leak memory. Before we
migrate them, we can replace growable vector types with intrusive lists.

This introduces some slight overhead as these types now have new pointer
members for use in ilists in later patches.

| Metric | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Time | 920.5s | 1005.7s | 1010.5s | +9.8% | +0.5% |
| Memory | 86.0G | 42.1G | 42.9G | -50.2% | +1.8% |

| Benchmark | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| BM_BitcodeReader_Scale/10 | 67.9us | 68.6us | 69.2us | +1.9% | +0.9% |
| BM_BitcodeReader_Scale/10000 | 70.5ms | 21.3ms | 21.9ms | -68.9% | +2.8% |
| BM_BitcodeReader_Scale/4096 | 23.2ms | 4.6ms | 4.6ms | -80.0% | +0.8% |

    [24 lines not shown]
DeltaFile
+9-8clang-tools-extra/clang-doc/Representation.h
+9-81 files

LLVM/project 0d5b73dclang-tools-extra/clang-doc BitcodeReader.cpp Serialize.cpp, clang-tools-extra/unittests/clang-doc BitcodeTest.cpp YAMLGeneratorTest.cpp

[clang-doc] Introduce TransientArena for short lived allocations

With strings interned, we can move the StringRefs in various Info
structs into a new short lived arena. This change migrates the remaining
SmallVectors in CommentInfo to use an ArrayRef backed by the new
transient arena.

This results in further minor reductions in overall memory usage, but no
significant effect on runtime performance.

| Metric | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Time | 920.5s | 1011.0s | 1005.7s | +9.2% | -0.5% |
| Memory | 86.0G | 44.9G | 42.1G | -51.0% | -6.2% |

| Benchmark | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| BM_BitcodeReader_Scale/10 | 67.9us | 70.0us | 68.6us | +1.0% | -2.0% |
| BM_BitcodeReader_Scale/10000 | 70.5ms | 21.3ms | 21.3ms | -69.8% | -0.0% |

    [23 lines not shown]
DeltaFile
+74-11clang-tools-extra/clang-doc/BitcodeReader.cpp
+30-4clang-tools-extra/clang-doc/Serialize.cpp
+15-4clang-tools-extra/clang-doc/Representation.h
+0-15clang-tools-extra/clang-doc/YAMLGenerator.cpp
+9-2clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
+9-2clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
+137-383 files not shown
+153-419 files

LLVM/project 8cd2795clang-tools-extra/clang-doc YAMLGenerator.cpp Representation.h

[clang-doc] Switch to string internment

This is the first step in migrating all the Info types to be POD. We
introduced a shared string saver that can be used safely across threads,
and updated the internal represntation of various data types to use
these over owned strings, like SmallString or std::string.

This also required changes to YAMLGenerator to keep the single quoted
string formatting and to update the YAML traits.

This change gives an almost 50% reduction in peak memory when building
documentation for clang, at about a 10% performance loss. Future patches
can mitigate the performance penalties, and further reduce memory use.

| Metric | Baseline | Prev | This | Culm% | Seq% |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Time | 920.5s | 920.5s | 1011.0s | +9.8% | +9.8% |
| Memory | 86.0G | 86.0G | 44.9G | -47.8% | -47.8% |


    [22 lines not shown]
DeltaFile
+160-39clang-tools-extra/clang-doc/YAMLGenerator.cpp
+90-45clang-tools-extra/clang-doc/Representation.h
+51-51clang-tools-extra/clang-doc/Serialize.cpp
+27-29clang-tools-extra/clang-doc/Representation.cpp
+10-5clang-tools-extra/clang-doc/BitcodeReader.cpp
+5-5clang-tools-extra/clang-doc/Serialize.h
+343-1743 files not shown
+353-1839 files

DragonFlyBSD/src 0216f6egames/sail dr_5.c, sys/bus/u4b/wlan if_urtwn.c

Fix GCC 12.5's -Warray-parameter warnings.

It was introduced in GCC 11 and is part of -Wall.

The ncurses fix was taken from upstream.
DeltaFile
+6-6sys/crypto/sha2/sha2.c
+4-4sys/netinet/ip_carp.c
+5-3sys/bus/u4b/wlan/if_urtwn.c
+4-4games/sail/dr_5.c
+3-2sys/netproto/802_11/wlan/ieee80211_scan.c
+2-2sys/netproto/802_11/ieee80211_proto.h
+24-219 files not shown
+34-3015 files

FreeBSD/ports e116d24security/tailscale distinfo Makefile

security/tailscale: Update to 1.96.4

MFH:            2026Q2
(cherry picked from commit 67059531b34a56ec948a8efe5806c00528b5a28b)
DeltaFile
+5-5security/tailscale/distinfo
+2-3security/tailscale/Makefile
+7-82 files

LLVM/project a76750eclang/test/CodeGenObjC exceptions.m, clang/test/Headers __clang_hip_math.hip

Revert "[SimplifyCFG] Extend jump-threading to allow live local defs … (#190269)

…(#135079)"

This reverts commit a757f23404c594f4a48b4ddb6625f88b349d11d5. Commit
causes reduce.cu file in hipcub/warp go from 2 minutes of compilation to
taking several hours.
DeltaFile
+736-647clang/test/Headers/__clang_hip_math.hip
+0-195llvm/test/Transforms/SimplifyCFG/jump-threading-live-on-exit.ll
+0-95llvm/test/Transforms/SimplifyCFG/jump-threading-max-jump-threading-live-blocks.ll
+10-61llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+20-16llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
+10-9clang/test/CodeGenObjC/exceptions.m
+776-1,0236 files

FreeBSD/ports 6705953security/tailscale distinfo Makefile

security/tailscale: Update to 1.96.4

MFH:            2026Q2
DeltaFile
+5-5security/tailscale/distinfo
+2-3security/tailscale/Makefile
+7-82 files

LLVM/project 9d18702utils/bazel/llvm-project-overlay/clang BUILD.bazel

[Bazel] Port b1ef47f45966f06f263dc96d83c869393952cbf8 (#190278)
DeltaFile
+2-0utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+2-01 files

OpenBSD/ports cowOuMgarchivers/xz distinfo Makefile

   archivers/xz: update to 5.8.3

   Includes a fix for
   CVE-2026-34743: Buffer overflow in lzma_index_append()
VersionDeltaFile
1.29+2-2archivers/xz/distinfo
1.57+2-2archivers/xz/Makefile
+4-42 files

FreeBSD/src 0ae28e5sys/dev/ena ena.c ena_rss.h

ena: Minor changes

1. Move parenthesis to correct place in switch and fix include order
2. Add comment at the end of an ifdef for clarity
3. Change include order.

Reviewed by: cperciva
Differential Revision: https://reviews.freebsd.org/D55696
Sponsored by: Amazon, Inc.

(cherry picked from commit 2667a8454cff5896c7b467c78cd4ace5ad40f5eb)
DeltaFile
+2-3sys/dev/ena/ena.c
+1-2sys/dev/ena/ena_rss.h
+3-52 files

FreeBSD/src f5370d1sys/dev/ena ena_netmap.c

ena: Verify that an ENA ring is in netmap only in native mode

netmap operates in two modes:
1) Emulated - netmap handling is done by the network stack, the
NIC driver operates transparently to netmap.
2) Native - netmap management is done by the NIC driver.

When checking whether a specific ENA ring is running in netmap
mode, only the following checks were done:
1. IFCAP_NETMAP - Check whether netmap capability is enabled on
the device.
2. NKR_NETMAP_ON - Check whether netmap is actively using this
ring.

The above checks implied that the netmap mode is native and the
ENA driver needs to handle the netmap logic.
The code was missing an explicit check on whether native mode
is actually on (NAF_NATIVE).
This led to a case where though emulated mode was used and

    [19 lines not shown]
DeltaFile
+5-3sys/dev/ena/ena_netmap.c
+5-31 files

FreeBSD/src 5fdb633sys/dev/ena ena.h

ena: Update driver version to v2.8.2

Bug Fixes:
* Verify that an ENA ring is in netmap only in native mode

Minor Changes:
* Move parenthesis to correct place in switch
* Add comment
* Reorder define

Reviewed by: cperciva
Differential Revision: https://reviews.freebsd.org/D55698
Sponsored by: Amazon, Inc.

(cherry picked from commit 96c5eaf0ac6b98d0832e1037d672064de43a7e00)
DeltaFile
+1-1sys/dev/ena/ena.h
+1-11 files

LLVM/project b9f8089clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp

Use vfs from ast context to get gpubinary
DeltaFile
+5-2clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+5-21 files

FreeBSD/src 3e9f4fdlib/libsys mq_open.2

mq_open(2): document sysctl limit EINVAL and ENFILE conditions

Document two missing error conditions for mq_open(2):

- EINVAL: returned when mq_maxmsg exceeds kern.mqueue.maxmsg or
  mq_msgsize exceeds kern.mqueue.maxmsgsize.
- ENFILE: add kern.mqueue.maxmq sysctl name to the existing entry.

PR:             243209
Reviewed by:    mhorne
MFC after:      1 week
Signed-off-by:  Kit Dallege <xaum.io at gmail.com>
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2098
DeltaFile
+22-1lib/libsys/mq_open.2
+22-11 files

FreeBSD/src b345e18sys/dev/ena ena_netmap.c

ena: Verify that an ENA ring is in netmap only in native mode

netmap operates in two modes:
1) Emulated - netmap handling is done by the network stack, the
NIC driver operates transparently to netmap.
2) Native - netmap management is done by the NIC driver.

When checking whether a specific ENA ring is running in netmap
mode, only the following checks were done:
1. IFCAP_NETMAP - Check whether netmap capability is enabled on
the device.
2. NKR_NETMAP_ON - Check whether netmap is actively using this
ring.

The above checks implied that the netmap mode is native and the
ENA driver needs to handle the netmap logic.
The code was missing an explicit check on whether native mode
is actually on (NAF_NATIVE).
This led to a case where though emulated mode was used and

    [19 lines not shown]
DeltaFile
+5-3sys/dev/ena/ena_netmap.c
+5-31 files