03:57:41 [illumos-gate] 17919 MAC softring (set) status and types should be enums and documented -- Kyle Simpson 13:48:46 Wow, this is sounds great: https://github.com/LuminousMonkey/xf86-video-illumosfb 13:49:08 Provides an unaccelerated framebuffer driver for running a 2D X11 desktop on illumos systems where no native GPU driver exists (e.g. Nvidia Blackwell, recent AMD, Intel Arc). Works with any system that exposes a UEFI GOP framebuffer via /dev/fb0 through the kernel's gfxp_bitmap driver. 14:09:05 hrm.. not a huge deal, but all of that pointer indirection and feature detection might be able to be replaced with linker capabilities... 14:10:23 unfortunately, they're not well known, but are kinda neat 14:11:10 (basically you can provide different implementations of the same function using different CPU features, and the linker will pick the 'best' one) 14:19:04 i'm handwaving a bit, but that's the basic idea 20:13:23 symbol caps in the kernel would require krtld support 20:13:31 (so would object caps, but I'm going to assume nobody wants those) 20:16:38 it's an x86 driver through, not a kernel driver 20:16:48 so userland 20:17:18 so presumably if it's built as an .so, it'd work... 20:17:46 granted, I'm not sure how challenging it'd be to build it with autoconf 20:18:03 oh I somehow thought you were looking at the network performance stuff out of oxide 20:18:27 no i was talking about the xf86-video-illumosfb driver 20:18:50 i took a look and it's using a function pointer to pick an optimized 'copy' routine based on avx support 20:20:11 at least it's not STT_GNU_IFUNC 20:20:23 which see, if you have the stomach 20:20:38 :o 20:21:36 is that the gcc 'dispatch a function based on cpu capabilities' bit? 20:27:59 jbk: that's the GNU "bind a function based on the runtime linker calling a user-function that chooses" 20:28:14 it's "more general" 20:31:36 oh yeah 20:59:27 rmustacc: should https://github.com/illumos/illumos-gate/blob/master/usr/src/uts/i86pc/io/pci/pci_prd_i86pc.c#L797-L811 be using pci_prd_upcalls->pru_bus2dip_f() there (or any reason not to do that you can think of?)