[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/4] x86/ACPI: fix S3 wakeup vector mapping
On 23.11.2020 16:24, Roger Pau Monné wrote: > On Mon, Nov 23, 2020 at 01:40:12PM +0100, Jan Beulich wrote: >> --- a/xen/arch/x86/acpi/power.c >> +++ b/xen/arch/x86/acpi/power.c >> @@ -174,17 +174,20 @@ static void acpi_sleep_prepare(u32 state >> if ( state != ACPI_STATE_S3 ) >> return; >> >> - wakeup_vector_va = __acpi_map_table( >> - acpi_sinfo.wakeup_vector, sizeof(uint64_t)); >> - >> /* TBoot will set resume vector itself (when it is safe to do so). */ >> if ( tboot_in_measured_env() ) >> return; >> >> + set_fixmap(FIX_ACPI_END, acpi_sinfo.wakeup_vector); >> + wakeup_vector_va = fix_to_virt(FIX_ACPI_END) + >> + PAGE_OFFSET(acpi_sinfo.wakeup_vector); >> + >> if ( acpi_sinfo.vector_width == 32 ) >> *(uint32_t *)wakeup_vector_va = bootsym_phys(wakeup_start); >> else >> *(uint64_t *)wakeup_vector_va = bootsym_phys(wakeup_start); >> + >> + clear_fixmap(FIX_ACPI_END); > > Why not use vmap here instead of the fixmap? Considering the S3 path is relatively fragile (as in: we end up breaking it more often than about anything else) I wanted to make as little of a change as possible. Hence I decided to stick to the fixmap use that was (indirectly) used before as well. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |