[newbie alert] How does FreeBSD support hardware?
- Reply: Steve O'Hara-Smith : "Re: [newbie alert] How does FreeBSD support hardware?"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 30 Nov 2021 04:19:35 UTC
I am confused about how FreeBSD supports every new generation of processors, e.g. from Intel. I guess, FreeBSD uses GNU "gas" to which Intel actively contributes code to keep that assembler updated for every iteration (model) of Intel's processors. So when the kernel and userland are built, Clang/LLVM uses "gas" to generate binaries to support newer instructions as provided by the processor. But, what is the magic within FreeBSD that makes the whole system be aware of changed instructions such that all the code (which need not necessarily be updated throughout with every new processor iteration) gets optimized well? How would FreeBSD applications know of changes like AVX2 and SIMD and utilize them without the core developers specifically modifying some sections of the kernel and "libc" to tap into the enhanced instructions? And do the core developers undertake such a task with introduction of new models of processors (I guess once every 18 months)? Thank you. ~Mayuresh