Re: More acorn32 breakage (was Re: Issues with new i2c framework)
Richard Earnshaw <[email protected]> Thu, 09 Oct 2003 10:46:45 +0100
| Newsgroups | gmane.os.netbsd.ports.acorn32,gmane.os.netbsd.ports.arm,gmane.os.netbsd.ports.arm26 |
|---|---|
| Organization | ARM Ltd. |
| Message-ID | <[email protected]> |
> > Problem 2: > /usr/tools//bin/arm--netbsdelf-gcc -ffreestanding -O2 -march=armv3m > -mtune=strongarm -Wcomment -Werror -Wall -Wno-main > -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes > -Wstrict-prototypes -Wno-sign-compare -Wno-uninitialized -Darm32 -I. > -I/work/src/sys/arch -I/work/src/sys -nostdinc -DNMBCLUSTERS="0x800" > -DNBUF="0x800" -DLKM -DARM32_PMAP_NEW -DMAXUSERS=32 -D_KERNEL > -D_KERNEL_OPT -c > /work/src/sys/arch/arm/arm32/fault.c/var/tmp//ccKPl5KD.s: Assembler > messages:/var/tmp//ccKPl5KD.s:184: Error: selected processor does not > support `ldrh r1,[r5]' > > *** Failed target: fault.o > > > > fault.c contains an ARMV4 specific instruction ldrh. Which is not > available on ARM6/7 and even StrongARM on acorn32 due to limitations of > the CPU bus. I'm not sure what the correct fix for this is. Looking at > CVS this has been in the code since revision 1.3 of this file but the > new tools are being more strict and complaining about the problem. > Well, the bad instruction is in badaddr_read, which is currently only needed for PCI support. And PCI support is going to be unlikely on any machine that doesn't support ldrh. So why not just include "opt_pci.h and wrap the entire badaddr_read function in #if NPCI > 0 That way we don't get a dead function on other machines that don't have PCI either (eg on a Shark). R.