svn commit: r348617 - stable/12/sys/riscv/riscv

Ruslan Bukin br at FreeBSD.org
Tue Jun 4 15:25:04 UTC 2019


Author: br
Date: Tue Jun  4 15:25:03 2019
New Revision: 348617
URL: https://svnweb.freebsd.org/changeset/base/348617

Log:
  MFC r346633:
  
  Implement pic_pre_ithread(), pic_post_ithread().
  
  Sponsored by:	DARPA, AFRL

Modified:
  stable/12/sys/riscv/riscv/plic.c

Modified: stable/12/sys/riscv/riscv/plic.c
==============================================================================
--- stable/12/sys/riscv/riscv/plic.c	Tue Jun  4 15:18:41 2019	(r348616)
+++ stable/12/sys/riscv/riscv/plic.c	Tue Jun  4 15:25:03 2019	(r348617)
@@ -249,6 +249,30 @@ plic_attach(device_t dev)
 	return (intr_pic_claim_root(sc->dev, xref, plic_intr, sc, 0));
 }
 
+static void
+plic_pre_ithread(device_t dev, struct intr_irqsrc *isrc)
+{
+	struct plic_softc *sc;
+	struct plic_irqsrc *src;
+
+	sc = device_get_softc(dev);
+	src = (struct plic_irqsrc *)isrc;
+
+	WR4(sc, PLIC_PRIORITY(src->irq), 0);
+}
+
+static void
+plic_post_ithread(device_t dev, struct intr_irqsrc *isrc)
+{
+	struct plic_softc *sc;
+	struct plic_irqsrc *src;
+
+	sc = device_get_softc(dev);
+	src = (struct plic_irqsrc *)isrc;
+
+	WR4(sc, PLIC_PRIORITY(src->irq), 1);
+}
+
 static device_method_t plic_methods[] = {
 	DEVMETHOD(device_probe,		plic_probe),
 	DEVMETHOD(device_attach,	plic_attach),
@@ -256,6 +280,8 @@ static device_method_t plic_methods[] = {
 	DEVMETHOD(pic_disable_intr,	plic_disable_intr),
 	DEVMETHOD(pic_enable_intr,	plic_enable_intr),
 	DEVMETHOD(pic_map_intr,		plic_map_intr),
+	DEVMETHOD(pic_pre_ithread,	plic_pre_ithread),
+	DEVMETHOD(pic_post_ithread,	plic_post_ithread),
 
 	DEVMETHOD_END
 };


More information about the svn-src-all mailing list