Chenyi Qiang
e8ea85fb28
KVM: X86: Add support for the emulation of DR6_BUS_LOCK bit
...
Bus lock debug exception introduces a new bit DR6_BUS_LOCK (bit 11 of
DR6) to indicate that bus lock #DB exception is generated. The set/clear
of DR6_BUS_LOCK is similar to the DR6_RTM. The processor clears
DR6_BUS_LOCK when the exception is generated. For all other #DB, the
processor sets this bit to 1. Software #DB handler should set this bit
before returning to the interrupted task.
In VMM, to avoid breaking the CPUs without bus lock #DB exception
support, activate the DR6_BUS_LOCK conditionally in DR6_FIXED_1 bits.
When intercepting the #DB exception caused by bus locks, bit 11 of the
exit qualification is set to identify it. The VMM should emulate the
exception by clearing the bit 11 of the guest DR6.
Co-developed-by: Xiaoyao Li <xiaoyao.li@intel.com >
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com >
Signed-off-by: Chenyi Qiang <chenyi.qiang@intel.com >
Message-Id: <20210202090433.13441-3-chenyi.qiang@intel.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2021-05-07 06:06:20 -04:00
..
2019-11-07 15:44:14 +01:00
2021-01-29 12:27:47 +01:00
2021-03-06 12:59:10 +01:00
2021-03-18 15:31:53 +01:00
2021-04-14 23:04:44 +10:00
2021-03-24 18:33:36 -05:00
2019-06-19 17:09:55 +02:00
2020-11-21 12:05:41 +01:00
2021-02-09 10:58:18 +01:00
2021-03-21 23:50:28 +01:00
2021-04-02 12:41:17 +02:00
2020-04-14 15:49:51 +02:00
2021-02-04 19:36:31 +01:00
2020-10-28 20:26:24 +01:00
2019-05-13 11:07:33 +02:00
2020-05-18 19:50:47 +02:00
2021-04-02 12:47:28 +02:00
2020-10-12 13:39:19 -07:00
2020-06-11 08:03:24 +02:00
2020-10-12 18:27:27 +02:00
2020-10-12 18:27:27 +02:00
2020-05-19 18:03:07 +02:00
2021-02-04 19:36:31 +01:00
2020-06-15 14:10:08 +02:00
2020-07-31 11:49:09 +02:00
2019-09-02 09:17:45 +02:00
2020-07-24 13:56:23 +02:00
2020-01-23 10:41:20 -08:00
2020-10-25 14:51:49 -07:00
2020-06-08 11:05:57 -07:00
2020-11-19 11:43:13 +01:00
2020-08-20 15:45:18 -04:00
2020-08-20 15:45:22 -04:00
2020-08-20 15:45:14 -04:00
2020-03-21 15:23:54 +01:00
2020-07-26 12:47:22 +02:00
2021-03-18 15:31:53 +01:00
2021-01-06 08:40:56 -05:00
2020-05-07 13:48:05 +02:00
2020-09-09 11:33:19 +02:00
2021-04-28 13:03:44 -07:00
2021-03-11 19:33:43 +01:00
2021-05-01 10:14:08 -07:00
2019-09-03 09:36:36 +02:00
2020-06-15 14:10:09 +02:00
2019-11-26 09:48:19 -08:00
2020-09-04 15:12:55 +02:00
2020-05-07 16:06:20 +02:00
2020-09-07 22:44:43 +02:00
2020-09-07 22:44:43 +02:00
2020-06-30 11:59:48 +02:00
2021-01-28 17:41:24 +01:00
2020-06-15 14:10:00 +02:00
2020-10-06 07:07:05 +02:00
2020-05-28 20:21:32 +02:00
2020-04-14 14:24:05 +02:00
2020-04-09 00:01:59 +09:00
2021-02-20 20:07:44 -08:00
2021-03-21 23:50:07 +01:00
2021-01-06 08:40:56 -05:00
2019-10-17 21:31:57 +02:00
2020-11-18 18:02:50 +01:00
2021-04-08 14:05:20 +02:00
2020-10-07 11:08:59 +02:00
2021-02-09 15:28:37 +01:00
2021-04-20 08:59:03 -06:00
2020-09-18 09:59:40 +02:00
2020-08-24 18:18:32 +02:00
2020-11-13 12:15:28 -05:00
2020-03-27 23:58:55 -04:00
2020-04-30 20:14:34 +02:00
2019-05-30 11:29:53 -07:00
2020-07-09 07:08:40 -04:00
2020-11-06 23:14:55 +01:00
2020-10-28 20:26:25 +01:00
2020-06-03 20:09:46 -07:00
2020-11-18 20:55:59 +01:00
2021-03-08 17:32:59 +00:00
2019-07-17 08:09:59 +02:00
2021-03-18 15:31:53 +01:00
2019-06-05 17:37:17 +02:00
2019-05-30 11:26:35 -07:00
2021-03-15 11:00:57 +01:00
2021-03-15 10:53:10 +01:00
2021-03-31 16:20:22 +02:00
2020-11-26 12:58:56 +01:00
2019-04-16 12:26:18 +02:00
2021-03-18 15:31:53 +01:00
2021-03-21 23:50:28 +01:00
2021-02-15 20:10:30 +01:00
2020-04-24 11:18:44 +01:00
2021-04-10 11:14:33 +02:00
2021-02-15 20:10:30 +01:00
2020-05-12 16:05:30 +02:00
2020-10-28 20:26:28 +01:00
2020-07-18 12:31:49 +02:00
2021-03-18 15:31:53 +01:00
2020-11-06 23:14:58 +01:00
2019-11-11 16:06:07 +01:00
2020-07-18 07:17:16 +02:00
2020-10-28 20:26:28 +01:00
2021-03-18 15:31:53 +01:00
2019-04-22 11:42:59 +02:00
2020-06-11 15:15:14 +02:00
2021-02-24 16:32:23 -08:00
2020-10-28 20:26:27 +01:00
2021-03-11 20:07:01 +01:00
2019-05-24 17:39:02 +02:00
2021-04-28 12:37:53 -07:00
2020-06-09 09:39:13 -07:00
2020-04-02 09:35:25 -07:00
2020-07-22 23:56:53 +02:00
2021-03-08 12:06:29 -07:00
2021-04-09 14:54:23 -07:00
2021-03-23 16:07:56 +01:00
2021-05-07 06:06:20 -04:00
2020-03-16 17:57:22 +01:00
2021-05-07 06:06:10 -04:00
2020-07-09 13:29:42 -04:00
2019-02-20 22:47:38 +01:00
2021-02-19 03:08:34 -05:00
2019-10-18 11:29:50 +02:00
2020-11-13 12:15:28 -05:00
2018-10-16 17:33:54 +02:00
2021-02-08 11:43:20 +01:00
2021-04-26 05:27:14 -04:00
2020-04-20 12:39:17 +02:00
2020-04-14 17:34:46 +02:00
2020-12-31 11:44:00 +01:00
2020-12-15 23:58:04 -08:00
2020-10-26 13:46:47 +01:00
2020-05-28 18:34:30 +02:00
2020-04-23 10:50:26 +09:00
2020-09-16 16:52:28 +02:00
2021-04-21 09:49:19 +00:00
2020-10-28 20:26:29 +01:00
2021-04-28 13:03:44 -07:00
2021-01-12 21:10:59 +01:00
2019-12-10 10:12:55 +01:00
2020-11-24 16:47:35 +01:00
2021-01-29 10:05:51 +05:30
2021-03-15 16:24:59 +01:00
2021-04-27 17:45:09 -07:00
2020-10-14 11:42:04 -07:00
2019-05-20 17:27:08 +03:00
2019-05-21 11:28:45 +02:00
2021-01-13 18:13:13 -06:00
2020-10-29 21:54:35 +01:00
2021-02-05 10:37:39 +01:00
2020-04-10 15:36:21 -07:00
2021-04-29 11:41:43 -07:00
2021-04-29 11:41:43 -07:00
2020-09-16 16:52:35 +02:00
2020-09-16 16:52:38 +02:00
2020-07-23 11:46:43 +02:00
2021-02-01 15:31:37 +01:00
2020-08-07 11:33:26 -07:00
2019-12-10 10:12:55 +01:00
2019-12-10 10:12:55 +01:00
2020-10-29 21:54:35 +01:00
2020-11-24 14:42:09 +01:00
2020-08-03 17:25:42 -07:00
2019-12-10 10:12:55 +01:00
2021-01-08 22:04:51 +01:00
2020-06-02 10:59:11 -07:00
2020-08-15 13:52:11 +02:00
2020-06-09 09:39:14 -07:00
2021-03-18 15:31:53 +01:00
2020-02-24 20:25:21 +01:00
2021-02-15 20:09:46 +01:00
2021-02-17 14:12:43 +01:00
2019-03-21 12:28:50 +01:00
2021-04-27 17:45:09 -07:00
2019-05-30 11:26:32 -07:00
2021-04-12 13:12:46 +02:00
2019-10-01 20:31:35 +02:00
2021-03-15 10:49:00 +01:00
2019-11-14 18:24:43 +01:00
2019-06-22 21:21:10 +02:00
2020-07-08 16:21:57 -04:00
2020-09-09 11:33:20 +02:00
2018-11-23 07:59:59 +01:00
2021-01-28 17:41:24 +01:00
2021-01-11 11:43:23 +01:00
2019-01-06 09:46:51 +09:00
2020-11-20 11:16:34 -08:00
2020-03-19 11:58:13 +01:00
2021-03-08 13:19:05 +01:00
2021-03-21 23:50:28 +01:00
2021-03-11 11:47:37 +01:00
2020-09-10 21:48:50 +02:00
2021-04-26 09:25:47 -07:00
2020-03-18 15:29:54 -04:00
2020-03-31 11:04:05 -07:00
2020-07-24 15:04:59 +02:00
2021-04-26 09:01:29 -07:00
2021-04-07 19:02:43 +02:00
2021-02-10 23:34:17 +01:00
2020-11-22 10:48:22 -08:00
2018-11-28 11:57:12 +01:00
2021-03-15 16:24:59 +01:00
2020-05-28 21:18:40 +02:00
2021-03-08 13:19:05 +01:00
2020-11-17 19:05:32 +01:00
2021-02-17 14:12:42 +01:00
2019-01-12 17:54:49 +01:00
2020-10-06 11:18:04 +02:00
2021-03-08 13:19:05 +01:00
2019-07-22 10:12:33 +02:00
2021-03-15 04:43:25 -04:00
2021-03-28 22:40:10 +02:00
2019-04-10 09:53:31 +02:00
2020-12-09 09:37:42 +01:00
2021-03-25 16:20:41 +01:00
2020-03-31 11:04:05 -07:00
2020-03-21 16:03:25 +01:00
2019-05-30 11:26:32 -07:00
2020-09-01 09:58:05 +02:00
2021-02-08 11:43:20 +01:00
2021-03-28 22:40:10 +02:00
2019-06-29 11:35:35 +02:00
2021-01-29 20:02:29 +01:00
2021-03-06 12:59:10 +01:00
2021-01-14 12:18:36 +01:00
2020-11-17 14:36:13 +01:00
2020-09-07 19:45:25 +02:00
2020-10-14 10:21:34 -07:00
2020-08-10 19:07:44 -07:00
2020-03-18 15:53:25 -04:00
2020-10-06 11:18:04 +02:00
2020-10-23 13:44:24 -07:00
2019-11-07 11:07:29 +01:00
2020-03-21 16:03:21 +01:00
2021-01-26 11:12:00 -06:00
2020-04-25 12:22:29 +02:00
2019-05-30 11:26:35 -07:00
2020-12-14 17:13:53 -08:00
2020-04-23 10:50:26 +09:00
2020-03-23 18:45:14 +01:00
2021-02-04 05:27:33 -05:00
2021-01-21 20:08:53 +01:00
2021-04-30 11:20:40 -07:00
2019-10-22 00:51:44 +02:00
2021-04-20 04:18:54 -04:00
2021-02-04 05:27:21 -05:00
2019-06-28 00:04:39 +02:00
2020-01-14 12:20:58 +01:00
2020-10-28 20:26:29 +01:00
2019-05-24 17:27:13 +02:00
2020-04-09 00:01:59 +09:00
2019-05-24 17:27:13 +02:00