ARC: mark accesses which are 32 bit despite of platform bittnes

Mark the places where we intentionally use st instead of STR for
code common for ARCv2 and ARCv3.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
This commit is contained in:
Evgeniy Paltsev 2021-04-08 22:13:19 +03:00 committed by Kumar Gala
parent 9d309d300a
commit ab17a59ba5
5 changed files with 7 additions and 2 deletions

View file

@ -249,6 +249,7 @@ rirq_path:
#if defined(CONFIG_PM)
clri r0 /* do not interrupt exiting tickless idle operations */
MOVR r1, _kernel
/* z_kernel.idle is 32 bit despite of platform bittnes */
ld_s r3, [r1, _kernel_offset_to_idle] /* requested idle duration */
breq r3, 0, _skip_pm_save_idle_exit

View file

@ -264,6 +264,7 @@ SECTION_FUNC(TEXT, _rirq_exit)
/* r2 is old thread */
_irq_store_old_thread_callee_regs
/* _thread_arch.relinquish_cause is 32 bit despite of platform bittnes */
_st32_huge_offset _CAUSE_RIRQ, r2, _thread_offset_to_relinquish_cause, r2
/* mov new thread (r0) to r2 */

View file

@ -63,6 +63,7 @@ SECTION_FUNC(TEXT, z_arc_switch)
SUBR r2, r1, ___thread_t_switch_handle_OFFSET
/* _thread_arch.relinquish_cause is 32 bit despite of platform bittnes */
_st32_huge_offset _CAUSE_COOP, r2, _thread_offset_to_relinquish_cause, r3
/*

View file

@ -309,6 +309,7 @@
ld MACRO_ARG(reg2), [MACRO_ARG(reg1), ___cpu_t_nested_OFFSET]
#else
MOVR MACRO_ARG(reg1), _kernel
/* z_kernel.nested is 32 bit despite of platform bittnes */
ld MACRO_ARG(reg2), [MACRO_ARG(reg1), _kernel_offset_to_nested]
#endif
add MACRO_ARG(reg2), MACRO_ARG(reg2), 1
@ -331,6 +332,7 @@
ld MACRO_ARG(reg2), [MACRO_ARG(reg1), ___cpu_t_nested_OFFSET]
#else
MOVR MACRO_ARG(reg1), _kernel
/* z_kernel.nested is 32 bit despite of platform bittnes */
ld MACRO_ARG(reg2), [MACRO_ARG(reg1), _kernel_offset_to_nested]
#endif
sub MACRO_ARG(reg2), MACRO_ARG(reg2), 1
@ -444,7 +446,7 @@
bl configure_mpu_thread
pop_s r2
#endif
/* _thread_arch.relinquish_cause is 32 bit despite of platform bittnes */
ld r3, [r2, _thread_offset_to_relinquish_cause]
.endm

View file

@ -42,7 +42,7 @@ typedef struct _callee_saved _callee_saved_t;
struct _thread_arch {
/* one of the _CAUSE_xxxx definitions above */
int relinquish_cause;
int32_t relinquish_cause;
#ifdef CONFIG_ARC_STACK_CHECKING
/* High address of stack region, stack grows downward from this