[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 09/39] xen/riscv: introduce asm/guest_atomics.h



On Thu, 2023-12-07 at 15:20 +0100, Jan Beulich wrote:
> 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?
Thanks for recommendation. It would be better to add
ASSERT_UNREACHABLE.

~ Oleksii
> 
> > +#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:
> > + */
> 


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.