Hello, I tried the newest kernel, 3.9 today but the bug is still present. Applying the attached patch solves the bug for me.
Best regards, Jonas Heinrich On 03-20 14:32, Jonas Heinrich wrote: > Hello Peter, > sorry for responding that late to your advice ... > > On 02-23 13:54, H. Peter Anvin wrote: > > So to bisect anything between > > 73201dbec64aebf6b0dca855b523f437972dc7bb and > > 1396adc3c2bdc556d4cdd1cf107aa0b6d59fbb1e in a meaningful way you > > will have to apply 1396adc3c2bdc556d4cdd1cf107aa0b6d59fbb1e on top. > > Hope I got you right: > > git bisect start > # good: [73201dbec64aebf6b0dca855b523f437972dc7bb] x86, suspend: On > # wakeup always initialize cr4 and EFER > git bisect good 73201dbec64aebf6b0dca855b523f437972dc7bb > # bad: [1396adc3c2bdc556d4cdd1cf107aa0b6d59fbb1e] x86, suspend: Correct > # the restore of CR4, EFER; skip computing EFLAGS.ID > git bisect bad 1396adc3c2bdc556d4cdd1cf107aa0b6d59fbb1e > # cherry-picking > git cherry-pick 1396adc3c2bdc556d4cdd1cf107aa0b6d59fbb1e > # bad: [a4a4fd9c1b2fa3687fa80177d5de7c551851906d] x86, suspend: Correct the > restore of CR4, EFER; skip computing EFLAGS.ID > git bisect bad a4a4fd9c1b2fa3687fa80177d5de7c551851906d > # cherry-picking > git cherry-pick 1396adc3c2bdc556d4cdd1cf107aa0b6d59fbb1e > # bad: [be74ee62657cd7a51519946da7c4bedf7695b0da] x86, suspend: Correct the > restore of CR4, EFER; skip computing EFLAGS.ID > git bisect bad be74ee62657cd7a51519946da7c4bedf7695b0da > # cherry-picking > git cherry-pick 1396adc3c2bdc556d4cdd1cf107aa0b6d59fbb1e > # bad: [10df153d76caf2464adb076d475c5c3bfce2c584] x86, suspend: Correct the > restore of CR4, EFER; skip computing EFLAGS.ID > git bisect bad 10df153d76caf2464adb076d475c5c3bfce2c584 > # cherry-picking > git cherry-pick 1396adc3c2bdc556d4cdd1cf107aa0b6d59fbb1e > # bad: [5ccf64462e2ea53f6b446aea61c308f57224ad6c] x86, suspend: Correct the > restore of CR4, EFER; skip computing EFLAGS.ID > git bisect bad 5ccf64462e2ea53f6b446aea61c308f57224ad6c > # cherry-picking > git cherry-pick 1396adc3c2bdc556d4cdd1cf107aa0b6d59fbb1e > # bad: [6337a0046893906ef8dba2db30e36d7360101871] x86, suspend: Correct the > restore of CR4, EFER; skip computing EFLAGS.ID > git bisect bad 6337a0046893906ef8dba2db30e36d7360101871 > # cherry-picking > git cherry-pick 1396adc3c2bdc556d4cdd1cf107aa0b6d59fbb1e > # bad: [49eeaeaf09fde353766ae0cc548c4cef752d90a9] x86, suspend: Correct the > restore of CR4, EFER; skip computing EFLAGS.ID > git bisect bad 49eeaeaf09fde353766ae0cc548c4cef752d90a9 > # cherry-picking > git cherry-pick 1396adc3c2bdc556d4cdd1cf107aa0b6d59fbb1e > # bad: [43d880b7fbaa831d5bab9bd3215d3053f7c69e97] x86, suspend: Correct the > restore of CR4, EFER; skip computing EFLAGS.ID > git bisect bad 43d880b7fbaa831d5bab9bd3215d3053f7c69e97 > > Well, don't know how to proceed here. As you could see, none of these kernels > worked for me. > > > If 73201dbec64aebf6b0dca855b523f437972dc7b with > > 1396adc3c2bdc556d4cdd1cf107aa0b6d59fbb1e on top fails whereas the > > previous one does, then that is very interesting and something we > > can work with. > > git bisect reset > git pull > git checkout 73201dbec64aebf6b0dca855b523f437972dc7b > git cherry-pick 1396adc3c2bdc556d4cdd1cf107aa0b6d59fbb1e > > This kernel also does not work :( > > Best regards, > Jonas Heinrich
--- a/arch/x86/realmode/rm/wakeup_asm.S 2013-04-29 02:36:01.000000000 +0200 +++ b/arch/x86/realmode/rm/wakeup_asm.S 2013-05-01 11:42:07.359999895 +0200 @@ -93,8 +93,8 @@ /* Restore MISC_ENABLE before entering protected mode, in case BIOS decided to clear XD_DISABLE during S3. */ - movl pmode_behavior, %edi - btl $WAKEUP_BEHAVIOR_RESTORE_MISC_ENABLE, %edi + movl pmode_behavior, %eax + btl $WAKEUP_BEHAVIOR_RESTORE_MISC_ENABLE, %eax jnc 1f movl pmode_misc_en, %eax @@ -110,15 +110,15 @@ movl pmode_cr3, %eax movl %eax, %cr3 - btl $WAKEUP_BEHAVIOR_RESTORE_CR4, %edi - jnc 1f - movl pmode_cr4, %eax - movl %eax, %cr4 + movl pmode_cr4, %ecx + jecxz 1f + movl %ecx, %cr4 1: - btl $WAKEUP_BEHAVIOR_RESTORE_EFER, %edi - jnc 1f movl pmode_efer, %eax movl pmode_efer + 4, %edx + movl %eax, %ecx + orl %edx, %ecx + jz 1f movl $MSR_EFER, %ecx wrmsr 1:
pgpTokdBgtAnt.pgp
Description: PGP signature