Nicholas Piggin
a97a65d53d
KVM: PPC: Book3S: 64-bit CONFIG_RELOCATABLE support for interrupts
...
64-bit Book3S exception handlers must find the dynamic kernel base
to add to the target address when branching beyond __end_interrupts,
in order to support kernel running at non-0 physical address.
Support this in KVM by branching with CTR, similarly to regular
interrupt handlers. The guest CTR saved in HSTATE_SCRATCH1 and
restored after the branch.
Without this, the host kernel hangs and crashes randomly when it is
running at a non-0 address and a KVM guest is started.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Acked-by: Paul Mackerras <paulus@ozlabs.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-01-31 19:07:39 +11:00
..
2016-08-10 23:04:12 +10:00
2016-09-29 15:17:57 +10:00
2016-12-24 11:46:01 -08:00
2016-12-16 09:26:42 -08:00
2016-05-01 18:32:32 +10:00
2015-04-11 20:49:28 +10:00
2016-06-14 13:58:26 +10:00
2016-03-04 23:44:51 -06:00
2016-12-16 09:26:42 -08:00
2016-09-25 02:38:55 -05:00
2016-12-24 11:46:01 -08:00
2016-07-14 20:26:22 +10:00
2015-03-20 14:51:53 +11:00
2016-08-04 08:50:07 -04:00
2015-07-13 10:10:55 +10:00
2016-12-14 16:04:07 -08:00
2016-07-08 22:09:50 +10:00
2016-06-21 15:30:56 +10:00
2016-12-16 09:26:42 -08:00
2016-11-22 11:57:07 +11:00
2016-11-22 11:57:07 +11:00
2014-11-27 09:32:58 +11:00
2016-11-22 11:57:08 +11:00
2016-11-23 22:57:20 +11:00
2016-10-14 14:26:58 -07:00
2016-08-07 23:50:09 -04:00
2014-06-10 18:54:22 -07:00
2016-11-28 22:32:30 +11:00
2017-01-31 19:07:39 +11:00
2016-10-07 21:38:00 -07:00
2016-10-14 14:26:58 -07:00
2015-08-07 23:00:01 -05:00
2016-12-03 22:10:15 +11:00
2016-12-09 22:49:07 -06:00
2016-10-14 14:26:58 -07:00
2016-08-07 23:50:09 -04:00
2016-08-07 23:50:09 -04:00
2016-11-30 23:15:11 +11:00
2013-05-02 10:31:01 +10:00
2016-08-07 23:50:09 -04:00
2016-12-24 11:46:01 -08:00
2014-04-23 10:05:16 +10:00
2016-10-24 19:29:47 +11:00
2015-06-02 21:37:19 -05:00
2014-04-23 10:05:16 +10:00
2013-07-01 11:10:35 +10:00
2016-12-20 09:48:44 -08:00
2015-10-12 15:30:09 +11:00
2013-08-14 14:58:08 +10:00
2016-05-31 16:41:52 +08:00
2016-10-11 15:06:32 -07:00
2016-12-24 11:46:01 -08:00
2016-05-01 18:32:32 +10:00
2015-08-03 11:34:12 +02:00
2016-12-20 09:48:44 -08:00
2016-02-18 00:03:26 +11:00
2016-12-24 11:46:01 -08:00
2015-08-06 15:10:20 +10:00
2016-09-20 20:57:12 +10:00
2016-11-30 23:15:26 +11:00
2016-12-20 09:48:44 -08:00
2016-05-11 21:54:04 +10:00
2016-12-20 09:48:40 -08:00
2016-05-11 21:53:59 +10:00
2016-11-18 22:40:38 +11:00
2016-12-25 16:12:20 -08:00
2016-11-30 23:15:11 +11:00
2016-08-07 23:50:09 -04:00
2016-03-07 14:53:53 +11:00
2016-11-14 11:11:51 +11:00
2016-12-24 11:46:01 -08:00
2015-06-02 11:47:45 +10:00
2016-12-24 11:46:01 -08:00
2016-11-25 14:07:51 +11:00
2016-08-01 11:15:01 +10:00
2016-12-24 11:46:01 -08:00
2016-07-15 14:57:47 +10:00
2016-07-07 16:33:27 +10:00
2016-09-20 20:57:12 +10:00
2016-10-14 14:26:58 -07:00
2016-05-11 21:54:26 +10:00
2013-02-03 18:16:10 -05:00
2016-12-24 11:46:01 -08:00
2016-12-16 09:26:42 -08:00
2014-09-25 23:14:46 +10:00
2016-11-30 23:19:59 +11:00
2013-08-14 15:33:26 +10:00
2016-11-30 23:15:11 +11:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2013-07-01 11:10:34 +10:00
2014-03-07 13:50:19 +11:00
2016-12-24 11:46:01 -08:00
2015-04-11 20:49:09 +10:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-16 09:26:42 -08:00
2016-12-02 14:38:27 +11:00
2016-07-21 19:17:46 +10:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-10-04 20:33:16 +11:00
2014-01-15 13:46:44 +11:00
2016-11-30 23:15:11 +11:00
2016-01-11 14:27:28 +11:00
2014-10-09 22:26:04 -04:00
2013-10-31 12:37:29 +11:00
2014-01-07 19:06:03 -06:00
2016-05-01 18:33:04 +10:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-11-22 23:34:42 +01:00
2015-11-26 22:11:17 +11:00
2015-11-26 22:11:17 +11:00
2015-03-28 22:03:40 +11:00
2016-12-25 11:04:12 +01:00
2016-10-04 20:33:16 +11:00
2015-08-06 16:36:23 +10:00
2016-12-24 11:46:01 -08:00
2014-11-12 13:47:20 +11:00
2015-04-07 17:15:13 +10:00
2013-11-20 16:31:01 +01:00
2016-08-09 16:52:00 +10:00
2016-12-24 11:46:01 -08:00
2016-10-14 14:26:58 -07:00
2016-12-01 22:26:31 +11:00