Re: [Qemu-devel] [RFC 3/5] softmmu: Add helpers for a new slow-path

2015-05-11 Thread alvise rigo
On Thu, May 7, 2015 at 7:56 PM, Richard Henderson wrote: > On 05/06/2015 08:38 AM, Alvise Rigo wrote: >> +#define DATA_SIZE (1 << SHIFT) >> + >> +#if DATA_SIZE == 8 >> +#define SUFFIX q >> +#define LSUFFIX q >> +#define SDATA_TYPE int64_t >> +#define DATA_TYPE uint64_t > > Duplicating all of the

Re: [Qemu-devel] [RFC 3/5] softmmu: Add helpers for a new slow-path

2015-05-07 Thread Richard Henderson
On 05/06/2015 08:38 AM, Alvise Rigo wrote: > +#define DATA_SIZE (1 << SHIFT) > + > +#if DATA_SIZE == 8 > +#define SUFFIX q > +#define LSUFFIX q > +#define SDATA_TYPE int64_t > +#define DATA_TYPE uint64_t Duplicating all of the stuff from softmmu_template.h is Just Wrong. > +/* For the benefit o

[Qemu-devel] [RFC 3/5] softmmu: Add helpers for a new slow-path

2015-05-06 Thread Alvise Rigo
The new helpers rely on the legacy ones to perform the actual read/write. The StoreConditional helper (helper_le_stcond_name) returns 1 if the store has to fail due to a concurrent access to the same page in the by another vCPU. A 'concurrent access' can be a store made by *any* vCPU (although, s