On Thu, Aug 28, 2008 at 04:25:54PM +0300, Kostik Belousov wrote:
> > /src/sys/modules/cyclic/../../cddl/compat/opensolaris/sys/cpuvar.h:72: 
> > error: size of array 'cpuc_pad' is too large
> > *** Error code 1
> 
> This one is caused by struct sx difference between stable/7 and head.
> More detailed, sizeof(struct sx) in the LINT build exceeds 56 bytes,
> and causes CPUC_PADSIZE to be negative.
> 
> I think that CPU_CACHE_COHERENCE_SIZE shall be defined as roundup. Unless
> you have objections, I will commit this to HEAD with short MFC period:

Please go ahead. Thanks (and sorry for the pain).

> 
> diff --git a/sys/cddl/compat/opensolaris/sys/cpuvar.h 
> b/sys/cddl/compat/opensolaris/sys/cpuvar.h
> index df0af5c..b42fda6 100644
> --- a/sys/cddl/compat/opensolaris/sys/cpuvar.h
> +++ b/sys/cddl/compat/opensolaris/sys/cpuvar.h
> @@ -65,7 +65,8 @@ extern solaris_cpu_t    solaris_cpu[];
>   */
>  #define      CPUC_SIZE               (sizeof (uint16_t) + sizeof (uintptr_t) 
> + \
>                               sizeof (kmutex_t))
> -#define      CPUC_PADSIZE            CPU_CACHE_COHERENCE_SIZE - CPUC_SIZE
> +#define      CPUC_SIZE1              roundup(CPUC_SIZE, 
> CPU_CACHE_COHERENCE_SIZE)
> +#define      CPUC_PADSIZE            CPUC_SIZE1 - CPUC_SIZE
>  
>  typedef struct cpu_core {
>       uint16_t        cpuc_dtrace_flags;      /* DTrace flags */


--
John Birrell
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to