projects
/
GitHub
/
LineageOS
/
G12
/
android_kernel_amlogic_linux-4.9.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7a56377
)
xen: reset legacy rtc flag for PV domU
author
Juergen Gross
<jgross@suse.com>
Fri, 3 Sep 2021 08:49:37 +0000
(10:49 +0200)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Wed, 22 Sep 2021 09:43:08 +0000
(11:43 +0200)
commit
f68aa100d815b5b4467fd1c3abbe3b99d65fd028
upstream.
A Xen PV guest doesn't have a legacy RTC device, so reset the legacy
RTC flag. Otherwise the following WARN splat will occur at boot:
[ 1.333404] WARNING: CPU: 1 PID: 1 at /home/gross/linux/head/drivers/rtc/rtc-mc146818-lib.c:25 mc146818_get_time+0x1be/0x210
[ 1.333404] Modules linked in:
[ 1.333404] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 5.14.0-rc7-default+ #282
[ 1.333404] RIP: e030:mc146818_get_time+0x1be/0x210
[ 1.333404] Code: c0 64 01 c5 83 fd 45 89 6b 14 7f 06 83 c5 64 89 6b 14 41 83 ec 01 b8 02 00 00 00 44 89 63 10 5b 5d 41 5c 41 5d 41 5e 41 5f c3 <0f> 0b 48 c7 c7 30 0e ef 82 4c 89 e6 e8 71 2a 24 00 48 c7 c0 ff ff
[ 1.333404] RSP: e02b:
ffffc90040093df8
EFLAGS:
00010002
[ 1.333404] RAX:
00000000000000ff
RBX:
ffffc90040093e34
RCX:
0000000000000000
[ 1.333404] RDX:
0000000000000001
RSI:
0000000000000000
RDI:
000000000000000d
[ 1.333404] RBP:
ffffffff82ef0e30
R08:
ffff888005013e60
R09:
0000000000000000
[ 1.333404] R10:
ffffffff82373e9b
R11:
0000000000033080
R12:
0000000000000200
[ 1.333404] R13:
0000000000000000
R14:
0000000000000002
R15:
ffffffff82cdc6d4
[ 1.333404] FS:
0000000000000000
(0000) GS:
ffff88807d440000
(0000) knlGS:
0000000000000000
[ 1.333404] CS:
10000e030
DS: 0000 ES: 0000 CR0:
0000000080050033
[ 1.333404] CR2:
0000000000000000
CR3:
000000000260a000
CR4:
0000000000050660
[ 1.333404] Call Trace:
[ 1.333404] ? wakeup_sources_sysfs_init+0x30/0x30
[ 1.333404] ? rdinit_setup+0x2b/0x2b
[ 1.333404] early_resume_init+0x23/0xa4
[ 1.333404] ? cn_proc_init+0x36/0x36
[ 1.333404] do_one_initcall+0x3e/0x200
[ 1.333404] kernel_init_freeable+0x232/0x28e
[ 1.333404] ? rest_init+0xd0/0xd0
[ 1.333404] kernel_init+0x16/0x120
[ 1.333404] ret_from_fork+0x1f/0x30
Cc: <stable@vger.kernel.org>
Fixes:
8d152e7a5c7537
("x86/rtc: Replace paravirt rtc check with platform legacy quirk")
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Link:
https://lore.kernel.org/r/20210903084937.19392-3-jgross@suse.com
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/xen/enlighten.c
patch
|
blob
|
blame
|
history
diff --git
a/arch/x86/xen/enlighten.c
b/arch/x86/xen/enlighten.c
index db7cf8727e1cfacc1e7f6ea2ce6e72622d36a2b9..21e01fc632adb62e22480206e167b8dc095f1c4b 100644
(file)
--- a/
arch/x86/xen/enlighten.c
+++ b/
arch/x86/xen/enlighten.c
@@
-1576,6
+1576,11
@@
static int xen_cpuhp_setup(void)
return rc >= 0 ? 0 : rc;
}
+static void __init xen_domu_set_legacy_features(void)
+{
+ x86_platform.legacy.rtc = 0;
+}
+
/* First C function to be called on Xen boot */
asmlinkage __visible void __init xen_start_kernel(void)
{
@@
-1741,6
+1746,8
@@
asmlinkage __visible void __init xen_start_kernel(void)
add_preferred_console("hvc", 0, NULL);
if (pci_xen)
x86_init.pci.arch_init = pci_xen_init;
+ x86_platform.set_legacy_features =
+ xen_domu_set_legacy_features;
} else {
const struct dom0_vga_console_info *info =
(void *)((char *)xen_start_info +