On 2023-12-11 10:11 AM, Christoph Hellwig wrote: >> +#ifdef __riscv_f >> + >> +#define kernel_fpu_begin() \ >> + static_assert(false, "floating-point code must use a separate translation unit") >> +#define kernel_fpu_end() kernel_fpu_begin() >> + >> +#else >> + >> +void kernel_fpu_begin(void); >> +void kernel_fpu_end(void); >> + >> +#endif > > I'll assume this is related to trick that places code in a separate > translation unit, but I fail to understand it. Can you add a comment > explaining it? Yes, I can add a comment. Here, __riscv_f refers to RISC-V's F extension for single-precision floating point, which is enabled by CC_FLAGS_FPU.