Module Name: src
Committed By: cherry
Date: Sat Oct 6 16:49:54 UTC 2018
Modified Files:
src/sys/arch/x86/x86: intr.c
src/sys/arch/xen/include: intr.h
src/sys/arch/xen/x86: pintr.c
Log Message:
Change the name of xen_pirq_alloc() to xen_vec_alloc() to reflect
its actual job.
The idea is that we will strip this down until it is as close to
idt_vec_alloc() as possible.
To generate a diff of this commit:
cvs rdiff -u -r1.131 -r1.132 src/sys/arch/x86/x86/intr.c
cvs rdiff -u -r1.46 -r1.47 src/sys/arch/xen/include/intr.h
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/xen/x86/pintr.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/x86/x86/intr.c
diff -u src/sys/arch/x86/x86/intr.c:1.131 src/sys/arch/x86/x86/intr.c:1.132
--- src/sys/arch/x86/x86/intr.c:1.131 Sat Oct 6 16:44:55 2018
+++ src/sys/arch/x86/x86/intr.c Sat Oct 6 16:49:54 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: intr.c,v 1.131 2018/10/06 16:44:55 cherry Exp $ */
+/* $NetBSD: intr.c,v 1.132 2018/10/06 16:49:54 cherry Exp $ */
/*
* Copyright (c) 2007, 2008, 2009 The NetBSD Foundation, Inc.
@@ -133,7 +133,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.131 2018/10/06 16:44:55 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.132 2018/10/06 16:49:54 cherry Exp $");
#include "opt_intrdebug.h"
#include "opt_multiprocessor.h"
@@ -1290,7 +1290,8 @@ intr_establish_xname(int legacy_irq, str
intrstr = intr_create_intrid(irq, pic, pin, intrstr_buf,
sizeof(intrstr_buf));
- vector = xen_pirq_alloc(&irq, type);
+ vector = xen_vec_alloc(irq);
+ irq = vect2irq[vector];
irq = (legacy_irq == -1) ? irq : legacy_irq; /* ISA compat */
#if NIOAPIC > 0
Index: src/sys/arch/xen/include/intr.h
diff -u src/sys/arch/xen/include/intr.h:1.46 src/sys/arch/xen/include/intr.h:1.47
--- src/sys/arch/xen/include/intr.h:1.46 Sun Jun 24 13:35:32 2018
+++ src/sys/arch/xen/include/intr.h Sat Oct 6 16:49:54 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: intr.h,v 1.46 2018/06/24 13:35:32 jdolecek Exp $ */
+/* $NetBSD: intr.h,v 1.47 2018/10/06 16:49:54 cherry Exp $ */
/* NetBSD intr.h,v 1.15 2004/10/31 10:39:34 yamt Exp */
/*-
@@ -71,7 +71,7 @@ int xen_intr_biglock_wrapper(void *);
#endif
#if defined(DOM0OPS) || NPCI > 0
-int xen_pirq_alloc(intr_handle_t *, int);
+int xen_vec_alloc(intr_handle_t);
#endif /* defined(DOM0OPS) || NPCI > 0 */
#ifdef MULTIPROCESSOR
Index: src/sys/arch/xen/x86/pintr.c
diff -u src/sys/arch/xen/x86/pintr.c:1.5 src/sys/arch/xen/x86/pintr.c:1.6
--- src/sys/arch/xen/x86/pintr.c:1.5 Sat Oct 6 16:44:55 2018
+++ src/sys/arch/xen/x86/pintr.c Sat Oct 6 16:49:54 2018
@@ -103,7 +103,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pintr.c,v 1.5 2018/10/06 16:44:55 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pintr.c,v 1.6 2018/10/06 16:49:54 cherry Exp $");
#include "opt_multiprocessor.h"
#include "opt_xen.h"
@@ -160,10 +160,10 @@ int vect2irq[256] = {0};
#if defined(DOM0OPS) || NPCI > 0
int
-xen_pirq_alloc(intr_handle_t *pirq, int type)
+xen_vec_alloc(intr_handle_t pirq)
{
physdev_op_t op;
- int irq = *pirq;
+ int irq = pirq;
#if NIOAPIC > 0
/*
@@ -178,14 +178,14 @@ xen_pirq_alloc(intr_handle_t *pirq, int
* or none is available.
*/
static int xen_next_irq = 200;
- struct ioapic_softc *ioapic = ioapic_find(APIC_IRQ_APIC(*pirq));
- int pin = APIC_IRQ_PIN(*pirq);
+ struct ioapic_softc *ioapic = ioapic_find(APIC_IRQ_APIC(pirq));
+ int pin = APIC_IRQ_PIN(pirq);
- if (*pirq & APIC_INT_VIA_APIC) {
+ if (pirq & APIC_INT_VIA_APIC) {
irq = vect2irq[ioapic->sc_pins[pin].ip_vector];
if (ioapic->sc_pins[pin].ip_vector == 0 || irq == 0) {
/* allocate IRQ */
- irq = APIC_IRQ_LEGACY_IRQ(*pirq);
+ irq = APIC_IRQ_LEGACY_IRQ(pirq);
if (irq <= 0 || irq > 15)
irq = xen_next_irq--;
retry:
@@ -207,8 +207,6 @@ retry:
vect2irq[op.u.irq_op.vector] == irq));
vect2irq[op.u.irq_op.vector] = irq;
}
- *pirq &= ~0xff;
- *pirq |= irq;
} else
#endif /* NIOAPIC */
{