Module Name: src Committed By: bouyer Date: Thu Apr 9 16:51:00 UTC 2020
Modified Files: src/sys/arch/amd64/amd64 [bouyer-xenpvh]: spl.S Log Message: restore %eax before using it. This bug caused event handlers to be called spuriously at high spl or in a reentrant manner. Now a amd64 PVHVM domU can checkout pkgsrc and build packages without panic. To generate a diff of this commit: cvs rdiff -u -r1.43 -r1.43.4.1 src/sys/arch/amd64/amd64/spl.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/amd64/amd64/spl.S diff -u src/sys/arch/amd64/amd64/spl.S:1.43 src/sys/arch/amd64/amd64/spl.S:1.43.4.1 --- src/sys/arch/amd64/amd64/spl.S:1.43 Wed Jan 8 17:38:41 2020 +++ src/sys/arch/amd64/amd64/spl.S Thu Apr 9 16:51:00 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: spl.S,v 1.43 2020/01/08 17:38:41 ad Exp $ */ +/* $NetBSD: spl.S,v 1.43.4.1 2020/04/09 16:51:00 bouyer Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -366,8 +366,9 @@ IDTVEC(doreti) popq %rbx /* get previous priority */ decl CPUVAR(IDEPTH) leaq 1f(%rip),%r13 -1: movl %ebx,%eax +1: #if !defined(XENPV) + movl %ebx,%eax movl CPUVAR(IUNMASK)(,%rax,4),%eax CLI(si) andl CPUVAR(IPENDING),%eax @@ -379,6 +380,7 @@ IDTVEC(doreti) #endif 2: #if defined(XEN) + movl %ebx,%eax movl CPUVAR(XUNMASK)(,%rax,4),%eax CLI(si) andl CPUVAR(XPENDING),%eax