On Tuesday, October 2, 2018 11:20:23 AM CEST Thomas Gleixner wrote:
> 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 <t...@linutronix.de>
> 
> Rafael, it's all yours :)

Thank you, I have applied the series.

This was long overdue, many thanks to everyone involved for taking care of it!

Thanks,
Rafael

Reply via email to