On Sun, Jun 13 2021, Matthieu Herrb <[email protected]> wrote: > On Sat, Jun 12, 2021 at 11:31:28PM -0600, Theo de Raadt wrote: >> Why not wrap all the ppc_altivec = 1 lines in #ifdef ALTIVEC >> >> Or at the end of cpuattach, #ifndef ALTIVEC, zero the variable. >> >> Obviously the sysctl should indicate 0, if the code support is missing. >> The sysctl isn't exposing if the cpu has the feature; it is exposing >> of the cpu+kernel have all the required support.. > > I'm suggesting the patch below to force machdep.altivec=0 if kernel > support is not there. > > With this patch on a kernel without 'option ALTIVEC', the pixman > tests pass (while they get SIGILL without the patch)
ok jca@ (No idea about the sdl2 problem reported by cwen@) > PS: To run the pixman tests, build pixman with make -f > Makefile.bsd-wrapper and then: cd obj/tests ; make check > (the tests are sorted by run time and running all of them can take > hours; I've interrupted them after cover-test) > > Index: cpu.c > =================================================================== > RCS file: /cvs/OpenBSD/src/sys/arch/macppc/macppc/cpu.c,v > retrieving revision 1.83 > diff -u -p -u -r1.83 cpu.c > --- cpu.c 29 May 2020 04:42:24 -0000 1.83 > +++ cpu.c 13 Jun 2021 06:23:38 -0000 > @@ -275,6 +275,9 @@ cpuattach(struct device *parent, struct > snprintf(cpu_model, sizeof(cpu_model), "Version %x", cpu); > break; > } > +#ifndef ALTIVEC /* altivec support absent from kernel */ > + ppc_altivec = 0; > +#endif > snprintf(cpu_model + strlen(cpu_model), > sizeof(cpu_model) - strlen(cpu_model), > " (Revision 0x%x)", pvr & 0xffff); -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
