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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"