Re: [PATCH, DEBUG] x86/32: Add small delay after resume

Srinivas Pandruvada
2015-06-16T22:27:51Z

On Tue, 2015-06-16 at 14:33 -0700, H. Peter Anvin wrote:
> On 06/15/2015 09:10 AM, Srinivas Pandruvada wrote:
> >>
> >> So is it true that we always execute wakeup_pmode_return first after we return
> >> from the BIOS?
> >>
> >> If so then the BIOS touching DS cannot be an issue, as we re-initialize all
> >> segment selectors, which reloads the descriptors:
> >>
> >> ENTRY(wakeup_pmode_return)
> >> wakeup_pmode_return:
> >> movw $__KERNEL_DS, %ax
> >> movw %ax, %ss
> >> movw %ax, %ds
> >> movw %ax, %es
> >> movw %ax, %fs
> >> movw %ax, %gs
> >>
> >> # reload the gdt, as we need the full 32 bit address
> >> lidt saved_idt
> >> lldt saved_ldt
> >> ljmp $(__KERNEL_CS), $1f
> >>
>
> Where does the GDT get initialized?
In wakeup_start
During acpi_sleep_prepare we set a 32 bit FW waking vector which points
to wakeup_start.

Thanks,
Srinivas
>
> -hpa
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html