DeveloperNews: Difference between revisions

From QEMU
mNo edit summary
No edit summary
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This page highlights some news bits from [https://lists.nongnu.org/mailman/listinfo/qemu-devel qemu-devel] that all QEMU developers should be aware of.
This page highlights some news bits from [https://lists.nongnu.org/mailman/listinfo/qemu-devel qemu-devel] that all QEMU developers should be aware of.
It is not a replacement for reading the mailing list nor a place to announce cool new [[Contribute/StartHere#Features|features]] for users.
It is not a replacement for reading the mailing list nor a place to announce cool new [[Contribute#Features|features]] for users.


* [[User:MichaelTsirkin|Michael S. Tsirkin]] is [http://www.mail-archive.com/kvm@vger.kernel.org/msg92073.html about to move] '''ACPI''' table generation code to qemu. Any patches that need ACPI support should integrate with that.
* '''2017-07-26''': A new helper (via tcg_gen_lookup_and_goto_ptr) has been added to allow inter-page jumps without exiting the generated code.
* [[User:Paolo Bonzini|Paolo]] is [http://lists.gnu.org/archive/html/qemu-devel/2013-07/msg00798.html about to extend] '''MemoryRegion'''s to reference an '''owner''' Object. Therefore new MemoryRegions should not carry the name of its containing device but its purpose within that device.<br/> Note that this pull touches on ''every'' <code>memory_region_init()</code>, <code>memory_region_init_io()</code> and <code>memory_region_init_ram()</code> in the tree (in patch 18/66) and is thus likely to conflict with any patch adding a new device.
* '''2016-05-20''': The definition of CPU subclasses (e.g. struct X86CPU) is now in cpu.h, so that cpu-qom.h can be included from code compiled for all targets. 
* The staging tree '''[https://github.com/afaerber/qemu-cpu/commits/qom-next qom-next]''' was [http://lists.gnu.org/archive/html/qemu-devel/2013-06/msg05470.html revived] by [[User:AF|Andreas]] for '''QOM refactoring''' patches (type constants, cast macros, QOM realize). It should not be used as base for new feature or bugfix patches.
* '''2016-05-20''': hw/hw.h does not include qemu/log.h and exec/ioport.h anymore
* All new devices derived from '''SysBusDevice''' should [http://lists.gnu.org/archive/html/qemu-devel/2013-07/msg00041.html use QOM realize] (DeviceClass::'''realize''') rather than SysBusDeviceClass::init. Work is under way to convert existing devices. It is permissable to implement neither realize [http://git.qemu.org/?p=qemu.git;a=commit;h=4ce5dae88ecf2bafa0cd663de7e923728b1b3672 nor init].<br/> QOM realize was first [http://lists.gnu.org/archive/html/qemu-devel/2012-01/msg04025.html presented] by [[User:AnthonyLiguori|Anthony]] on the 2012-01-31 KVM call and after much debate of scope [http://git.qemu.org/?p=qemu.git;a=commit;h=249d41720b7dfbb5951b430b9eefdbee7464f515 minimally implemented] for DeviceState by [[User:AF|Andreas]] for v1.4. Some extensions by [[User:Paolo Bonzini|Paolo]] (recursive realization) are still pending device preparations.
* '''2015-03-17''': Markus killed qerror_report as well.
* It has been requested to mark PULL request patches <code>[PULL n/m]</code> (rather than <code>[PATCH n/m]</code>) to avoid prompting people in CC to start re-reviewing an in-flight PULL request.
* '''2014-06-06''': error_is_set is no more.  Thanks to Markus Armbruster for finishing it off.
* [[Planning/1.6|v'''1.6''' roadmap]] has been added by [[User:AnthonyLiguori|Anthony]].
* '''2014-04-30''': The QEMUMachine is being replaced with a QOM hierarchy by [[User:Marcel|Marcel Apfelbaum]], details on [[Features/QOM/Machine]].
* Page [[QOMConventions|'''QOM'''Conventions]] was created by [[User:AF|Andreas]] to summarize some review comments and acceptance guidelines for patches that affect '''all devices'''.
* '''2014-04-28''': We have a new page [[ToDo/CodeTransitions]] to document API changes and transitions in the codebase which have been started but not yet finished.
* An '''I2C''' libqos test framework was [http://git.qemu.org/?p=qemu.git;a=commit;h=2bf7b4572b39a494403190636b4e7d44967504c0 contributed] by [[User:AF|Andreas]], so any new I2C host controllers should come with a libqos driver implementation and new I2C devices should be accompanied by a qtest test case.
* '''2013-07-07''': [[User:MichaelTsirkin|Michael S. Tsirkin]] is [http://www.mail-archive.com/kvm@vger.kernel.org/msg92073.html about to move] '''ACPI''' table generation code to qemu. Any patches that need ACPI support should integrate with that.
* '''2013-07-05''': [[User:Paolo Bonzini|Paolo]] has [http://lists.gnu.org/archive/html/qemu-devel/2013-07/msg00798.html extended] '''MemoryRegion'''s to reference an '''owner''' Object. Therefore new MemoryRegions should not carry the name of its containing device but its purpose within that device.<br/> Note that this pull touches on ''every'' <code>memory_region_init()</code>, <code>memory_region_init_io()</code> and <code>memory_region_init_ram()</code> in the tree (in patch 18/66) and is thus likely to conflict with any patch adding a new device.
* '''2013-07-05''': The staging tree '''[https://github.com/afaerber/qemu-cpu/commits/qom-next qom-next]''' was [http://lists.gnu.org/archive/html/qemu-devel/2013-06/msg05470.html revived] by [[User:AF|Andreas]] for '''QOM refactoring''' patches (type constants, cast macros, QOM realize). It should not be used as base for new feature or bugfix patches.
* '''2013-07-05''': All new devices derived from '''SysBusDevice''' should [http://lists.gnu.org/archive/html/qemu-devel/2013-07/msg00041.html use QOM realize] (DeviceClass::'''realize''') rather than SysBusDeviceClass::init. Work is under way to convert existing devices. It is permissable to implement neither realize [http://git.qemu.org/?p=qemu.git;a=commit;h=4ce5dae88ecf2bafa0cd663de7e923728b1b3672 nor init].<br/> QOM realize was first [http://lists.gnu.org/archive/html/qemu-devel/2012-01/msg04025.html presented] by [[User:AnthonyLiguori|Anthony]] on the 2012-01-31 KVM call and after much debate of scope [http://git.qemu.org/?p=qemu.git;a=commit;h=249d41720b7dfbb5951b430b9eefdbee7464f515 minimally implemented] for DeviceState by [[User:AF|Andreas]] for v1.4. Some extensions by [[User:Paolo Bonzini|Paolo]] (recursive realization) are still pending device preparations.
* '''2013-07-05''': It has been requested to mark PULL request patches <code>[PULL n/m]</code> (rather than <code>[PATCH n/m]</code>) to avoid prompting people in CC to start re-reviewing an in-flight PULL request.
* '''2013-07-05''': [[Planning/1.6|v'''1.6''' roadmap]] has been added by [[User:AnthonyLiguori|Anthony]].
* '''2013-07-05''': Page [[Documentation/QOMConventions|'''QOM'''Conventions]] was created by [[User:AF|Andreas]] to summarize some review comments and acceptance guidelines for patches that affect '''all devices'''.
* '''2013-07-05''': An '''I2C''' libqos test framework was [http://git.qemu.org/?p=qemu.git;a=commit;h=2bf7b4572b39a494403190636b4e7d44967504c0 contributed] by [[User:AF|Andreas]], so any new I2C host controllers should come with a libqos driver implementation and new I2C devices should be accompanied by a qtest test case.

Latest revision as of 13:40, 26 July 2017

This page highlights some news bits from qemu-devel that all QEMU developers should be aware of. It is not a replacement for reading the mailing list nor a place to announce cool new features for users.

  • 2017-07-26: A new helper (via tcg_gen_lookup_and_goto_ptr) has been added to allow inter-page jumps without exiting the generated code.
  • 2016-05-20: The definition of CPU subclasses (e.g. struct X86CPU) is now in cpu.h, so that cpu-qom.h can be included from code compiled for all targets.
  • 2016-05-20: hw/hw.h does not include qemu/log.h and exec/ioport.h anymore
  • 2015-03-17: Markus killed qerror_report as well.
  • 2014-06-06: error_is_set is no more. Thanks to Markus Armbruster for finishing it off.
  • 2014-04-30: The QEMUMachine is being replaced with a QOM hierarchy by Marcel Apfelbaum, details on Features/QOM/Machine.
  • 2014-04-28: We have a new page ToDo/CodeTransitions to document API changes and transitions in the codebase which have been started but not yet finished.
  • 2013-07-07: Michael S. Tsirkin is about to move ACPI table generation code to qemu. Any patches that need ACPI support should integrate with that.
  • 2013-07-05: Paolo has extended MemoryRegions to reference an owner Object. Therefore new MemoryRegions should not carry the name of its containing device but its purpose within that device.
    Note that this pull touches on every memory_region_init(), memory_region_init_io() and memory_region_init_ram() in the tree (in patch 18/66) and is thus likely to conflict with any patch adding a new device.
  • 2013-07-05: The staging tree qom-next was revived by Andreas for QOM refactoring patches (type constants, cast macros, QOM realize). It should not be used as base for new feature or bugfix patches.
  • 2013-07-05: All new devices derived from SysBusDevice should use QOM realize (DeviceClass::realize) rather than SysBusDeviceClass::init. Work is under way to convert existing devices. It is permissable to implement neither realize nor init.
    QOM realize was first presented by Anthony on the 2012-01-31 KVM call and after much debate of scope minimally implemented for DeviceState by Andreas for v1.4. Some extensions by Paolo (recursive realization) are still pending device preparations.
  • 2013-07-05: It has been requested to mark PULL request patches [PULL n/m] (rather than [PATCH n/m]) to avoid prompting people in CC to start re-reviewing an in-flight PULL request.
  • 2013-07-05: v1.6 roadmap has been added by Anthony.
  • 2013-07-05: Page QOMConventions was created by Andreas to summarize some review comments and acceptance guidelines for patches that affect all devices.
  • 2013-07-05: An I2C libqos test framework was contributed by Andreas, so any new I2C host controllers should come with a libqos driver implementation and new I2C devices should be accompanied by a qtest test case.