On 9 December 2016 at 11:48, Alex Bennée <alex.ben...@linaro.org> wrote: > I did a bunch of tweaking to see if I could abstract the hackage for > record/replay a bit more. With a little bit of light re-factoring of > the send and recv functions I can move all the specific send/recv > logic into the main risu.c file and avoid having copy and pasted > functions for each architecture. > > I've also introduced a header which makes tracking where you are in > the recorded stream a little easier when debugging. > > It should be noted the functions: > > int send_register_info(write_fn write_fn, void *uc); > int recv_and_compare_register_info(read_fn read_fn, respond_fn respond, > void *uc); > > are pretty identical for each arch. I did consider folding even more > of the logic into the common code but I wasn't sure if that would > loose flexibility in the future for other architectures so I left it > as is. > > I've make the same changes to ppc64 although I've been compiling and > testing under a qemu linux-user environment which might explain why > I'm seeing crashes when I try and run it. I would appreciate the PPC > guys trying it on real hardware and debugging if needed. > > For reference I'm using a linux-user powered docker image (built with > the debian-bootstrap recipe in the qemu.git tree) for cross compiling: > > docker run --rm -it -v /home/alex/lsrc/qemu/risu.git:/src --user=alex:alex > -w /src debian:ppc64el make > > There have been some minor clean-ups to the helper scripts mainly to > aid testing by allowing the override of the RISU binary (I have > risu-arm, risu-arm64 and risu-ppc64 in my development directory). > Notes in the --- comments on each patch.
This generally looks good -- I've applied the two trivial typo fixes, and commented on the other patches except for the new scripts. I don't think there's much more work to do to get these applied. Could we have a patch which updates README to document the new functionality? I won't have a chance to look at the scripts until next year, I expect, but from a quick glance they seem to be reasonably separate from the actual record/replay implementation. thanks -- PMM