Hi Ricardo, > > > > -static void guest_code(uint8_t bpn, uint8_t wpn) > > > > +static void guest_code(uint8_t bpn, uint8_t wpn, uint8_t ctx_bpn) > > > > { > > > > + uint64_t ctx = 0x1; /* a random context number */ > > > > + > > > > GUEST_SYNC(0); > > > > > > > > /* Software-breakpoint */ > > > > @@ -281,6 +310,19 @@ static void guest_code(uint8_t bpn, uint8_t wpn) > > > > : : : "x0"); > > > > GUEST_ASSERT_EQ(ss_addr[0], 0); > > > > > > > > > > I've just noticed that I should add GUEST_SYNC(10) here, use > > > GUEST_SYNC(11) for the following test case, and update the > > > stage limit value in the loop in userspace code. > > > > > > Or I might consider removing the stage management code itself. > > > It doesn't appear to be very useful to me, and I would think > > > we could easily forget to update it :-) > > > > > > Thank you, > > > Reiji > > > > > > > Yes, it's better to remove it. The intention was to make sure the guest > > generates the expected sequence of exits. In this case for example, > > "1, .., 11, DONE" would be correct, but "1, .., 11, 12, DONE" would not. > > Sorry, the correct sequence should be "1, .., 10, DONE". And also, what > I meant to say is that *original* intention was to check that, which > wasn't actually completed as the incorrect sequence would also succeed. Thank you for the comments and explaining the original intention. I will remove that. Thank you, Reiji