On 24.11.2023 11:30, Oleksii Kurochko wrote: > --- /dev/null > +++ b/xen/arch/riscv/include/asm/guest_atomics.h > @@ -0,0 +1,48 @@ > +#ifndef __ASM_RISCV_GUEST_ATOMICS_H > +#define __ASM_RISCV_GUEST_ATOMICS_H > + > +/* > + * TODO: implement guest atomics > + */
Along with this, wouldn't it be better to have e.g. ASSERT_UNREACHABLE() in the unimplemented functions? Jan > +#define guest_testop(name) \ > +static inline int guest_##name(struct domain *d, int nr, volatile void *p) \ > +{ \ > + (void) d; \ > + (void) nr; \ > + (void) p; \ > + \ > + return 0; \ > +} > + > +#define guest_bitop(name) \ > +static inline void guest_##name(struct domain *d, int nr, volatile void *p) \ > +{ \ > + (void) d; \ > + (void) nr; \ > + (void) p; \ > +} > + > +guest_bitop(set_bit) > +guest_bitop(clear_bit) > +guest_bitop(change_bit) > + > +#undef guest_bitop > + > +guest_testop(test_and_set_bit) > +guest_testop(test_and_clear_bit) > +guest_testop(test_and_change_bit) > + > +#undef guest_testop > + > +#define guest_test_bit(d, nr, p) ((void)(d), test_bit(nr, p)) > + > +#endif /* __ASM_RISCV_GUEST_ATOMICS_H */ > +/* > + * Local variables: > + * mode: C > + * c-file-style: "BSD" > + * c-basic-offset: 4 > + * indent-tabs-mode: nil > + * End: > + */