From: "Adnan Khaleel" <adnan@khaleel.us>
To: qemu-devel@nongnu.org
Cc: Isaku Yamahata <yamahata@valinux.co.jp>
Subject: Re: [Qemu-devel] Template for developing a Qemu device with PCIe?and MSI-X
Date: Fri, 20 Aug 2010 17:22:08 -0500 [thread overview]
Message-ID: <20100820222208.19c41df1@shadowfax.no-ip.com> (raw)
In-Reply-To: 20100820052203.GD31720@valinux.co.jp
[-- Attachment #1.1: Type: text/plain, Size: 4683 bytes --]
After messing around with bcc, as86 and ld86 I finally got the vgabios to compile.
Everything works as it should I'm guessing. I've attached the output from lspci from the guest. I'll spend sometime looking at the device models and see how I can implement a model of what I'm interested in.
Is the overall architecture of any qemu device still similar to how a typical qemu pci device is or is there anything I should be aware of?
Thanks again Isaku.
AK
_____
From: Isaku Yamahata [mailto:yamahata@valinux.co.jp]
To: Adnan Khaleel [mailto:adnan@khaleel.us]
Cc: qemu-devel@nongnu.org
Sent: Fri, 20 Aug 2010 00:22:03 -0500
Subject: Re: [Qemu-devel] Template for developing a Qemu device with PCIe?and MSI-X
On Thu, Aug 19, 2010 at 01:32:42PM -0500, Adnan Khaleel wrote:
> Isaku,
>
> I'm having some difficulties building the sources, I get the following message
>
> *akhaleel@yar95 qemu-q35 $ ./configure --help
> : bad interpreter: No such file or directory
>
> And I get a similar error while compiling seabios as well.
>
> What shell are you using or am I missing something? I'm compiling from a
> typical bash shell and using gcc v4.4.0.
I'm not sure. configure script isn't modified.
Can you compile normal qemu?
The first line of the script is #!/bin/sh. I suppose you have /bin/sh.
> In vgabios, there is a requirement for bcc. Is that borland C compiler?
No. Most Linux destro has bcc package. Just you need to install it like
yum install bcc or something.
Thanks,
>
> Thanks
>
> Adnan
>
> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> From: Isaku Yamahata [mailto:yamahata@valinux.co.jp]
> To: Adnan Khaleel [mailto:adnan@khaleel.us]
> Cc: qemu-devel@nongnu.org
> Sent: Wed, 18 Aug 2010 22:19:04 -0500
> Subject: Re: [Qemu-devel] Template for developing a Qemu device with PCIe
> and MSI-X
>
> On Wed, Aug 18, 2010 at 02:10:10PM -0500, Adnan Khaleel wrote:
> > Hello Qemu developers,
> >
> > I'm interested in developing a device model that plugs into Qemu that is
> based
> > on a PCIe interface and uses MSI-X. My goal is to ultimately attach a GPU
> > simulator to this PCIe interface and use the entire platfom (Qemu + GPU
> > simulator) for studying cpu, gpu interactions.
> >
> > I'm not terribly familiar with the Qemu device model and I'm looking for
> some
> > assistance, perhaps a starting template for pcie and msi-x that would
> offer the
> > basic functionality that I could then build upon.
> >
> > I have looked at the various devices that already modelled that are
> included
> > with Qemu (v0.12.5 at least) and I've noticed several a few pci devices,
> eg;
> > ne2k and cirrus-pci etc, however only one device truly seems to utilize
> both
> > the technologies that I'm interested in and that is the virtio-pci.c
> >
> > I'm not sure what virtio-pci does so I'm not sure if that is a suitable
> > starting point for me.
> >
> > Any help, suggestions etc would be extremely helpful and much
> appreciated.
>
> Qemu doesn't support pcie at the moment.
> Only partial patches have been merged, still more patches have to
> be merged for pcie to fully work. The following repo is available.
>
> git clone http://people.valinux.co.jp/~yamahata/qemu/q35/qemu
> git clone http://people.valinux.co.jp/~yamahata/qemu/q35/seabios
> git clone http://people.valinux.co.jp/~yamahata/qemu/q35/vgabios
>
> Note: patched seabios and vgabios are needed, you have to pass ACPI DSDT
> for q35.
> example:
> qemu-system-x86_64 -M pc_q35 -acpitable load_header,data=roms/seabios/src/
> q35-acpi-dsdt.aml
>
> This repo is for those who want to try/develop pcie support,
> not for upstream merge. So they include patches unsuitable for upstream.
> The repo includes pcie port switch emulator which utilize pcie and
> MSI(not MSI-X).
>
> The difference between PCI device and PCIe device is configuration
> space size.
> By setting PCIDeviceInfo::is_express = 1, you'll get 4K configuration
> space. Helper functions for pcie are found in qemu/hw/pcie.c
> For msi-x, see qemu/hw/msix.c.
>
> Thanks,
> --
> yamahata
>
--
yamahata
[-- Attachment #1.2: Type: text/html, Size: 6092 bytes --]
[-- Attachment #2: pci.txt --]
[-- Type: text/plain, Size: 9671 bytes --]
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller
00:01.0 VGA compatible controller: Cirrus Logic GD 5446
00:04.0 PCI bridge: Intel Corporation X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:18.0 PCI bridge: Intel Corporation X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:18.1 PCI bridge: Intel Corporation X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:18.2 PCI bridge: Intel Corporation X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:18.3 PCI bridge: Intel Corporation X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:18.4 PCI bridge: Intel Corporation X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:18.5 PCI bridge: Intel Corporation X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:19.0 PCI bridge: Intel Corporation X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
36:00.0 PCI bridge: Texas Instruments Device 8232 (rev 02)
36:00.1 PCI bridge: Texas Instruments Device 8232 (rev 02)
36:00.2 PCI bridge: Texas Instruments Device 8232 (rev 02)
36:00.3 PCI bridge: Texas Instruments Device 8232 (rev 02)
36:00.4 PCI bridge: Texas Instruments Device 8232 (rev 02)
36:00.5 PCI bridge: Texas Instruments Device 8232 (rev 02)
36:00.6 PCI bridge: Texas Instruments Device 8232 (rev 02)
36:00.7 PCI bridge: Texas Instruments Device 8232 (rev 02)
37:00.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:01.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:02.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:03.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:04.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:05.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:06.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:07.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:08.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:09.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:0a.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:0b.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:0c.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:0d.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:0e.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
37:0f.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:00.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:01.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:02.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:03.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:04.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:05.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:06.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:07.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:08.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:09.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:0a.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:0b.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:0c.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:0d.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:0e.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
48:0f.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:00.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:01.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:02.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:03.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:04.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:05.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:06.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:07.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:08.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:09.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:0a.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:0b.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:0c.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:0d.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:0e.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
59:0f.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:00.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:01.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:02.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:03.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:04.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:05.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:06.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:07.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:08.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:09.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:0a.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:0b.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:0c.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:0d.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:0e.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
6a:0f.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:00.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:01.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:02.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:03.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:04.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:05.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:06.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:07.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:08.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:09.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:0a.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:0b.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:0c.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:0d.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:0e.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
7b:0f.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:00.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:01.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:02.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:03.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:04.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:05.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:06.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:07.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:08.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:09.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:0a.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:0b.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:0c.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:0d.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:0e.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
8c:0f.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:00.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:01.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:02.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:03.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:04.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:05.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:06.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:07.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:08.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:09.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:0a.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:0b.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:0c.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:0d.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:0e.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
9d:0f.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:00.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:01.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:02.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:03.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:04.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:05.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:06.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:07.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:08.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:09.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:0a.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:0b.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:0c.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:0d.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:0e.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
ae:0f.0 PCI bridge: Texas Instruments Device 8233 (rev 01)
c0:00.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03)
c0:01.0 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
c0:1c.0 PCI bridge: Digital Equipment Corporation DECchip 21154 (rev 05)
c0:1d.0 PCI bridge: Digital Equipment Corporation DECchip 21154 (rev 05)
c0:1e.0 PCI bridge: Digital Equipment Corporation DECchip 21154 (rev 05)
c0:1f.0 PCI bridge: Digital Equipment Corporation DECchip 21154 (rev 05)
next reply other threads:[~2010-08-20 22:22 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-20 22:22 Adnan Khaleel [this message]
[not found] <20100909190713.d8dc99ce@shadowfax.no-ip.com>
2010-09-10 2:00 ` [Qemu-devel] Template for developing a Qemu device with?PCIe?and MSI-X Isaku Yamahata
-- strict thread matches above, loose matches on Subject: below --
2010-09-02 22:56 [Qemu-devel] Template for developing a Qemu device with PCIe and MSI-X Adnan Khaleel
2010-09-02 17:42 Adnan Khaleel
2010-09-03 2:20 ` [Qemu-devel] Template for developing a Qemu device with PCIe?and MSI-X Isaku Yamahata
2010-09-01 19:07 [Qemu-devel] Template for developing a Qemu device with PCIe and MSI-X Adnan Khaleel
2010-09-02 2:38 ` Isaku Yamahata
2010-08-26 18:17 [Qemu-devel] Template for developing a Qemu device with PCIe?and MSI-X Adnan Khaleel
2010-08-27 7:57 ` [Qemu-devel] Template for developing a Qemu device with?PCIe?and MSI-X Isaku Yamahata
2010-08-25 22:39 [Qemu-devel] Template for developing a Qemu device with PCIe and MSI-X Adnan Khaleel
2010-08-26 9:43 ` [Qemu-devel] Template for developing a Qemu device with PCIe?and MSI-X Isaku Yamahata
2010-08-27 15:48 ` [Qemu-devel] Template for developing a Qemu device with PCIe and MSI-X Cam Macdonell
2010-08-20 20:13 [Qemu-devel] Template for developing a Qemu device with PCIe?and MSI-X Adnan Khaleel
2010-08-19 18:32 [Qemu-devel] Template for developing a Qemu device with PCIe and MSI-X Adnan Khaleel
2010-08-20 5:22 ` [Qemu-devel] Template for developing a Qemu device with PCIe?and MSI-X Isaku Yamahata
2010-08-19 17:01 [Qemu-devel] Template for developing a Qemu device with PCIe and MSI-X Adnan Khaleel
2010-08-20 5:15 ` [Qemu-devel] Template for developing a Qemu device with PCIe?and MSI-X Isaku Yamahata
2010-08-18 19:10 [Qemu-devel] Template for developing a Qemu device with PCIe and MSI-X Adnan Khaleel
2010-08-19 3:19 ` Isaku Yamahata
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100820222208.19c41df1@shadowfax.no-ip.com \
--to=adnan@khaleel.us \
--cc=qemu-devel@nongnu.org \
--cc=yamahata@valinux.co.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).