Re: [Qemu-devel] [PATCH 2/6] target-ppc: Implement darn instruction

2016-08-08 Thread Nikunj A Dadhania
David Gibson writes: > [ Unknown signature status ] > On Mon, Aug 08, 2016 at 07:33:37AM +1000, Benjamin Herrenschmidt wrote: >> On Sun, 2016-08-07 at 23:06 +0530, Nikunj A Dadhania wrote: >> > +target_ulong helper_darn(uint32_t l) >> > +{ >> > +    target_ulong r =

Re: [Qemu-devel] [PATCH 2/6] target-ppc: Implement darn instruction

2016-08-08 Thread David Gibson
On Mon, Aug 08, 2016 at 07:33:37AM +1000, Benjamin Herrenschmidt wrote: > On Sun, 2016-08-07 at 23:06 +0530, Nikunj A Dadhania wrote: > > +target_ulong helper_darn(uint32_t l) > > +{ > > +    target_ulong r = UINT64_MAX; > > + > > +    if (l <= 2) { > > +    do { > > +    r = random()

Re: [Qemu-devel] [PATCH 2/6] target-ppc: Implement darn instruction

2016-08-08 Thread Nikunj A Dadhania
Richard Henderson writes: > On 08/07/2016 11:06 PM, Nikunj A Dadhania wrote: >> +target_ulong helper_darn(uint32_t l) >> +{ >> +target_ulong r = UINT64_MAX; >> + >> +if (l <= 2) { >> +do { >> +r = random() * random(); >> +r &= l ?

Re: [Qemu-devel] [PATCH 2/6] target-ppc: Implement darn instruction

2016-08-07 Thread Richard Henderson
On 08/07/2016 11:06 PM, Nikunj A Dadhania wrote: +target_ulong helper_darn(uint32_t l) +{ +target_ulong r = UINT64_MAX; + +if (l <= 2) { +do { +r = random() * random(); +r &= l ? UINT64_MAX : UINT32_MAX; +} while (r == UINT64_MAX); +} + +

Re: [Qemu-devel] [PATCH 2/6] target-ppc: Implement darn instruction

2016-08-07 Thread Nikunj A Dadhania
Benjamin Herrenschmidt writes: > On Mon, 2016-08-08 at 07:22 +0530, Nikunj A Dadhania wrote: >> >> > Isn't this a bit week ? Look at the implementation of H_RANDOM... >> >> Sure, will have a look. > > And if course I meant "weak" :-) That's what happens when I reply >

Re: [Qemu-devel] [PATCH 2/6] target-ppc: Implement darn instruction

2016-08-07 Thread Benjamin Herrenschmidt
On Mon, 2016-08-08 at 07:22 +0530, Nikunj A Dadhania wrote: > > > Isn't this a bit week ? Look at the implementation of H_RANDOM... > > Sure, will have a look. And if course I meant "weak" :-) That's what happens when I reply before breakfast ! Cheers, Ben.

Re: [Qemu-devel] [PATCH 2/6] target-ppc: Implement darn instruction

2016-08-07 Thread Nikunj A Dadhania
Benjamin Herrenschmidt writes: > On Sun, 2016-08-07 at 23:06 +0530, Nikunj A Dadhania wrote: >> +target_ulong helper_darn(uint32_t l) >> +{ >> +    target_ulong r = UINT64_MAX; >> + >> +    if (l <= 2) { >> +    do { >> +    r = random() * random(); >> + 

Re: [Qemu-devel] [PATCH 2/6] target-ppc: Implement darn instruction

2016-08-07 Thread Benjamin Herrenschmidt
On Sun, 2016-08-07 at 23:06 +0530, Nikunj A Dadhania wrote: > +target_ulong helper_darn(uint32_t l) > +{ > +    target_ulong r = UINT64_MAX; > + > +    if (l <= 2) { > +    do { > +    r = random() * random(); > +    r &= l ? UINT64_MAX : UINT32_MAX; > +    } while (r ==

[Qemu-devel] [PATCH 2/6] target-ppc: Implement darn instruction

2016-08-07 Thread Nikunj A Dadhania
From: Ravi Bangoria darn: Deliver A Random Number For both CRN and RRN, returning 64-bit random number. Signed-off-by: Ravi Bangoria Signed-off-by: Nikunj A Dadhania --- target-ppc/helper.h |