From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MqHBd-0007ny-Cf for qemu-devel@nongnu.org; Tue, 22 Sep 2009 22:02:29 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MqHBY-0007mH-L0 for qemu-devel@nongnu.org; Tue, 22 Sep 2009 22:02:28 -0400 Received: from [199.232.76.173] (port=56886 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MqHBY-0007mC-Fm for qemu-devel@nongnu.org; Tue, 22 Sep 2009 22:02:24 -0400 Received: from mail-yw0-f199.google.com ([209.85.211.199]:37128) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MqHBY-0008Bz-1A for qemu-devel@nongnu.org; Tue, 22 Sep 2009 22:02:24 -0400 Received: by ywh37 with SMTP id 37so403809ywh.4 for ; Tue, 22 Sep 2009 19:02:19 -0700 (PDT) MIME-Version: 1.0 Date: Tue, 22 Sep 2009 22:02:19 -0400 Message-ID: From: Tad Truex Content-Type: multipart/alternative; boundary=000e0cd518fcd94fc70474351a8e Subject: [Qemu-devel] PCI Device API? List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --000e0cd518fcd94fc70474351a8e Content-Type: text/plain; charset=ISO-8859-1 Greetings, I am looking at using Qemu (specifically the x86_64 pc emulation) as a testbed for a new PCI widget. I have begun looking through the code for the e1000 nic as it seems to be frequently used and is therefore likely quite robust. Is there a better place for me to start looking? In particular, is there any API documentation for the PCIDevice structure and the various memory hooks? I have started hacking a new module based on what I can see in the code and using a debugger, but I suspect that it will be a long steep learning curve that way! Lacking API docs, has anyone out there who is familiar with the pci subsystem ever scribbled down a crib sheet for what needs to be included to model a new device? I am comfortable with pretty high level bullet points describing the main steps in the initializing the structure so it can be seen by the kernel driver and interact correctly with the memory subsystem. Thanks for any pointers or advice. /Tad --000e0cd518fcd94fc70474351a8e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Greetings,

I am looking at using Qemu (specifically the x86_64 p= c emulation) as a testbed for a new PCI widget.=A0 I have begun looking thr= ough the code for the e1000 nic as it seems to be frequently used and is th= erefore likely quite robust.=A0 Is there a better place for me to start loo= king?=A0 In particular, is there any API documentation for the PCIDevice st= ructure and the various memory hooks?=A0 I have started hacking a new modul= e based on what I can see in the code and using a debugger, but I suspect t= hat it will be a long steep learning curve that way!

Lacking API docs, has anyone out there who is familiar with the pci sub= system ever scribbled down a crib sheet for what needs to be included to mo= del a new device?=A0 I am comfortable with pretty high level bullet points = describing the main steps in the initializing the structure so it can be se= en by the kernel driver and interact correctly with the memory subsystem.
Thanks for any pointers or advice.

/Tad

--000e0cd518fcd94fc70474351a8e--