Module Name: src Committed By: sborrill Date: Thu Aug 10 10:30:28 UTC 2023
Modified Files: src/sys/arch/xen/x86 [netbsd-9]: xen_ipi.c Log Message: Pull up the following revisions(s) (requested by riastradh in ticket #1713): sys/arch/xen/x86/xen_ipi.c: revision 1.41 via patch xen/x86: Fix 'mach cpu N' in ddb by passing the right pointer to a struct intrframe to IPI handlers. To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.32.4.1 src/sys/arch/xen/x86/xen_ipi.c 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/xen/x86/xen_ipi.c diff -u src/sys/arch/xen/x86/xen_ipi.c:1.32 src/sys/arch/xen/x86/xen_ipi.c:1.32.4.1 --- src/sys/arch/xen/x86/xen_ipi.c:1.32 Sat Feb 2 12:32:55 2019 +++ src/sys/arch/xen/x86/xen_ipi.c Thu Aug 10 10:30:28 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: xen_ipi.c,v 1.32 2019/02/02 12:32:55 cherry Exp $ */ +/* $NetBSD: xen_ipi.c,v 1.32.4.1 2023/08/10 10:30:28 sborrill Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. @@ -33,10 +33,10 @@ /* * Based on: x86/ipi.c - * __KERNEL_RCSID(0, "$NetBSD: xen_ipi.c,v 1.32 2019/02/02 12:32:55 cherry Exp $"); + * __KERNEL_RCSID(0, "$NetBSD: xen_ipi.c,v 1.32.4.1 2023/08/10 10:30:28 sborrill Exp $"); */ -__KERNEL_RCSID(0, "$NetBSD: xen_ipi.c,v 1.32 2019/02/02 12:32:55 cherry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: xen_ipi.c,v 1.32.4.1 2023/08/10 10:30:28 sborrill Exp $"); #include "opt_ddb.h" @@ -87,16 +87,13 @@ static void (*ipifunc[XEN_NIPIS])(struct }; static int -xen_ipi_handler(void *arg) +xen_ipi_handler(void *arg, struct intrframe *regs) { uint32_t pending; int bit; struct cpu_info *ci; - struct intrframe *regs; ci = curcpu(); - regs = arg; - pending = atomic_swap_32(&ci->ci_ipis, 0); KDASSERT((pending >> XEN_NIPIS) == 0); @@ -138,7 +135,8 @@ xen_ipi_init(void) device_xname(ci->ci_dev)); if (xen_intr_establish_xname(-1, &xen_pic, evtchn, IST_LEVEL, IPL_HIGH, - xen_ipi_handler, ci, true, intr_xname) == NULL) { + (int (*)(void *))xen_ipi_handler, ci, true, intr_xname) + == NULL) { panic("%s: unable to register ipi handler\n", __func__); /* NOTREACHED */ }