Neel Natu
d087a39935
Simplify instruction restart logic in bhyve.
...
Keep track of the next instruction to be executed by the vcpu as 'nextrip'.
As a result the VM_RUN ioctl no longer takes the %rip where a vcpu should
start execution.
Also, instruction restart happens implicitly via 'vm_inject_exception()' or
explicitly via 'vm_restart_instruction()'. The APIs behave identically in
both kernel and userspace contexts. The main beneficiary is the instruction
emulation code that executes in both contexts.
bhyve(8) VM exit handlers now treat 'vmexit->rip' and 'vmexit->inst_length'
as readonly:
- Restarting an instruction is now done by calling 'vm_restart_instruction()'
as opposed to setting 'vmexit->inst_length' to 0 (e.g. emulate_inout())
- Resuming vcpu at an arbitrary %rip is now done by setting VM_REG_GUEST_RIP
as opposed to changing 'vmexit->rip' (e.g. vmexit_task_switch())
Differential Revision: https://reviews.freebsd.org/D1526
Reviewed by: grehan
MFC after: 2 weeks
2015-01-18 03:08:30 +00:00
..
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2015-01-02 18:45:03 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-04-05 22:13:32 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2015-01-09 10:59:49 +00:00
2015-01-18 03:08:30 +00:00
2015-01-18 03:08:30 +00:00
2014-11-25 16:57:27 +00:00
2014-12-30 20:20:18 +00:00
2014-12-26 21:56:23 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-11-11 19:37:17 +00:00
2014-12-29 13:50:59 +00:00
2014-12-26 21:56:23 +00:00
2014-08-19 15:04:32 +00:00
2014-11-25 16:57:27 +00:00
2014-12-14 16:17:48 +00:00
2014-07-17 06:57:26 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 13:13:38 +00:00
2013-12-25 15:23:01 +00:00
2014-11-28 22:03:35 +00:00
2015-01-16 18:59:15 +00:00
2014-12-20 16:39:56 +00:00
2014-12-19 01:12:22 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-10-29 18:01:09 +00:00
2014-09-28 11:32:46 +00:00
2014-06-20 09:57:27 +00:00
2014-11-28 22:03:35 +00:00
2014-11-25 16:57:27 +00:00
2014-12-22 23:03:18 +00:00
2015-01-14 11:26:03 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-12-31 21:58:03 +00:00
2014-12-26 21:56:23 +00:00
2014-11-25 16:57:27 +00:00
2014-09-13 02:15:31 +00:00
2014-11-12 03:59:26 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-12-19 01:12:22 +00:00
2014-12-26 21:56:23 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-12-29 13:50:59 +00:00
2014-08-26 10:55:08 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2015-01-15 00:46:30 +00:00
2014-11-25 16:57:27 +00:00
2014-12-17 07:10:48 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2015-01-12 19:26:31 +00:00
2014-11-25 16:57:27 +00:00
2014-07-07 00:27:09 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-05-06 04:22:01 +00:00
2015-01-16 21:39:08 +00:00
2014-12-26 21:56:23 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-07-18 06:48:02 +00:00
2014-10-08 17:44:30 +00:00
2015-01-01 06:53:33 +00:00
2014-12-26 21:56:23 +00:00
2015-01-16 18:51:26 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2015-01-16 18:42:49 +00:00
2014-06-20 09:57:27 +00:00
2014-10-22 23:35:56 +00:00
2014-06-20 09:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2015-01-14 12:46:58 +00:00
2015-01-02 21:02:41 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-12-16 14:50:33 +00:00
2014-02-06 09:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-08-20 17:27:15 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-12-26 21:56:23 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-12-26 21:56:23 +00:00
2014-12-26 21:56:23 +00:00
2014-06-20 09:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-06-28 15:53:28 +00:00
2014-06-20 09:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-07-16 19:02:30 +00:00
2014-11-25 16:57:27 +00:00
2013-09-07 20:25:22 +00:00
2014-06-20 09:57:27 +00:00
2014-09-01 16:12:29 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-12-12 11:29:54 +00:00
2014-11-05 01:24:44 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2015-01-07 19:55:18 +00:00
2014-03-16 04:09:22 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-05-06 04:22:01 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2015-01-05 15:09:00 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-10-23 12:38:05 +00:00
2014-12-14 16:40:46 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-11-25 16:57:27 +00:00
2014-08-25 05:52:05 +00:00
2014-11-25 16:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-06-20 09:57:27 +00:00
2014-11-25 16:57:27 +00:00
2013-10-15 07:37:30 +00:00
2014-06-19 13:18:23 +00:00
2015-01-14 12:46:58 +00:00
2014-09-13 02:15:31 +00:00
2014-10-18 08:07:17 +00:00
2013-06-28 21:00:08 +00:00
2013-06-28 21:00:08 +00:00