devel/boost-libs: fix build on powerpc64le/CURRENT
After powerpc64le's switch to 128-bit long double, this port fails
to build. The reason is that boost expects 128-bit long double to be
the same type as __float128. Clang doesn't enable __float128 by default.
It does so after passing -mfloat128, but even then treats long double
and __float128 as distinct types.
Upstream issue opened at https://github.com/boostorg/charconv/issues/299
riscv: Vector Extension (RVV) support.
RVV is a scalable SIMD (Single Instruction, Multiple Data) extension
designed to accelerate data-intensive workload such as AI, machine-learning
and DSP.
RVV exposes vector-length agnostic (VLA) execution and programming model,
with implementation defined vector register file size, dynamic vector
length selection, flexible register grouping, and rich instruction
semantics, serving as the foundation for portable, high-throughput
data-parallel acceleration.
Spec: https://github.com/riscvarchive/riscv-v-spec
RVV extends a base scalar RISC-V ISA with 32 vector registers and seven
unprivileged control-status registers (CSRs) to control the engine. Each
vector register could be up to 2^16 bits in length, depending on
implementation.
[12 lines not shown]
loader/efi: pre-allocate memory map buffer before ExitBootServices
Move the memory map allocation before the ExitBootServices retry
loop to ensure no boot service calls occur between GetMemoryMap
and ExitBootServices. This simplifies the control flow by removing
the inner sizing loop and matches the strategy used by the Linux
EFI stub.
Identified while investigating an ExitBootServices hang on
AMD AGESA 1.3.0.0a firmware (Gigabyte B650 GAMING X AX V2).
Signed-off-by: Christos Longros <chris.longros at gmail.com>
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D56249