From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46147) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y9UWR-0002Wh-4C for qemu-devel@nongnu.org; Fri, 09 Jan 2015 03:02:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y9UWM-00015f-2v for qemu-devel@nongnu.org; Fri, 09 Jan 2015 03:02:19 -0500 Received: from mail-bn1bbn0108.outbound.protection.outlook.com ([157.56.111.108]:7654 helo=na01-bn1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y9UWL-00015L-RG for qemu-devel@nongnu.org; Fri, 09 Jan 2015 03:02:14 -0500 Message-ID: <54AF8B04.1090402@freescale.com> Date: Fri, 9 Jan 2015 10:02:12 +0200 From: Vasile Catalin-B50542 MIME-Version: 1.0 References: <20150107130259.GD18014@stefanha-thinkpad.redhat.com> In-Reply-To: <20150107130259.GD18014@stefanha-thinkpad.redhat.com> Content-Type: multipart/alternative; boundary="------------010400010907010509040905" Subject: Re: [Qemu-devel] qemu sources and makefile system List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: qemu-devel@nongnu.org, Catalin Vasile --------------010400010907010509040905 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Thanks. It will be helpful in the future. I managed to make it work. The code was included, but I forgot to register the device type on the virtio-pci bus. static void virtio_pci_register_types(void) { /* ... */ type_register_static(&virtio_src_pci_info); /* ... */ } On 07.01.2015 15:02, Stefan Hajnoczi wrote: > On Tue, Jan 06, 2015 at 11:44:34AM +0200, Catalin Vasile wrote: >> I'm new to qemu-devel and I'm trying to add a ".c" source to qemu. >> To be more specific, I'm trying to add a file into /hw/virtio/. >> I've added "common-obj-y += virtio-src.o" to the Makefile.objs in that >> folder >> and when I'm compiling qemu it seems to compile the sources, but I don't >> know >> if they are added to the qemu binary. >> Is there anything else left to do in order for qemu build system to include >> my source file? > You could look at the link map to see which object files are included by the linker: > > 1. Run make V=1 to see the final gcc command-line. > 2. Copy the command-line and append -Xlinker -Map=output.map > 3. Now look at the output.map file > > Or look at the symbol table in the binary: > > $ readelf -s x86_64-softmmu/qemu-system-x86_64 | grep virtio- > 740: 0000000000000000 0 FILE LOCAL DEFAULT ABS virtio-blk.c > 791: 0000000000000000 0 FILE LOCAL DEFAULT ABS virtio-blk.c > 799: 0000000000000000 0 FILE LOCAL DEFAULT ABS virtio-serial-bus.c > 1158: 0000000000000000 0 FILE LOCAL DEFAULT ABS virtio-net.c > 1262: 0000000000000000 0 FILE LOCAL DEFAULT ABS virtio-scsi.c > 1329: 0000000000000000 0 FILE LOCAL DEFAULT ABS virtio-scsi-dataplane.c > 1554: 0000000000000000 0 FILE LOCAL DEFAULT ABS virtio-balloon.c > 4884: 0000000000000000 0 FILE LOCAL DEFAULT ABS virtio-console.c > 9308: 0000000000000000 0 FILE LOCAL DEFAULT ABS virtio-rng.c > 9333: 0000000000000000 0 FILE LOCAL DEFAULT ABS virtio-pci.c > 9453: 0000000000000000 0 FILE LOCAL DEFAULT ABS virtio-bus.c > 9476: 0000000000000000 0 FILE LOCAL DEFAULT ABS virtio-mmio.c > > If you need help, please post a git URL so we can see your code. > > Stefan -- CatalinVasile Intern, DN-Software FreescaleSemiconductor, Inc. www.freescale.com phone: 073-021-1938 e-mail: catalin.vasile@freescale.com *Freescale_Logo-nosemi_Lh_4c*** This e-mail, and any associated attachments have been classified as: [ ] Public [ ] Freescale Semiconductor Internal Use Only [ ] Freescale Semiconductor Confidential Proprietary --------------010400010907010509040905 Content-Type: multipart/related; boundary="------------050909050701050901000501" --------------050909050701050901000501 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: 8bit Thanks. It will be helpful in the future.
I managed to make it work. The code was included, but I forgot to register the device type on the virtio-pci bus.

static void virtio_pci_register_types(void)
{
    /* ... */
    type_register_static(&virtio_src_pci_info);
    /* ... */
}

On 07.01.2015 15:02, Stefan Hajnoczi wrote:
On Tue, Jan 06, 2015 at 11:44:34AM +0200, Catalin Vasile wrote:
I'm new to qemu-devel and I'm trying to add a ".c" source to qemu.
To be more specific, I'm trying to add a file into <qemu src>/hw/virtio/.
I've added "common-obj-y += virtio-src.o" to the Makefile.objs in that
folder
and when I'm compiling qemu it seems to compile the sources, but I don't
know
if they are added to the qemu binary.
Is there anything else left to do in order for qemu build system to include
my source file?
You could look at the link map to see which object files are included by the linker:

1. Run make V=1 to see the final gcc command-line.
2. Copy the command-line and append -Xlinker -Map=output.map
3. Now look at the output.map file

Or look at the symbol table in the binary:

$ readelf -s x86_64-softmmu/qemu-system-x86_64 | grep virtio-
   740: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS virtio-blk.c
   791: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS virtio-blk.c
   799: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS virtio-serial-bus.c
  1158: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS virtio-net.c
  1262: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS virtio-scsi.c
  1329: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS virtio-scsi-dataplane.c
  1554: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS virtio-balloon.c
  4884: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS virtio-console.c
  9308: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS virtio-rng.c
  9333: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS virtio-pci.c
  9453: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS virtio-bus.c
  9476: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS virtio-mmio.c

If you need help, please post a git URL so we can see your code.

Stefan

--

Catalin Vasile

Intern, DN-Software

Freescale Semiconductor, Inc.

www.freescale.com

phone: 073-021-1938

e-mail: catalin.vasile@freescale.com

Freescale_Logo-nosemi_Lh_4c

This e-mail, and any associated attachments have been classified as:

[ ] Public

[ ] Freescale Semiconductor Internal Use Only

[ ] Freescale Semiconductor Confidential Proprietary

--------------050909050701050901000501 Content-Type: image/gif; name="image002.gif" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="image002.gif" R0lGODlhwwBJAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALBkA EACeACgAhwAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBm ZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ ZjP/mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2Zm ZmZmmWZmzGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/ Zmb/mWb/zGb//5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lm ZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/ Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xm ZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/ Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9m Zv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M/// Zv//mf//zP///wECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC AwECAwECAwECAwECAwECAwECAwj/AAEIHEiwIEFoBhMqXMiwocOHECNKnDgxGjRhyTxdi0ax o8ePIEOKHHhRmLBgJpNxHMmypcuXDFsBSIbskrBOwmwiQwizp8+fHZWZNIkyGLKdAp1Zuwa0 qVOn0UzinAqNJ4Bn1I5RU/q0q9eR2KAlOyls50przpo1c3ZsLQCmX+PKnQitlEBsz9I2O5aW rTNo2OYKHuzwmjO9atVyFTjWKuHHg6EdZrt360BTyYwGS5bMMeTPXtFScysw2liURIN5Bs36 KTWeY2/mvMm5te24pokO3Xy7t1dsymLbFBZtpe/jMK1Bg2uxrErk0FuG7essuvWezxIntna9 e0i0eylr/60OAFtg7+gdQhutXe0z7mE7K4t4Pv1xa3zzp10qsORmuwtdEcAVLLBwhX0dBRCA T9HAJVBeaz0zkFC6oWbcQK0IqKCCgiAoEQsbLvhSKWMVR9J7pdE01WyeQHOhQBpuyIKHEgki o3RikYVRZwWVVCFnqwHQCogKFjgjjQ8JEuOBLJWEk02XPFdQbDjxVl9BBG5okJJ3yYTlka14 qRCBd115V4cAkLmQIEdegWZBXqpp3kAFbvimQEPC+CaTYhLEGWq7JTMfAKuNhQwALw4UY5Ec AmAkC0oa+OajARTo5pZZgmhgn0JeIaCmkhYUKaiXDoSNp3VqWqpAIYo5aqVGBv+W4aoTJmPT isJYVU0zW3E3YUNEhqjgFUPKuKGXdQo74JsZKnsshsEKuymM0crI5KnVhqiotgIp6WyBQip5 p59DIZMMXOAldliQCWULq43KHumultsyKiyTWdobYpv7Jlspk8G6uSiT8FbabbwyjqsQNJ4k IxBTh+nH12JJEgkutTLWmWbCAiV7xXk3DsRtjGASCCmdG5aqaoefDohyo46m3HHKyMo8UXbt 8fqMgxBZPGnGccroqs3BCnJes40GzORd9Ro8kLjncRmmyPTG3OiSBAV7ZESGhcdXMxImWCRB +xJUsIGeshmy0mmH2KG0kLoZNccVV0u1guXtK66n3Db/FM152FiTrlLsNrQotCHP7GyIH88r bJiL6t3KqYknFFi+yhKs9+LSPjSWwwRZE7ZHWB9c5NIFc14pNo6P3LKygng77ELYqM0o5vim /LbqszPEGVnmthTwy06bXnxCtovoUOyalj38QgHXDPPwASv8UFm3zpaMmR4FK+bzxgfQZ6iK G0hQKwHcKUifyR8IPgCxd1i7zayOrXj6VuOPIYGc9jiUbJtRRqI8IrSmKQ9+jCtPh4h0IKS5 LFw+K9aMjHa/BbotdhsbEOsKmD/zAcBYGcTb5EJovVbYSjZUKQ9LUkeQ0hFvWdGSX7TQti/0 Mc5NWgtM6gbkrwORzE33QpPPeoQkrEhVriDK8A9GBOgSF+brZGbjHBTvl7nJRU5aaCrW4tC0 w8zByGYOjNfSFvY57onEYkurYUFq17wibQ1xlUrZGIektX+x73WwEhMdM1a6BHYLjyCy3nVa oaS0MaSQnuqfkAjpKWIpEn6FLGEkOxK7Rj4SSZikSEAAADs= --------------050909050701050901000501-- --------------010400010907010509040905--