1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * Copyright (C) 2016 Cadence Design Systems Inc. 4 */ 5 6#ifndef _XTENSA_SYSTEM_H 7#define _XTENSA_SYSTEM_H 8 9#include <asm/arch/core.h> 10 11#if XCHAL_HAVE_INTERRUPTS 12#define local_irq_save(flags) \ 13 __asm__ __volatile__ ("rsil %0, %1" \ 14 : "=a"(flags) \ 15 : "I"(XCHAL_EXCM_LEVEL) \ 16 : "memory") 17#define local_irq_restore(flags) \ 18 __asm__ __volatile__ ("wsr %0, ps\n\t" \ 19 "rsync" \ 20 :: "a"(flags) : "memory") 21#else 22#define local_irq_save(flags) ((void)(flags)) 23#define local_irq_restore(flags) ((void)(flags)) 24#endif 25 26#endif 27