Hi, The bad return address was my mistake. On entry to kvmarm_handle_exit, the guest's PC is always set up to be the address of the instruction to execute on return to the guest. The error s the line in kvmarm_handle_dabt that subtracts 8 from the PC, that should be removed. I updated the emulate branch with the fix (removing the line). Brian Christoffer Dall wrote: > Hi. > > I have investigated a little further, and the status is this: > > - I still get unstable exceptions sometimes when running, which has > to be investigated > - The page fault from boot instruction at 0x00010088 is now actually > taken care of and the processing proceeds > - The make_pages_present apparently doesn't mark the page as > writable, so we get another exception at 0x00010090, because it tries > to store into that address. > - The return address gets incorrectly set somehow. When we fault in > 0x00010090 the return address is set to 0x0001098 (due to the > pipeline). That is expected behavior. However, when we resume the > guest, we try to resume at 0x00010088. > > > I will investigate more later tonight or tomorrow morning. Dave, we > will also try to send you something in the morning to start testing > for the physical device. We need the physical device with something > running for Monday's demo, so we would like to stay in sync during the > weekend. > > Best, > Christoffer > ------------------------------------------------------------------------ > > _______________________________________________ > Android-virt mailing list > Android-virt at lists.cs.columbia.edu > https://lists.cs.columbia.edu/cucslists/listinfo/android-virt >