> On May 2, 2015, at 4:52 AM, Christos Zoulas <chris...@zoulas.com> wrote: > > On May 1, 1:46pm, m...@3am-software.com (Matt Thomas) wrote: > -- Subject: Re: CVS commit: src/sys/arch/mips/include > > | > | > On May 1, 2015, at 11:37 AM, Christos Zoulas <chris...@netbsd.org> wrote: > | > > | > Module Name: src > | > Committed By: christos > | > Date: Fri May 1 18:37:40 UTC 2015 > | > > | > Modified Files: > | > src/sys/arch/mips/include: locore.h > | > > | > Log Message: > | > change #error to KASSERT > | > > | > > | > To generate a diff of this commit: > | > cvs rdiff -u -r1.95 -r1.96 src/sys/arch/mips/include/locore.h > | > | This change is incorrect. #error is the right thing for this case. > > Please read the comment in cpu.h: > > /* Assume all CPU architectures are valid for LKM's and standlone progs */ > > You can't have it both ways... I.e. You'll need to make changes to cpu.h > if you want to keep #error, or add more ifdefs around it.
Not all ABIs run on all CPU architectures. N32/N64 are 64-bit only so you can exclude all MIPS32 and MIPS1/MIPS2 cpus. The ABI for the kernel must be the same as the ABI for modules. This is not a CPU issue as much as an ABI issue. And that’s invariant so #error is correct.