mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 02:53:36 +02:00
xtensa: clean up excsave1 initialization
Use xtensa_set_sr instead of inline assembly. Rename local variable exc_table in early_trap_init to avoid conflict with per-CPU variable of the same name. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
parent
3e554d47df
commit
9fa8c59f5f
|
|
@ -57,11 +57,11 @@ void do_unhandled(struct pt_regs *regs);
|
|||
/* Initialize minimal exc_table structure sufficient for basic paging */
|
||||
static inline void __init early_trap_init(void)
|
||||
{
|
||||
static struct exc_table exc_table __initdata = {
|
||||
static struct exc_table init_exc_table __initdata = {
|
||||
.fast_kernel_handler[EXCCAUSE_DTLB_MISS] =
|
||||
fast_second_level_miss,
|
||||
};
|
||||
__asm__ __volatile__("wsr %0, excsave1\n" : : "a" (&exc_table));
|
||||
xtensa_set_sr(&init_exc_table, excsave1);
|
||||
}
|
||||
|
||||
void secondary_trap_init(void);
|
||||
|
|
|
|||
|
|
@ -372,8 +372,7 @@ __init trap_set_handler(int cause, xtensa_exception_handler *handler)
|
|||
|
||||
static void trap_init_excsave(void)
|
||||
{
|
||||
unsigned long excsave1 = (unsigned long)this_cpu_ptr(&exc_table);
|
||||
__asm__ __volatile__("wsr %0, excsave1\n" : : "a" (excsave1));
|
||||
xtensa_set_sr(this_cpu_ptr(&exc_table), excsave1);
|
||||
}
|
||||
|
||||
static void trap_init_debug(void)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user