blob: 368ab569bd3da7a3102a976044a79bdb190b06f6 [file] [log] [blame]
STATE_DEFS = \
-D__SPLIT__extra_size \
-D__SPLIT__extra_align \
-D__SPLIT__cpregs_size \
-D__SPLIT__cpregs_align \
-D__SPLIT__cp_names \
-D__SPLIT__all_extra_size \
-D__SPLIT__all_extra_align \
-D__SPLIT__num_coprocessors \
-D__SPLIT__cp_num \
-D__SPLIT__cp_max \
-D__SPLIT__cp_mask \
-D__SPLIT__cp_id_mappings \
-D__SPLIT__cp_mask_mappings \
-D__SPLIT__init_mem_extra \
-D__SPLIT__init_mem_cp \
-D__SPLIT__save_extra \
-D__SPLIT__restore_extra \
-D__SPLIT__save_cpregs \
-D__SPLIT__save_cp0 \
-D__SPLIT__save_cp1 \
-D__SPLIT__save_cp2 \
-D__SPLIT__save_cp3 \
-D__SPLIT__save_cp4 \
-D__SPLIT__save_cp5 \
-D__SPLIT__save_cp6 \
-D__SPLIT__save_cp7 \
-D__SPLIT__restore_cpregs \
-D__SPLIT__restore_cp0 \
-D__SPLIT__restore_cp1 \
-D__SPLIT__restore_cp2 \
-D__SPLIT__restore_cp3 \
-D__SPLIT__restore_cp4 \
-D__SPLIT__restore_cp5 \
-D__SPLIT__restore_cp6 \
-D__SPLIT__restore_cp7 \
-D__SPLIT__cpregs_save_fn \
-D__SPLIT__cpregs_restore_fn \
-D__SPLIT__validate_cp \
-D__SPLIT__invalidate_cp \
-D__SPLIT__get_cpenable \
-D__SPLIT__set_cpenable
STATE_DEFS_CNL = \
-D__SPLIT__extra_size \
-D__SPLIT__extra_align \
-D__SPLIT__cpregs_size \
-D__SPLIT__cpregs_align \
-D__SPLIT__cp_names \
-D__SPLIT__all_extra_size \
-D__SPLIT__all_extra_align \
-D__SPLIT__num_coprocessors \
-D__SPLIT__cp_num \
-D__SPLIT__cp_max \
-D__SPLIT__cp_mask \
-D__SPLIT__cp_id_mappings \
-D__SPLIT__cp_mask_mappings \
-D__SPLIT__init_mem_extra \
-D__SPLIT__init_mem_cp \
-D__SPLIT__save_extra \
-D__SPLIT__restore_extra \
-D__SPLIT__cpregs_save_fn \
-D__SPLIT__cpregs_restore_fn \
-D__SPLIT__validate_cp \
-D__SPLIT__invalidate_cp \
-D__SPLIT__get_cpenable \
-D__SPLIT__set_cpenable
DISASS_DEFS = \
-D__SPLIT__op0_format_lengths \
-D__SPLIT__byte0_format_lengths \
-D__SPLIT__disassemble_size \
-D__SPLIT__disassemble
MISC_DEFS = \
-D__SPLIT__clear_regcached_code
# Call0 ABI means the xthal... and xthal..._nw functions are
# identical. If we're building for Call0 ABI, omit the ..._nw
# functions (except for xthal_get_intpending_nw, an interrupt handler
# helper function for which there is no duplicate and which does not
# obey _any_ calling conventions).
INTERRUPTS_DEFS = \
-D__SPLIT__num_intlevels \
-D__SPLIT__num_interrupts \
-D__SPLIT__excm_level \
-D__SPLIT__intlevel \
-D__SPLIT__get_intenable \
-D__SPLIT__set_intenable \
-D__SPLIT__get_interrupt \
-D__SPLIT__set_intset \
-D__SPLIT__set_intclear
CACHE_DEFS = \
-D__SPLIT__get_cacheattr \
-D__SPLIT__get_icacheattr \
-D__SPLIT__set_cacheattr \
-D__SPLIT__set_icacheattr \
-D__SPLIT__set_dcacheattr \
-D__SPLIT__set_idcacheattr \
-D__SPLIT__idcache_is_enabled \
-D__SPLIT__icache_is_enabled \
-D__SPLIT__dcache_is_enabled \
-D__SPLIT__idcache_is_enabled \
-D__SPLIT__icache_all_invalidate \
-D__SPLIT__dcache_all_invalidate \
-D__SPLIT__dcache_all_writeback \
-D__SPLIT__dcache_all_writeback_inv \
-D__SPLIT__icache_all_unlock \
-D__SPLIT__dcache_all_unlock \
-D__SPLIT__icache_region_invalidate \
-D__SPLIT__dcache_region_invalidate \
-D__SPLIT__dcache_region_writeback \
-D__SPLIT__dcache_region_writeback_inv \
-D__SPLIT__icache_region_lock \
-D__SPLIT__dcache_region_lock \
-D__SPLIT__icache_region_unlock \
-D__SPLIT__dcache_region_unlock \
-D__SPLIT__icache_line_invalidate \
-D__SPLIT__dcache_line_invalidate \
-D__SPLIT__dcache_line_writeback \
-D__SPLIT__dcache_line_writeback_inv \
-D__SPLIT__icache_line_lock \
-D__SPLIT__dcache_line_lock \
-D__SPLIT__icache_line_unlock \
-D__SPLIT__dcache_line_unlock \
-D__SPLIT__icache_sync \
-D__SPLIT__dcache_sync \
-D__SPLIT__icache_get_ways \
-D__SPLIT__icache_set_ways \
-D__SPLIT__dcache_get_ways \
-D__SPLIT__dcache_set_ways \
-D__SPLIT__cache_coherence_on \
-D__SPLIT__cache_coherence_off \
-D__SPLIT__set_cache_prefetch_long \
-D__SPLIT__set_cache_prefetch \
-D__SPLIT__get_cache_prefetch \
-D__SPLIT__hw_configid0 \
-D__SPLIT__hw_configid1 \
-D__SPLIT__release_major \
-D__SPLIT__release_minor
if BUILD_BAYTRAIL
PLATFORM_DEFS = \
$(STATE_DEFS) \
$(DISASS_DEFS) \
$(MISC_DEFS) \
$(INTERRUPTS_DEFS) \
$(CACHE_DEFS)
endif
if BUILD_CHERRYTRAIL
PLATFORM_DEFS = \
$(STATE_DEFS) \
$(DISASS_DEFS) \
$(MISC_DEFS) \
$(INTERRUPTS_DEFS) \
$(CACHE_DEFS)
endif
if BUILD_BROADWELL
PLATFORM_DEFS = \
$(STATE_DEFS) \
$(DISASS_DEFS) \
$(MISC_DEFS) \
$(INTERRUPTS_DEFS) \
$(CACHE_DEFS)
endif
if BUILD_HASWELL
PLATFORM_DEFS = \
$(STATE_DEFS) \
$(DISASS_DEFS) \
$(MISC_DEFS) \
$(INTERRUPTS_DEFS) \
$(CACHE_DEFS)
endif
if BUILD_APOLLOLAKE
PLATFORM_DEFS = \
$(STATE_DEFS) \
$(DISASS_DEFS) \
$(MISC_DEFS) \
$(INTERRUPTS_DEFS) \
$(CACHE_DEFS)
endif
if BUILD_CANNONLAKE
PLATFORM_DEFS = \
$(STATE_DEFS_CNL) \
$(DISASS_DEFS) \
$(MISC_DEFS) \
$(INTERRUPTS_DEFS) \
$(CACHE_DEFS)
endif
noinst_LIBRARIES = libhal.a
libhal_a_SOURCES = \
attribute.c \
cache.c \
cache_asm.S \
clock.S \
coherence.c \
debug.c \
debug_hndlr.S \
disass.c \
int_asm.S \
interrupts.c \
memcopy.S \
mem_ecc_parity.S \
misc.c \
miscellaneous.S \
mmu.c \
mp_asm.S \
mpu_asm.S \
mpu.c \
set_region_translate.c \
state_asm.S \
state.c \
syscache_asm.S \
windowspill_asm.S
libhal_a_CFLAGS = \
$(ARCH_INCDIR) \
$(ARCH_CFLAGS) \
$(PLATFORM_INCDIR) \
$(PLATFORM_DEFS)
libhal_a_CCASFLAGS = \
$(ARCH_INCDIR) \
$(ARCH_ASFLAGS) \
$(PLATFORM_INCDIR) \
$(PLATFORM_DEFS)