On 30/01/2020 14.45, David Hildenbrand wrote: > On 30.01.20 14:34, Thomas Huth wrote: >> RNSBG is handled via the op_rosbg() helper function. But RNSBG has >> the opcode 0xEC54, i.e. 0x54 as second byte, while op_rosbg() currently >> checks for 0x55. This seems to be a typo, fix it to use 0x54 instead, >> so that op_rosbg() does not abort() anymore if a program uses RNSBG. >> >> I've checked with a simply test function that I now get the same results >> with KVM and with TCG: >> >> static void test_rnsbg(void) >> { >> uint64_t r1, r2; >> >> r2 = 0xffff000000000000UL; >> r1 = 0x123456789bdfaaaaUL; >> asm volatile (" rnsbg %0,%1,12,61,16 " : "+r"(r1) : "r"(r2)); >> >> printf("r1 afterwards: 0x%lx\n", r1); >> } > > You could add a tcg test case for that :)
I already thought about it ... I'll have a try when I've got some spare time. Thomas