Commit fe23429e authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fix from Martin Schwidefsky:
 "A fix for a regression in regard to machine check handling in KVM.

  Keeping my fingers crossed that this is the last s390 fix for v4.14"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/kvm: fix detection of guest machine checks
parents d3eab75a 0a5e2ec2
...@@ -521,12 +521,15 @@ ENTRY(pgm_check_handler) ...@@ -521,12 +521,15 @@ ENTRY(pgm_check_handler)
tmhh %r8,0x0001 # test problem state bit tmhh %r8,0x0001 # test problem state bit
jnz 2f # -> fault in user space jnz 2f # -> fault in user space
#if IS_ENABLED(CONFIG_KVM) #if IS_ENABLED(CONFIG_KVM)
# cleanup critical section for sie64a # cleanup critical section for program checks in sie64a
lgr %r14,%r9 lgr %r14,%r9
slg %r14,BASED(.Lsie_critical_start) slg %r14,BASED(.Lsie_critical_start)
clg %r14,BASED(.Lsie_critical_length) clg %r14,BASED(.Lsie_critical_length)
jhe 0f jhe 0f
brasl %r14,.Lcleanup_sie lg %r14,__SF_EMPTY(%r15) # get control block pointer
ni __SIE_PROG0C+3(%r14),0xfe # no longer in SIE
lctlg %c1,%c1,__LC_USER_ASCE # load primary asce
larl %r9,sie_exit # skip forward to sie_exit
#endif #endif
0: tmhh %r8,0x4000 # PER bit set in old PSW ? 0: tmhh %r8,0x4000 # PER bit set in old PSW ?
jnz 1f # -> enabled, can't be a double fault jnz 1f # -> enabled, can't be a double fault
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment