Skip to content

Commit 05d4e19

Browse files
tlaudajajanusz
authored andcommitted
apollolake: temporary change gcc hal state defs
Temporary changes xtensa hal state definitions for gcc builds. Change will be reverted after update of apollolake overlay. Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
1 parent c9a194b commit 05d4e19

File tree

6 files changed

+68
-4
lines changed

6 files changed

+68
-4
lines changed

src/arch/xtensa/smp/hal/CMakeLists.txt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,32 @@ set(STATE_DEFS
4242
-D__SPLIT__set_cpenable
4343
)
4444

45+
set(STATE_DEFS_APL_GCC
46+
-D__SPLIT__extra_size
47+
-D__SPLIT__extra_align
48+
-D__SPLIT__cpregs_size
49+
-D__SPLIT__cpregs_align
50+
-D__SPLIT__cp_names
51+
-D__SPLIT__all_extra_size
52+
-D__SPLIT__all_extra_align
53+
-D__SPLIT__num_coprocessors
54+
-D__SPLIT__cp_num
55+
-D__SPLIT__cp_max
56+
-D__SPLIT__cp_mask
57+
-D__SPLIT__cp_id_mappings
58+
-D__SPLIT__cp_mask_mappings
59+
-D__SPLIT__init_mem_extra
60+
-D__SPLIT__init_mem_cp
61+
-D__SPLIT__save_extra
62+
-D__SPLIT__restore_extra
63+
-D__SPLIT__cpregs_save_fn
64+
-D__SPLIT__cpregs_restore_fn
65+
-D__SPLIT__validate_cp
66+
-D__SPLIT__invalidate_cp
67+
-D__SPLIT__get_cpenable
68+
-D__SPLIT__set_cpenable
69+
)
70+
4571
set(DISASS_DEFS
4672
-D__SPLIT__op0_format_lengths
4773
-D__SPLIT__byte0_format_lengths
@@ -120,6 +146,10 @@ set(CACHE_DEFS
120146
-D__SPLIT__release_minor
121147
)
122148

149+
if(CONFIG_APOLLOLAKE AND NOT XCC)
150+
set(STATE_DEFS ${STATE_DEFS_APL_GCC})
151+
endif()
152+
123153
add_library(hal STATIC "")
124154
target_link_libraries(hal sof_options)
125155
target_compile_definitions(hal PRIVATE

src/arch/xtensa/smp/xtos/core-restore.S

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include <xtensa/xtruntime-core-state.h>
3333
#include "xtos-internal.h"
3434
#include <xtensa/idmaasm.h>
35+
#include <config.h>
3536

3637
.text
3738

@@ -232,7 +233,7 @@ _xtos_core_restore_nw:
232233
/* TIE state */
233234
addi a4, a3, CS_SA_ncp
234235
xchal_ncp_load a4, a5,a6,a7,a8 // restore non-coprocessor state
235-
#if XCHAL_HAVE_CP
236+
#if XCHAL_HAVE_CP && (!CONFIG_APOLLOLAKE || defined(XCC))
236237
movi a6, -1
237238
wsr.cpenable a6 // enable all coprocessors
238239
rsync

src/arch/xtensa/smp/xtos/core-save.S

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#include <xtensa/xtruntime-core-state.h>
3131
#include <xtensa/mpuasm.h>
3232
#include "xtos-internal.h"
33+
#include <config.h>
3334

3435
.weak _idma_pso_save
3536
//.type xtos_C_core_save, @function
@@ -551,7 +552,7 @@ _xtos_core_save_common:
551552
/* TIE state */
552553
addi a4, a3, CS_SA_ncp
553554
xchal_ncp_store a4, a5,a6,a7,a8 // save non-coprocessor state
554-
#if XCHAL_HAVE_CP
555+
#if XCHAL_HAVE_CP && (!CONFIG_APOLLOLAKE || defined(XCC))
555556
rsr.cpenable a5
556557
s32i a5, a3, CS_SA_cpenable
557558
movi a6, -1

src/arch/xtensa/up/hal/CMakeLists.txt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,32 @@ set(STATE_DEFS
4242
-D__SPLIT__set_cpenable
4343
)
4444

45+
set(STATE_DEFS_APL_GCC
46+
-D__SPLIT__extra_size
47+
-D__SPLIT__extra_align
48+
-D__SPLIT__cpregs_size
49+
-D__SPLIT__cpregs_align
50+
-D__SPLIT__cp_names
51+
-D__SPLIT__all_extra_size
52+
-D__SPLIT__all_extra_align
53+
-D__SPLIT__num_coprocessors
54+
-D__SPLIT__cp_num
55+
-D__SPLIT__cp_max
56+
-D__SPLIT__cp_mask
57+
-D__SPLIT__cp_id_mappings
58+
-D__SPLIT__cp_mask_mappings
59+
-D__SPLIT__init_mem_extra
60+
-D__SPLIT__init_mem_cp
61+
-D__SPLIT__save_extra
62+
-D__SPLIT__restore_extra
63+
-D__SPLIT__cpregs_save_fn
64+
-D__SPLIT__cpregs_restore_fn
65+
-D__SPLIT__validate_cp
66+
-D__SPLIT__invalidate_cp
67+
-D__SPLIT__get_cpenable
68+
-D__SPLIT__set_cpenable
69+
)
70+
4571
set(DISASS_DEFS
4672
-D__SPLIT__op0_format_lengths
4773
-D__SPLIT__byte0_format_lengths
@@ -120,6 +146,10 @@ set(CACHE_DEFS
120146
-D__SPLIT__release_minor
121147
)
122148

149+
if(CONFIG_APOLLOLAKE AND NOT XCC)
150+
set(STATE_DEFS ${STATE_DEFS_APL_GCC})
151+
endif()
152+
123153
add_library(hal STATIC "")
124154
target_link_libraries(hal sof_options)
125155
target_compile_definitions(hal PRIVATE

src/arch/xtensa/up/xtos/core-restore.S

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include <xtensa/config/core-isa.h>
3333
#include <xtensa/xtruntime-core-state.h>
3434
#include "xtos-internal.h"
35+
#include <config.h>
3536

3637

3738
.text
@@ -225,7 +226,7 @@ _xtos_core_restore_nw:
225226
/* TIE state */
226227
addi a4, a3, CS_SA_ncp
227228
xchal_ncp_load a4, a5,a6,a7,a8 // restore non-coprocessor state
228-
#if XCHAL_HAVE_CP
229+
#if XCHAL_HAVE_CP && (!CONFIG_APOLLOLAKE || defined(XCC))
229230
movi a6, -1
230231
wsr a6, CPENABLE // enable all coprocessors
231232
rsync

src/arch/xtensa/up/xtos/core-save.S

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include <xtensa/config/specreg.h>
3232
#include <xtensa/xtruntime-core-state.h>
3333
#include "xtos-internal.h"
34+
#include <config.h>
3435

3536

3637
.text
@@ -496,7 +497,7 @@ _xtos_core_save_common:
496497
/* TIE state */
497498
addi a4, a3, CS_SA_ncp
498499
xchal_ncp_store a4, a5,a6,a7,a8 // save non-coprocessor state
499-
#if XCHAL_HAVE_CP
500+
#if XCHAL_HAVE_CP && (!CONFIG_APOLLOLAKE || defined(XCC))
500501
rsr a5, CPENABLE
501502
s32i a5, a3, CS_SA_cpenable
502503
movi a6, -1

0 commit comments

Comments
 (0)