Remove the __asm("lock") again from softintr(), as ci_ipending is local
to the CPU. Thanks to YAMAMOTO Takashi and Andrew Doran for their comments on this.
This commit is contained in:
parent
30638c77c3
commit
0bee3ccac3
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: xen_intr.c,v 1.3 2007/06/25 20:02:45 bouyer Exp $ */
|
||||
/* $NetBSD: xen_intr.c,v 1.4 2007/06/26 19:41:11 bouyer Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998, 2001 The NetBSD Foundation, Inc.
|
||||
@ -37,7 +37,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: xen_intr.c,v 1.3 2007/06/25 20:02:45 bouyer Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: xen_intr.c,v 1.4 2007/06/26 19:41:11 bouyer Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
|
||||
@ -97,6 +97,5 @@ softintr(int sir)
|
||||
{
|
||||
struct cpu_info *ci = curcpu();
|
||||
|
||||
__asm volatile("lock ; orl %1, %0" :
|
||||
"=m"(ci->ci_ipending) : "ir" (1 << sir));
|
||||
__asm volatile("orl %1, %0" : "=m"(ci->ci_ipending) : "ir" (1 << sir));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user