[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.1810021119540.32062@nanos.tec.linutronix.de>
Date: Tue, 2 Oct 2018 11:20:23 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Chen Yu <yu.c.chen@...el.com>
cc: "Rafael J. Wysocki" <rafael@...nel.org>,
Pavel Machek <pavel@....cz>, Len Brown <len.brown@...el.com>,
Zhimin Gu <kookoo.gu@...el.com>, x86@...nel.org,
linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 00/12][v4] Backport several fixes from 64bits to 32bits
hibernation
On Fri, 21 Sep 2018, Chen Yu wrote:
> Currently there are mainly three bugs in 32bits system when doing
> hibernation:
> 1. The page copy code is not running in safe page, which might
> cause hang during resume.
> 2. There's no text mapping for the final jump address
> of the original kernel, which might cause the system jumping
> into illegal address and causes system hang during resume.
> 3. The restore kernel switches to its own kernel page table(swapper_pg_dir)
> rather than the original kernel page table after all the pages
> been copied back, which might cause invalid virtual-physical
> mapping issue during resume.
>
> To solve these problems:
>
> 1. Copy the code core_restore_code to a safe page, to avoid the instruction
> code been overwritten when image kernel pages are being copied.
> 2. Set up temporary text mapping for the image kernel's jump address,
> so that after all the pages have been copied back, the system could
> jump to this address.
> 3. Switch to the original kernel page table during resume.
>
> Furthermore, MD5 hash check for e820 map is also backported from 64bits
> system.
>
> In order to make this patch set more readable, these fixes are splitted
> into several sub patches.
>
> And use CONFIG_X86_64 to control the common code to be 'activated' for
> 32 bit system during each sub-patch for better maintaining.
Acked-by: Thomas Gleixner <tglx@...utronix.de>
Rafael, it's all yours :)
Thanks,
tglx
Powered by blists - more mailing lists