That alternative will preclude us from ever having another split again. Just sticking $KARCH in the kernel module path and packaging is quite easy to do.
From: Peter Tribble <[email protected]> Date: Thursday, July 21, 2022 at 7:58 AM To: illumos-discuss <[email protected]> Subject: Re: [discuss] IPD 34 Rationalize Kernel Architecture Module Paths On Thu, Jul 21, 2022 at 7:39 AM Garrett D'Amore <[email protected]<mailto:[email protected]>> wrote: I’ve posted IPD 34 for discussion: https://github.com/illumos/ipd/blob/master/ipd/0034/README.md Personally, I believe this should be about as non-controversial as it is possible for an IPD to be. In a nutshell, this IPD basically prohibits any new architecture ports from using paths like /kernel/drv without including the CPU architecture bit. So in other words, /kerneld/drv/aarch64/mptsas is fine, but /kernel/drv/mptsas is not. The alternative, of course, is to drop the architecture subdirectory entirely, and only have /kernel/drv/mptsas. The only reason for the split was to support bi-arch installations where the preferred pathname was already in use, something that's no longer needed (and which we can declare we will never do again). Dropping the arch from the path makes life a lot easier. The installation looks a lot cleaner and less confusing; packaging is much simpler as you don't need so many conditionals. (A given file is always in the same place no matter which architecture you're using - the only reason to have conditionals in packaging is for things that are only shipped on a subset of architectures.) I think unleashed took that path of hoisting everything up into the default location too. The downside, naturally, is that it's not where we are today. This matches the current 64-bit platform we support (and also prior sparcv9), but it specifically precludes new architectures from “assuming” that they can skip this in the same way that the 32-bit legacy architectures did. Note that no code has to change in the current implementation to facilitate this, although it will enable some cleanups and generalizations in man pages, and possibly also in our kernel Makefiles. This should make it easier for the folks working on new platform ports like ARM64. * Garrett -- -Peter Tribble http://www.petertribble.co.uk/ - http://ptribble.blogspot.com/ illumos<https://illumos.topicbox.com/latest> / illumos-discuss / see discussions<https://illumos.topicbox.com/groups/discuss> + participants<https://illumos.topicbox.com/groups/discuss/members> + delivery options<https://illumos.topicbox.com/groups/discuss/subscription> Permalink<https://illumos.topicbox.com/groups/discuss/T1e2dd14a87abc530-M2b3146187af8afcf76462e09> ------------------------------------------ illumos: illumos-discuss Permalink: https://illumos.topicbox.com/groups/discuss/T1e2dd14a87abc530-Mcd32ab08f7e702b367c5de76 Delivery options: https://illumos.topicbox.com/groups/discuss/subscription
