Skip to content

aarch64: efi get time fail in guest kernel #289

@jongwu

Description

@jongwu

If efi_rtc is enabled in guest kernel, a warning occurs:

[    0.795685] [Firmware Bug]: Unable to handle paging request in EFI runtime service
[    0.858764] ------------[ cut here ]------------
[    0.860111] WARNING: CPU: 0 PID: 1 at drivers/firmware/efi/runtime-wrappers.c:346 __efi_queue_work+0xe8/0x11c
[    0.862929] Modules linked in:
[    0.863850] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W I        6.5.0-next-20230905+ #228
[    0.866502] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    0.868580] pc : __efi_queue_work+0xe8/0x11c
[    0.869863] lr : __efi_queue_work+0xd4/0x11c
[    0.871143] sp : ffff80008002bad0
[    0.872135] x29: ffff80008002bad0 x28: 0000000000000000 x27: ffff800081945868
[    0.874287] x26: ffff8000818500b0 x25: ffff8000817c48b0 x24: 0000000000000000
[    0.876425] x23: ffff800082425c18 x22: 0000000000000000 x21: ffff80008002bb98
[    0.878544] x20: ffff800082434a40 x19: ffff8000824349e0 x18: 3d464f6d78cd8426
[    0.880673] x17: ffff800034fc4000 x16: ffff800080000000 x15: 00003a1efce9c232
[    0.882805] x14: 0000000000000228 x13: 0000000000000001 x12: 0000000000000001
[    0.884950] x11: 0000000000000000 x10: 0000000000000980 x9 : ffff80008002b920
[    0.887077] x8 : ffff0000018e09e0 x7 : ffff0000b69f5780 x6 : 0000000000000000
[    0.889205] x5 : 00000000430f0af0 x4 : 0000000000f0000f x3 : 0000000000000000
[    0.891337] x2 : 0000000000000000 x1 : 8000000000000015 x0 : 8000000000000015
[    0.893475] Call trace:
[    0.894210]  __efi_queue_work+0xe8/0x11c
[    0.895384]  virt_efi_get_time+0x64/0xb4
[    0.896568]  efi_rtc_probe+0x40/0x170
[    0.897663]  platform_probe+0x68/0xdc
[    0.898756]  really_probe+0x148/0x2ac
[    0.899852]  __driver_probe_device+0x78/0x12c
[    0.901165]  driver_probe_device+0x3c/0x15c
[    0.902416]  __driver_attach+0x94/0x19c
[    0.903560]  bus_for_each_dev+0x74/0xd4
[    0.904714]  driver_attach+0x24/0x30
[    0.905789]  bus_add_driver+0xe4/0x1e8
[    0.906913]  driver_register+0x60/0x128
[    0.908064]  __platform_driver_probe+0x58/0xd0
[    0.909410]  efi_rtc_driver_init+0x24/0x30
[    0.910637]  do_one_initcall+0x6c/0x1b0
[    0.911785]  kernel_init_freeable+0x1b8/0x280
[    0.913096]  kernel_init+0x24/0x1e0
[    0.914140]  ret_from_fork+0x10/0x20
[    0.915211] ---[ end trace 0000000000000000 ]---

And the time is wrong in guest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions