Hi David, Thanks for your feedback. I'll CC you on v+1. Note that I don't know very much about s390x, so I may require some slight hand holding, but let's see how far I can get... On Tue, Jul 19, 2022 at 11:54:04AM +0200, David Hildenbrand wrote: > How is that warning avoided now? We have to sort that out first -- either by > removing that dependency (easy) or implementing SHA-512 (hard). Ahhh... Well, I can do either one I guess. Implementing SHA512 isn't really that hard. I can cook up a short enough software implementation of that which we could plonk into crypto_helper.c fairly minimally. Of course, then those instructions would have to be wired up. So maybe I'll try removing the dependency for v2 instead, and we'll see what you and Thomas think of that. > > +static void fill_buf_random(CPUS390XState *env, uintptr_t ra, > > + uint64_t buf, uint64_t len) > > +{ > > + uint64_t addr = wrap_address(env, buf); > > + uint8_t tmp[256]; > > + > > + while (len) { > > + size_t block = MIN(len, sizeof(tmp)); > > + qemu_guest_getrandom_nofail(tmp, block); > > + for (size_t i = 0; i < block; ++i) > > + cpu_stb_data_ra(env, addr++, tmp[i], ra); > > > There seems to be something missing regarding exception + register handling. Thanks, missed this. I'll do that. > Further, to be 100% correct you might have to wrap the address whenever > you increment it. Ack. Jason