qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org, peter.maydell@linaro.org, eric.auger@redhat.com
Subject: [Qemu-devel] [PATCH for-2.13 v2 0/5] arm: isolate and clean up dtb generation
Date: Wed, 18 Apr 2018 16:28:00 +0200	[thread overview]
Message-ID: <1524061685-83305-1-git-send-email-imammedo@redhat.com> (raw)


Changelog v1->v2:
   * drop "arm: reuse  arm_boot_address_space() in armv7m_load_kernel()"
   * move "arm: always start from first_cpu  when registering loader cpu reset callback"
     at the begigning of series and rebase
   * add "ppc: e500: switch E500 based machines to full  machine definition"
     and rebase 4/5 on top of it
   * fixup typo in virt_machine_get_hotpug_handler() name
   * add doc comment to skip_dtb_autoload field
   * 1-2/5 are queued in respective arm/ppc trees and are included for series
     completness so it would be easier to test, I expect series to go through
     arm tree
   

While working on cpu hotplug for mach-virt, I've noticed that DTB
is generated incrementally across whole machvirt_init(). While it's
fine for machines with static DTB, it won't really work in case of
cpu hotplug and followed up reset since machine will load old DTB
that doesn't account for hotplugged CPUs.
So I've set on a quest to consolidate DTB generation and make it
reentrant so that on reset guest would see update DTB.

It's preliminary series which makes possible to call load_dtb()
later outside of arm_load_kernel() and in process of it drops
several machine_done notifiers, that were introduced to make
plaform-bus-devices work. Hopefully it makes code easier to follow.
It replaces machine_done notifiers with device hotplug framework
to allow for dynamic sysbus devices mapping at the moment they
are created instead of waiting for machine_done time and trying to
juggle with notifiers order to do initialization in propper order.

Mostly 'make check' tested +
manually with "ppce500" machine type and eTSEC device
(eTSEC is still initialized with the same IRQs as before series)


CC: qemu-arm@nongnu.org
CC: peter.maydell@linaro.org
CC: eric.auger@redhat.com


Igor Mammedov (5):
  arm: always start from first_cpu when registering loader cpu reset
    callback
  ppc: e500: switch E500 based machines to full machine definition
  pc: simplify MachineClass::get_hotplug_handler handling
  platform-bus-device: use device plug callback instead of machine_done
    notifier
  arm/boot: split load_dtb() from arm_load_kernel()

 hw/ppc/e500.h               |  34 ++++++++--
 include/hw/arm/arm.h        |  44 ++++++++++---
 include/hw/arm/sysbus-fdt.h |  37 ++---------
 include/hw/arm/virt.h       |   1 +
 include/hw/i386/pc.h        |   8 ---
 include/hw/platform-bus.h   |   4 +-
 hw/arm/boot.c               |  73 ++++++---------------
 hw/arm/sysbus-fdt.c         |  67 ++------------------
 hw/arm/virt.c               |  95 ++++++++++++++++++----------
 hw/core/platform-bus.c      |  29 ++-------
 hw/i386/pc.c                |   6 +-
 hw/ppc/e500.c               | 151 +++++++++++++++++++++++---------------------
 hw/ppc/e500plat.c           |  95 ++++++++++++++++++++--------
 hw/ppc/mpc8544ds.c          |  47 +++++++++-----
 14 files changed, 342 insertions(+), 349 deletions(-)

-- 
2.7.4

             reply	other threads:[~2018-04-18 14:29 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-18 14:28 Igor Mammedov [this message]
2018-04-18 14:28 ` [Qemu-devel] [PATCH for-2.13 v2 1/5] arm: always start from first_cpu when registering loader cpu reset callback Igor Mammedov
2018-04-18 16:20   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-04-18 14:28 ` [Qemu-devel] [PATCH for-2.13 v2 2/5] ppc: e500: switch E500 based machines to full machine definition Igor Mammedov
2018-04-19  4:15   ` David Gibson
2018-04-19  8:30     ` Igor Mammedov
2018-04-19  9:47       ` David Gibson
2018-04-18 14:28 ` [Qemu-devel] [PATCH for-2.13 v2 3/5] pc: simplify MachineClass::get_hotplug_handler handling Igor Mammedov
2018-04-18 14:56   ` Eduardo Habkost
2018-04-18 16:19     ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-04-19  8:02     ` [Qemu-devel] " Igor Mammedov
2018-04-18 14:28 ` [Qemu-devel] [PATCH for-2.13 v2 4/5] platform-bus-device: use device plug callback instead of machine_done notifier Igor Mammedov
2018-04-18 16:29   ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-04-19  8:18   ` [Qemu-devel] [PATCH for-2.13 v3 " Igor Mammedov
2018-04-18 14:28 ` [Qemu-devel] [PATCH for-2.13 v2 5/5] arm/boot: split load_dtb() from arm_load_kernel() Igor Mammedov
2018-04-27 13:47   ` Andrew Jones
2018-04-27 17:51     ` Peter Maydell
2018-05-01  9:43     ` Igor Mammedov

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=1524061685-83305-1-git-send-email-imammedo@redhat.com \
    --to=imammedo@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /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).