Line data Source code
1 0 : /* 2 : * Copyright (c) 2024 Meta Platforms 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : */ 6 : 7 : #ifndef ZEPHYR_INCLUDE_ZEPHYR_ARCH_RISCV_REG_H_ 8 : #define ZEPHYR_INCLUDE_ZEPHYR_ARCH_RISCV_REG_H_ 9 : 10 : #include <zephyr/sys/util.h> 11 : 12 0 : #define reg_read(reg) \ 13 : ({ \ 14 : register unsigned long __rv; \ 15 : __asm__ volatile("mv %0, " STRINGIFY(reg) : "=r"(__rv)); \ 16 : __rv; \ 17 : }) 18 : 19 0 : #define reg_write(reg, val) ({ __asm__("mv " STRINGIFY(reg) ", %0" : : "r"(val)); }) 20 : 21 : #endif /* ZEPHYR_INCLUDE_ZEPHYR_ARCH_RISCV_REG_H_ */