Date: Tue, 30 Nov 2021 05:19:35 +0100 From: =?utf-8?q?mayuresh=40kathe.in?= <mayuresh@kathe.in> To: "FreeBSD Questions" <freebsd-questions@freebsd.org> Subject: [newbie alert] How does FreeBSD support =?utf-8?q?hardware=3F?= Message-ID: <5e22-61a5a680-501-7ea77800@46311397>
next in thread | raw e-mail | index | archive | help
I am confused about how FreeBSD supports every new generation of proces= sors, e.g. from Intel. I guess, FreeBSD uses GNU "gas" to which Intel actively contributes cod= e 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 gen= erate binaries to support newer instructions as provided by the process= or. But, what is the magic within FreeBSD that makes the whole system be aw= are of changed instructions such that all the code (which need not nece= ssarily be updated throughout with every new processor iteration) gets = optimized well? How would FreeBSD applications know of changes like AVX2 and SIMD and u= tilize them without the core developers specifically modifying some sec= tions of the kernel and "libc" to tap into the enhanced instructions? And do the core developers undertake such a task with introduction of n= ew models of processors (I guess once every 18 months)? Thank you. ~Mayuresh
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5e22-61a5a680-501-7ea77800>