[okl4-developer] Problem with inline assembler on arm926ejs

Lukas HANEL lukas.hanel at st.com
Thu Apr 17 00:53:58 EST 2008


Hi

When switching to the 2.1 release I get the same compilation problem,
but now in the cache file:
okl4_2.1/arch/arm/pistachio/cpu/arm926ejs/include/cache.h

What can I do to get a correct version?

thanks,
Lukas Hänel

Listing:

~/okl4_2.1$ ./tools/build.py machine=nhk15 project=l4test simulate
scons: Reading SConscript files ...
architecture arm is not yet supported by libcompat.
architecture arm is not yet supported by libcompat.
scons: done reading SConscript files.
scons: Building targets ...
[INST] build/pistachio/include/kernel/cpu/cache.h
[CXX ] build/pistachio/l4kernel/object/src/asid.o
In file included from build/pistachio/include/kernel/arch/cache.h:67,
                 from build/pistachio/include/kernel/cache.h:139,
                 from build/pistachio/include/kernel/arch/ver/ptab.h:91,
                 from build/pistachio/include/kernel/arch/ver/pgent.h:93,
                 from build/pistachio/include/kernel/arch/pgent.h:70,
                 from build/pistachio/include/kernel/space.h:98,
                 from pistachio/src/asid.cc:62:
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::cache_flush_i()':
build/pistachio/include/kernel/cpu/cache.h:149: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h:147: warning: unused variable
'zero'
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::cache_flush_ent(void*, word_t)':
build/pistachio/include/kernel/cpu/cache.h:187: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h:184: warning: unused variable
'size'
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::cache_clean_invalidate_dlines(void*, word_t)':
build/pistachio/include/kernel/cpu/cache.h:211: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::cache_clean_dlines(void*, word_t)':
build/pistachio/include/kernel/cpu/cache.h:233: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::cache_invalidate_dlines(void*, word_t)':
build/pistachio/include/kernel/cpu/cache.h:255: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::cache_invalidate_ilines(void*, word_t)':
build/pistachio/include/kernel/cpu/cache.h:277: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::tlb_flush()':
build/pistachio/include/kernel/cpu/cache.h:333: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h:331: warning: unused variable
'zero'
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::tlb_flush_ent(void*, word_t)':
build/pistachio/include/kernel/cpu/cache.h:349: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::cache_invalidate_d_line(word_t)':
build/pistachio/include/kernel/cpu/cache.h:389: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::cache_invalidate_i()':
build/pistachio/include/kernel/cpu/cache.h:400: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h:398: warning: unused variable
'zero'
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::cache_invalidate_d()':
build/pistachio/include/kernel/cpu/cache.h:411: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h:409: warning: unused variable
'zero'
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::cache_clean(word_t)':
build/pistachio/include/kernel/cpu/cache.h:421: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::cache_drain_write_buffer()':
build/pistachio/include/kernel/cpu/cache.h:432: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h:430: warning: unused variable
'zero'
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::prefetch_icache(void*)':
build/pistachio/include/kernel/cpu/cache.h:442: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::lock_tlb_addr(void*)':
build/pistachio/include/kernel/cpu/cache.h:455: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::unlock_icache()':
build/pistachio/include/kernel/cpu/cache.h:472: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h:469: warning: unused variable
'unlock'
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::unlock_dcache()':
build/pistachio/include/kernel/cpu/cache.h:484: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h:481: warning: unused variable
'unlock'
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::lock_icache_range(void*, word_t, word_t)':
build/pistachio/include/kernel/cpu/cache.h:501: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h:495: warning: unused variable
'save'
build/pistachio/include/kernel/cpu/cache.h:497: warning: unused variable
'lock'
build/pistachio/include/kernel/cpu/cache.h:498: warning: unused variable
'vend'
build/pistachio/include/kernel/cpu/cache.h: In static member function
`static void arm_cache::lock_dcache_range(void*, word_t, word_t)':
build/pistachio/include/kernel/cpu/cache.h:533: error: expected `)'
before "_"
build/pistachio/include/kernel/cpu/cache.h:527: warning: unused variable
'save'
build/pistachio/include/kernel/cpu/cache.h:529: warning: unused variable
'lock'
build/pistachio/include/kernel/cpu/cache.h:530: warning: unused variable
'vend'
scons: *** [build/pistachio/l4kernel/object/src/asid.o] Error 1
scons: building terminated because of errors.

Source code example(line 145-154):
    static inline void cache_flush_i(void)
    {
        word_t zero = 0;
        __asm__ __volatile__ (
             "  mcr     p15, 0, "_(zero)", c7, c5, 0    ;"      /* Flush
I cache */
#if defined(__GNUC__)
            :: [zero] "r" (zero)
#endif
        );
    }




More information about the Developer mailing list