Thread (18 messages) flat view 18 messages, 5 authors, 2017-07-14

Re: [PATCH 3/5] powerpc/lib/sstep: Add bpermd instruction emulation

From: Matt Brown <hidden>
Date: 2017-07-14 04:19:37

On Thu, Jul 13, 2017 at 5:28 PM, Segher Boessenkool
[off-list ref] wrote:
On Thu, Jul 13, 2017 at 01:25:46PM +1000, Matt Brown wrote:
quoted
+static nokprobe_inline void do_bpermd(struct pt_regs *regs, unsigned long v1,
+                             unsigned long v2, int ra)
+{
+     unsigned int idx, i;
+     unsigned char perm;
+
+     perm = 0x0;
+     for (i = 0; i < 8; i++) {
+             idx = (v1 >> (i * 8)) & 0xff;
+             if (idx < 64)
+                     perm |= (v2 & (1 << idx)) >> (idx - i);
That doesn't work I think, the bit numbers ("idx") are big-endian?
Why would it be big-endian? Wouldn't it be in the same endian form as the arch?
quoted
+     }
+     regs->gpr[ra] = 0 | perm;
And that is just silly :-)
Yep that is silly.

Thanks,
Matt
quoted
+}

Segher
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help