@@ -37,6 +37,16 @@ sigjmp_buf jmpbuf;
/* Should we test for FP exception status bits? */
int test_fp_exc = 0;
+long executed_tests = 0;
+void report_test_status(void *pc)
+{
+ executed_tests += 1;
+ if (executed_tests % 100 == 0) {
+ fprintf(stderr,"Executed %ld test instructions (pc=%p)\r",
+ executed_tests, pc);
+ }
+}
+
void master_sigill(int sig, siginfo_t *si, void *uc)
{
switch (recv_and_compare_register_info(master_socket, uc))
@@ -61,6 +71,7 @@ void apprentice_sigill(int sig, siginfo_t *si, void *uc)
return;
case 1:
/* end of test */
+ fprintf(stderr, "\nend of test\n");
exit(0);
default:
/* mismatch */
@@ -129,7 +140,7 @@ int master(int sock)
}
master_socket = sock;
set_sigill_handler(&master_sigill);
- fprintf(stderr, "starting image\n");
+ fprintf(stderr, "starting master image at 0x%lx\n", image_start_address);
image_start();
fprintf(stderr, "image returned unexpectedly\n");
exit(1);
@@ -139,7 +150,7 @@ int apprentice(int sock)
{
apprentice_socket = sock;
set_sigill_handler(&apprentice_sigill);
- fprintf(stderr, "starting image\n");
+ fprintf(stderr, "starting apprentice image at 0x%lx\n", image_start_address);
image_start();
fprintf(stderr, "image returned unexpectedly\n");
exit(1);
@@ -26,6 +26,7 @@ extern uintptr_t image_start_address;
extern void *memblock;
extern int test_fp_exc;
+extern int ismaster;
/* Ops code under test can request from risu: */
#define OP_COMPARE 0
@@ -59,6 +60,8 @@ int recv_and_compare_register_info(int sock, void *uc);
*/
int report_match_status(void);
+void report_test_status(void *pc);
+
/* Move the PC past this faulting insn by adjusting ucontext
*/
void advance_pc(void *uc);
@@ -28,6 +28,9 @@ void advance_pc(void *vuc)
{
ucontext_t *uc = vuc;
uc->uc_mcontext.pc += 4;
+ if (ismaster) {
+ report_test_status((void *) uc->uc_mcontext.pc);
+ }
}
static void set_x0(void *vuc, uint64_t x0)
Before this is could seem a little quite when running as you had no indication stuff was happening (or how fast). I only dump on the master side as I want to minimise the amount of qemu logs to sift through. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- risu.c | 15 +++++++++++++-- risu.h | 3 +++ risu_aarch64.c | 3 +++ 3 files changed, 19 insertions(+), 2 deletions(-) -- 2.10.2