qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* Feature Recommendations?
@ 2019-11-03 10:59 Dinah A Baum
  2019-11-04 11:40 ` Alex Bennée
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Dinah A Baum @ 2019-11-03 10:59 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 322 bytes --]

Hello all,

I am a university student whose Virtualization course has tasked me with
contributing to an open source, virtualization related project. I have a
little more than a month to complete this. I was wondering if you could
recommend a feature you'd like added that could be done in this time frame.

-Thanks,
Dinah

[-- Attachment #2: Type: text/html, Size: 417 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Feature Recommendations?
  2019-11-03 10:59 Feature Recommendations? Dinah A Baum
@ 2019-11-04 11:40 ` Alex Bennée
  2019-11-05 16:39 ` Stefan Hajnoczi
  2019-11-06 17:41 ` Eric Blake
  2 siblings, 0 replies; 5+ messages in thread
From: Alex Bennée @ 2019-11-04 11:40 UTC (permalink / raw)
  To: qemu-devel


Dinah A Baum <dinahbaum@utexas.edu> writes:

> Hello all,
>
> I am a university student whose Virtualization course has tasked me with
> contributing to an open source, virtualization related project. I have a
> little more than a month to complete this. I was wondering if you could
> recommend a feature you'd like added that could be done in this time
> frame.

A month is fairly tight for adding a new feature to the core code given
you would need to get up to speed with an area before proposing some
sort of change.

That said review time is also a contribution to open source and there
are plenty of patches on the list looking for someone to try them out
and poke around. Have a look through the list and see if anything jumps
out as interesting to you and review that.

If you want an area that is fairly self-contained you could consider
experimenting with the TCG plugins interface and try to measure
something useful about the behaviour of a virtual machine. See:

  https://wiki.qemu.org/Features/TCGPlugins

and the example plugins in tests/plugins - which you will see are all
self-contained experiments.

>
> -Thanks,
> Dinah


--
Alex Bennée


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Feature Recommendations?
  2019-11-03 10:59 Feature Recommendations? Dinah A Baum
  2019-11-04 11:40 ` Alex Bennée
@ 2019-11-05 16:39 ` Stefan Hajnoczi
  2019-11-06 17:41 ` Eric Blake
  2 siblings, 0 replies; 5+ messages in thread
From: Stefan Hajnoczi @ 2019-11-05 16:39 UTC (permalink / raw)
  To: Dinah A Baum; +Cc: Julia Suvorova, qemu-devel, Michael S. Tsirkin

[-- Attachment #1: Type: text/plain, Size: 2382 bytes --]

On Sun, Nov 03, 2019 at 04:59:31AM -0600, Dinah A Baum wrote:
> I am a university student whose Virtualization course has tasked me with
> contributing to an open source, virtualization related project. I have a
> little more than a month to complete this. I was wondering if you could
> recommend a feature you'd like added that could be done in this time frame.

Hi Dinah,
The SeaBIOS firmware used by x86 guests currently requires 2 vmexits per
PCI Configuration Space access.  It is possible to reduce the number of
vmexits and speed up boot time by doing this.

SeaBIOS uses the standard 0xcf8/0xcfc PIO registers to access PCI
configuration space in src/hw/pci.c.  See pci_config_writel(),
pci_config_readl(), and related functions.

There is code in SeaBIOS that actually already knows about the more
modern MMConfig (also known as ACPI MCFG) mechanism for accessing PCI
Configuration Space.  But this code currently only places this
information into the MCFG ACPI table that operating systems running
after SeaBIOS will use.  See src/fw/pciinit.c:mch_mmconfig_setup() and
src/fw/acpi.c:build_mcfg_q35().

The goal of this project is to modify src/hw/pci.c to use MMConfig when
available.  This will reduce the number of vmexits when a virtual
machine is started and therefore speed up boot.

General information on PCI Configuration Space access:
http://developer.amd.com/wordpress/media/2012/10/pci%20-%20pci%20express%20configuration%20space%20access.pdf
https://wiki.osdev.org/PCI_Express#Enhanced_Configuration_Mechanism

QEMU MCFG emulation code:
hw/pci/pcie_host.c:pcie_host_mmcfg_map(), pcie_mmcfg_data_write(), and
pcie_mmcfg_data_read()

SeaBIOS source code:
https://git.seabios.org/cgit/seabios.git

QEMU source code:
https://git.qemu.org/?p=qemu.git;a=summary

To test a modified SeaBIOS in QEMU:

  $ git clone https://git.qemu.org/qemu.git
  $ cd qemu
  $ git submodule update --init roms/seabios
  $ ./configure --target-list=x86_64-softmmu && make -j$(nproc)
  $ cd roms/seabios
  $ ...modify the SeaBIOS code...
  $ cd ..
  $ make bios # this will build SeaBIOS
  $ cd ..
  $ x86_64-softmmu/qemu-system-x86_64 -M accel=kvm -m 1G -drive if=virtio,file=test.img,format=raw

This will launch a QEMU guest with 1 GB of RAM and a virtio-blk-pci
device.  Your SeaBIOS changes will be used when the firmware attempts to
boot from the virtio-blk-pci device.

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Feature Recommendations?
  2019-11-03 10:59 Feature Recommendations? Dinah A Baum
  2019-11-04 11:40 ` Alex Bennée
  2019-11-05 16:39 ` Stefan Hajnoczi
@ 2019-11-06 17:41 ` Eric Blake
  2019-11-06 17:54   ` Peter Maydell
  2 siblings, 1 reply; 5+ messages in thread
From: Eric Blake @ 2019-11-06 17:41 UTC (permalink / raw)
  To: Dinah A Baum, qemu-devel

On 11/3/19 4:59 AM, Dinah A Baum wrote:
> Hello all,
> 
> I am a university student whose Virtualization course has tasked me with
> contributing to an open source, virtualization related project. I have a
> little more than a month to complete this. I was wondering if you could
> recommend a feature you'd like added that could be done in this time frame.

https://wiki.qemu.org/Contribute/BiteSizedTasks might be an interesting 
place to start looking for an idea you are comfortable with.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Feature Recommendations?
  2019-11-06 17:41 ` Eric Blake
@ 2019-11-06 17:54   ` Peter Maydell
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2019-11-06 17:54 UTC (permalink / raw)
  To: Eric Blake; +Cc: Dinah A Baum, QEMU Developers

On Wed, 6 Nov 2019 at 17:42, Eric Blake <eblake@redhat.com> wrote:
>
> On 11/3/19 4:59 AM, Dinah A Baum wrote:
> > Hello all,
> >
> > I am a university student whose Virtualization course has tasked me with
> > contributing to an open source, virtualization related project. I have a
> > little more than a month to complete this. I was wondering if you could
> > recommend a feature you'd like added that could be done in this time frame.
>
> https://wiki.qemu.org/Contribute/BiteSizedTasks might be an interesting
> place to start looking for an idea you are comfortable with.

...but do come back and talk to us before putting any coding
work in on items on that page, because there are some old
stale things and some landmine "not as simple as it sounds"
items too. I keep thinking we should try to put some cleanup
effort into that page (maybe convert it into a list of links to
launchpad bugs tagged as 'easy-task' ?)

thanks
-- PMM


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-11-06 17:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-03 10:59 Feature Recommendations? Dinah A Baum
2019-11-04 11:40 ` Alex Bennée
2019-11-05 16:39 ` Stefan Hajnoczi
2019-11-06 17:41 ` Eric Blake
2019-11-06 17:54   ` Peter Maydell

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).