PERFORCE change 108932 for review

John Baldwin jhb at FreeBSD.org
Wed Nov 1 18:43:46 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=108932

Change 108932 by jhb at jhb_mutex on 2006/11/01 18:43:12

	Update.

Affected files ...

.. //depot/projects/smpng/sys/notes#94 edit
.. //depot/user/jhb/intr/notes#44 edit
.. //depot/user/jhb/msi/notes#2 edit

Differences ...

==== //depot/projects/smpng/sys/notes#94 (text+ko) ====

@@ -80,10 +80,11 @@
     - untested
 
 Active child branches:
-- jhb_intr - MSI?
+- jhb_intr - misc interrupt stuff
 - jhb_intr_fast - jeff's fast ithread patches
 - jhb_ktrace - kernel debugging stuff, asm constraints
 - jhb_lock - synchronization primitives
+- jhb_msi - PCI MSI/MSI-X interrupts
 - jhb_needresched - scheduler fun
 - jhb_preemption - preemption
 - jhb_proc - proc locking

==== //depot/user/jhb/intr/notes#44 (text+ko) ====

@@ -107,32 +107,6 @@
 - atpic code is now only used for UP, so it can use spinlock sections
   explicitly rather than icu lock
 
-MSI Support:
-- i386
-  - MSI interrupt source class
-    - eoi just does lapic_eoi()
-    - enable/disable source do little
-    - need a function for allocating N vectors which creates the interrupt
-      sources, allocs apic vectors for them, and then adds them
-    - need a way to teardown as well, maybe nexus' bus_release_resource()
-      would do that via a new release_resource intsrc method?
-  - determine new-bus interface for MSI IRQs
-    - need a way to request MSIs
-      - pci bridge drivers (or bus) should have opportunity to blacklist
-	known-bad bridges
-      - need to support alloc'ing certain amounts (1, 4, 8, etc.) from the
-        driver
-      - i386 MSI class will add new interrupt sources after the I/O APIC IRQs
-      - nexus (or somebody) will then create IRQ resources at rid 1 .. N and
-        set them up for the child device
-      - alternative is to fix MSI at rid 1 and let that resource have multiple
-        IRQs.  driver has to call bus_alloc_resourc() for each supported
-        count, and bus_setup_intr() will have to grow an index.  this
-	interface requires the IRQs to be contiguously numbered though, and
-	I think that is a bad assumption to enforce
-    - child device can then do bus_alloc_resource() / bus_setup_intr()
-- amd64, just copy over from i386 for now
-
 Remaining Interrupt Event issues:
 + Port to powerpc
   - has a few XXX, doesn't handle multiple fast

==== //depot/user/jhb/msi/notes#2 (text+ko) ====

@@ -90,3 +90,27 @@
 - jhb_proc_slock - per-process spin lock
 
 Space reserved for child branches:
+- i386
+  - MSI interrupt source class
+    - eoi just does lapic_eoi()
+    - enable/disable source do little
+    - need a function for allocating N vectors which creates the interrupt
+      sources, allocs apic vectors for them, and then adds them
+    - need a way to teardown as well, maybe nexus' bus_release_resource()
+      would do that via a new release_resource intsrc method?
+  - determine new-bus interface for MSI IRQs
+    - need a way to request MSIs
+      - pci bridge drivers (or bus) should have opportunity to blacklist
+	known-bad bridges
+      - need to support alloc'ing certain amounts (1, 4, 8, etc.) from the
+        driver
+      - i386 MSI class will add new interrupt sources after the I/O APIC IRQs
+      - nexus (or somebody) will then create IRQ resources at rid 1 .. N and
+        set them up for the child device
+      - alternative is to fix MSI at rid 1 and let that resource have multiple
+        IRQs.  driver has to call bus_alloc_resourc() for each supported
+        count, and bus_setup_intr() will have to grow an index.  this
+	interface requires the IRQs to be contiguously numbered though, and
+	I think that is a bad assumption to enforce
+    - child device can then do bus_alloc_resource() / bus_setup_intr()
+- amd64, just copy over from i386 for now


More information about the p4-projects mailing list