Subject: linux-next: kbuild tree build failure

From: Stephen Rothwell <[email-masked]>
Date: Mon, 7 Jul 2008 18:40:38 +1000

Hi Sam,

Today's linux-next build (powerpc ppc64_defconfig) failed like this:

arch/powerpc/platforms/cell/spu_base.c: In function '__spu_trap_data_seg':
arch/powerpc/platforms/cell/spu_base.c:194: error: duplicate case value
arch/powerpc/platforms/cell/spu_base.c:177: error: previously used here

This means that USER_REGION_ID (line 177) is the same as KERNEL_REGION_ID
(line 194).

>>From include/asm-powerpc/pgtable-ppc64.h:

#define REGION_SHIFT            60UL
#define REGION_MASK             (0xfUL << REGION_SHIFT)
#define REGION_ID(ea)           (((unsigned long)(ea)) >> REGION_SHIFT)

#define VMALLOC_REGION_ID       (REGION_ID(VMALLOC_START))
#define KERNEL_REGION_ID        (REGION_ID(PAGE_OFFSET))
#define VMEMMAP_REGION_ID       (0xfUL)
#define USER_REGION_ID          (0UL)

>>From include/asm-powerpc/page.h:

#define PAGE_OFFSET     ASM_CONST(CONFIG_PAGE_OFFSET)

>>From .config:

CONFIG_PAGE_OFFSET=0xffffffff

Not good.

>>From arch/powerpc/Kconfig (ADVANCED_OPTIONS is not set):

config PAGE_OFFSET_BOOL
        bool "Set custom page offset address"
        depends on ADVANCED_OPTIONS

config PAGE_OFFSET
        hex "Virtual address of memory base" if PAGE_OFFSET_BOOL
        default "0xc0000000"

if PPC64
config PAGE_OFFSET
        hex
        default "0xc000000000000000"
endif

Reverting commit 9ba4ff5059e1a26698786373c8c71321c37ef7f9 ("kconfig:
normalize int/hex values") seems to have fixed it.

>>From .config:

CONFIG_PAGE_OFFSET=0xc000000000000000

-- 
Cheers,
Stephen Rothwell                    [email-masked]
http://www.canb.auug.org.au/~sfr/