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

Reply via email to