On Mon, Sep 03, 2018 at 06:01:26PM +0300, Andy Shevchenko wrote: > On Mon, Aug 27, 2018 at 9:58 PM Jarkko Sakkinen > <jarkko.sakkinen@xxxxxxxxxxxxxxx> wrote: > > > > Add wrappers for Intel(R) SGX ENCLS opcode leaf functions except > > ENCLS(EINIT). ENCLS invokes privileged functions for managing (creation, > > initialization and swapping) and debugging enclaves. > > > +#define ENCLS_FAULT_FLAG 0x40000000UL > > +#define ENCLS_FAULT_FLAG_ASM "$0x40000000" > > Hmm... Why it can't have same name? > > See, how _AC() macro is defined and being used. Thanks, we'll migrate this to use _AC(). > > +#define ENCLS_TRAPNR(r) ((r) & ~ENCLS_FAULT_FLAG) > > If result of macro is assigned to some variable and (r) by some reason > is 32-bit type > and you compile as 64-bit object, compiler will warn here. > Please, check this is not the case in any of use of this macro. > Otherwise you need a type casting, like > > foo = bar & (u32)~BAR; > > (or using typeof() might work) Thanks for spotting this. I will check the use of this macro. > > -- > With Best Regards, > Andy Shevchenko /Jarkko