Vincent, > This version(0.2) of the CardBus driver is based on an old Nevada build. > And the main targets of this version are x86 laptops. If we sync the > code with the latest Neveda source, it won't work for people running an > old Solaris build due to the DDI interface change. The purpose is to > make it run for as many people as possible so we can catch potential > bugs on some unknown x86 laptops before we integrate the offical > version. X86 laptops are very diverse.
ok, I see. > The latest Nevada is very different from the original S10. But there're > some hacks in the CardBus code to handle these changes properly. So the > downloadable bits can be installed on S10, S10u1, S10u2, and Nevada. > Note this version is for testing purpose only. The official release will > be very clean, with all these hacks removed. I'm working on it right now. Great: could you make a snapshot of that work available so I could try it on SPARC, too? > I haven't tried to compile this version on SPARC for some months, since > I haven't received any feedback for SPARC (you're the first one.), so > there could be some minor problems. You may wait some time until the > offical version is available or make the changes yourself. It won't take > much time for you since it used to work well. As I reported, I've most of the issues sorted out already, with two exceptions: > > > * Even with the changes above, which made the code compile on x86, the > > sparc build still failed: > > > > cardbus.c fails to compile on sparc: > > > >"../../common/io/cardbus.c", line 528: syntax error before or at: > >psm_intr_op_t > > > > psm_intr_op_t only defined in usr/src/uts/i86pc/sys/psm_types.h > > > >"../../common/pcmcia/nexus/pcmcia.c", line 4849: syntax error before or at: = > > > > ddi_ispec_t is only used in > > > >./common/io/cardbus.c:#include "sys/nexusintr_impl.h" /* for ddi_ispec_t */ > >./common/pcmcia/nexus/pcmcia.c: ddi_ispec_t *ip = (ddi_ispec_t > >*)hdlp->ih_private; > >./common/pcmcia/nexus/pcmcia.c: ddi_ispec_t *ip = (ddi_ispec_t > >*)hdlp->ih_private; > > > > but no definition anywhere. I don't yet have a clear idea how to deal with those compilation failures. > > pcan.c fails to compile at all: > > > >+ /opt/onstudio10/SUNWspro/bin/cc -xarch=amd64 -Ui386 -U__i386 -xO3 > >../../intel/amd64/ml/amd64.il -D_ASM_INLINES -Xa -xspace -Wu,-xmodel=kernel > >-Wu,-save_args -v -xildoff -g -xc99=%none -W0,-noglobal -errtags=yes > >-errwarn=%all -xc99=%none -v -D_KERNEL -D_SYSCALL32 -D_SYSCALL32_IMPL > >-D_ELF64 -D_DDI_STRICT -Dsun -D__sun -D__SVR4 -DDEBUG -D_SIMULATOR_SUPPORT > >-DC2_AUDIT -I../../intel -I../../common/pcmcia -I../../i86pc -Y > >I,../../common -c -o debug64/pcan.o ../../common/io/pcmcia/pcan.c > >"../../common/io/pcmcia/pcan.c", line 408: warning: implicitly declaring > >function to return int: REG_WRITE() (E_IMPLICIT_DECL_FUNC_RETURN_INT) > >"../../common/io/pcmcia/pcan.c", line 1304: warning: implicitly declaring > >function to return int: REG_READ() (E_IMPLICIT_DECL_FUNC_RETURN_INT) > >"../../common/io/pcmcia/pcan.c", line 1916: warning: implicitly declaring > >function to return int: REG_READ_P() (E_IMPLICIT_DECL_FUNC_RETURN_INT) > >"../../common/io/pcmcia/pcan.c", line 1978: warning: implicitly declaring > >function to return int: REG_WRITE_P() (E_IMPLICIT_DECL_FUNC_RETURN_INT) > >cc: acomp failed for ../../common/io/pcmcia/pcan.c > >*** Error code 2 > >dmake: Warning: Command failed for target `debug64/pcan.o' > > > > I've found no definition of those four macros at all. This must be a bug in the pcan sources provided: they don't compile on either sparc or x86. Rainer ----------------------------------------------------------------------------- Rainer Orth, Faculty of Technology, Bielefeld University