From owner-cvs-all@FreeBSD.ORG Mon Nov 13 22:37:39 2006 Return-Path: X-Original-To: cvs-all@freebsd.org Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C382A16A4CA for ; Mon, 13 Nov 2006 22:37:39 +0000 (UTC) (envelope-from jfvogel@gmail.com) Received: from nz-out-0102.google.com (nz-out-0102.google.com [64.233.162.207]) by mx1.FreeBSD.org (Postfix) with ESMTP id B087D43F8E for ; Mon, 13 Nov 2006 22:33:40 +0000 (GMT) (envelope-from jfvogel@gmail.com) Received: by nz-out-0102.google.com with SMTP id i11so859776nzh for ; Mon, 13 Nov 2006 14:33:36 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=NCv9pnQZ6NjoRdDBaEiWzg26jfM2AbruWADBMtKK9QmzvjlDx7dGUoGdX2tsx53uYQYHnN04y0RZ6/j9x8ixXwrJe0l6rGkSEPbwTY8U2tV7rdGXTeXQQMpArcPzq77TggYsjHj3lCYx1f/uxCFuC0VE4qGTtNyyPkgO39NAqn8= Received: by 10.35.111.14 with SMTP id o14mr214110pym.1163457215802; Mon, 13 Nov 2006 14:33:35 -0800 (PST) Received: by 10.35.118.6 with HTTP; Mon, 13 Nov 2006 14:33:35 -0800 (PST) Message-ID: <2a41acea0611131433i5e4612eq55a8050775dce31c@mail.gmail.com> Date: Mon, 13 Nov 2006 14:33:35 -0800 From: "Jack Vogel" To: "John Baldwin" In-Reply-To: <200611132223.kADMNYk0017934@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200611132223.kADMNYk0017934@repoman.freebsd.org> Cc: cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/amd64/amd64 local_apic.c mptable_pci.c msi.c nexus.c src/sys/amd64/include apicvar.h intr_machdep.h src/sys/amd64/pci pci_bus.c src/sys/conf files.amd64 files.i386 src/sys/i386/i386 local_apic.c mptable_pci.c msi.c nexus.c ... X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Nov 2006 22:37:39 -0000 WOOOOOT, awesome, thanks John. BTW, have this code up and running here also now, will be new features that build on it forthcoming. Jack On 11/13/06, John Baldwin wrote: > jhb 2006-11-13 22:23:34 UTC > > FreeBSD src repository > > Modified files: > sys/amd64/amd64 local_apic.c mptable_pci.c nexus.c > sys/amd64/include apicvar.h intr_machdep.h > sys/amd64/pci pci_bus.c > sys/conf files.amd64 files.i386 > sys/i386/i386 local_apic.c mptable_pci.c nexus.c > sys/i386/include apicvar.h intr_machdep.h > sys/i386/pci pci_bus.c > Added files: > sys/amd64/amd64 msi.c > sys/i386/i386 msi.c > Log: > MD support for PCI Message Signalled Interrupts on amd64 and i386: > - Add a new apic_alloc_vectors() method to the local APIC support code > to allocate N contiguous IDT vectors (aligned on a M >= N boundary). > This function is used to allocate IDT vectors for a group of MSI > messages. > - Add MSI and MSI-X PICs. The PIC code here provides methods to manage > edge-triggered MSI messages as x86 interrupt sources. In addition to > the PIC methods, msi.c also includes methods to allocate and release > MSI and MSI-X messages. For x86, we allow for up to 128 different > MSI IRQs starting at IRQ 256 (IRQs 0-15 are reserved for ISA IRQs, > 16-254 for APIC PCI IRQs, and IRQ 255 is reserved). > - Add pcib_(alloc|release)_msi[x]() methods to the MD x86 PCI bridge > drivers to bubble the request up to the nexus driver. > - Add pcib_(alloc|release)_msi[x]() methods to the x86 nexus drivers that > ask the MSI PIC code to allocate resources and IDT vectors. > > MFC after: 2 months > > Revision Changes Path > 1.33 +62 -0 src/sys/amd64/amd64/local_apic.c > 1.5 +8 -0 src/sys/amd64/amd64/mptable_pci.c > 1.1 +511 -0 src/sys/amd64/amd64/msi.c (new) > 1.70 +53 -0 src/sys/amd64/amd64/nexus.c > 1.20 +1 -0 src/sys/amd64/include/apicvar.h > 1.12 +17 -4 src/sys/amd64/include/intr_machdep.h > 1.118 +4 -0 src/sys/amd64/pci/pci_bus.c > 1.99 +1 -0 src/sys/conf/files.amd64 > 1.571 +1 -0 src/sys/conf/files.i386 > 1.35 +62 -0 src/sys/i386/i386/local_apic.c > 1.5 +8 -0 src/sys/i386/i386/mptable_pci.c > 1.1 +511 -0 src/sys/i386/i386/msi.c (new) > 1.65 +62 -0 src/sys/i386/i386/nexus.c > 1.20 +1 -0 src/sys/i386/include/apicvar.h > 1.14 +17 -4 src/sys/i386/include/intr_machdep.h > 1.124 +8 -0 src/sys/i386/pci/pci_bus.c >