cputlb.c | 82 ++++++++++++++----------- hw/misc/Makefile.objs | 1 + hw/misc/mmio_interface.c | 128 +++++++++++++++++++++++++++++++++++++++ hw/ssi/xilinx_spips.c | 74 ++++++++++++++++------ include/exec/memory.h | 35 +++++++++++ include/hw/misc/mmio_interface.h | 49 +++++++++++++++ include/hw/qdev-properties.h | 2 + memory.c | 111 +++++++++++++++++++++++++++++++++ 8 files changed, 428 insertions(+), 54 deletions(-) create mode 100644 hw/misc/mmio_interface.c create mode 100644 include/hw/misc/mmio_interface.h
From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>
Hi,
Paolo suggested offline that we send a pull request for this series.
Here it is, I've run it through my testsuite + tested the LQSPI testcase
on Zynq.
Cheers,
Edgar
The following changes since commit 3f0602927b120a480b35dcf58cf6f95435b3ae91:
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20170613' into staging (2017-06-13 15:49:07 +0100)
are available in the git repository at:
git@github.com:edgarigl/qemu.git tags/edgar/mmio-exec.for-upstream
for you to fetch changes up to 63ef40dd6bc6cfdae5fa67ccac1cb11e7a5161b0:
xilinx_spips: allow mmio execution (2017-06-14 17:31:08 +0200)
----------------------------------------------------------------
mmio-exec.for-upstream
----------------------------------------------------------------
KONRAD Frederic (7):
cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT
cputlb: move get_page_addr_code
cputlb: fix the way get_page_addr_code fills the tlb
qdev: add MemoryRegion property
introduce mmio_interface
exec: allow to get a pointer for some mmio memory region
xilinx_spips: allow mmio execution
cputlb.c | 82 ++++++++++++++-----------
hw/misc/Makefile.objs | 1 +
hw/misc/mmio_interface.c | 128 +++++++++++++++++++++++++++++++++++++++
hw/ssi/xilinx_spips.c | 74 ++++++++++++++++------
include/exec/memory.h | 35 +++++++++++
include/hw/misc/mmio_interface.h | 49 +++++++++++++++
include/hw/qdev-properties.h | 2 +
memory.c | 111 +++++++++++++++++++++++++++++++++
8 files changed, 428 insertions(+), 54 deletions(-)
create mode 100644 hw/misc/mmio_interface.c
create mode 100644 include/hw/misc/mmio_interface.h
On 14 June 2017 at 18:45, Edgar E. Iglesias <edgar.iglesias@gmail.com> wrote: > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > Paolo suggested offline that we send a pull request for this series. > Here it is, I've run it through my testsuite + tested the LQSPI testcase > on Zynq. > ---------------------------------------------------------------- > mmio-exec.for-upstream > > ---------------------------------------------------------------- > KONRAD Frederic (7): > cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT > cputlb: move get_page_addr_code > cputlb: fix the way get_page_addr_code fills the tlb > qdev: add MemoryRegion property > introduce mmio_interface > exec: allow to get a pointer for some mmio memory region > xilinx_spips: allow mmio execution Hi Edgar -- can you or Fred explain how this code interacts with VM migration? The mmio-interface device creates a RAM memory region with memory_region_init_ram_ptr(), but it doesn't call vmstate_register_ram(). On the other hand the core migration code will try to migrate the contents of the RAMBlock anyway, just without a name. It's not clear to me how this works, and it would be nice to get it clear so that we can make any necessary fixes before the 2.10 release hits and we lose the opportunity to make any migration-compatibility-breaking changes. thanks -- PMM
On Mon, Jul 17, 2017 at 11:33 PM, Peter Maydell <peter.maydell@linaro.org> wrote: > On 14 June 2017 at 18:45, Edgar E. Iglesias <edgar.iglesias@gmail.com> > wrote: > > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > Paolo suggested offline that we send a pull request for this series. > > Here it is, I've run it through my testsuite + tested the LQSPI testcase > > on Zynq. > > > ---------------------------------------------------------------- > > mmio-exec.for-upstream > > > > ---------------------------------------------------------------- > > KONRAD Frederic (7): > > cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT > > cputlb: move get_page_addr_code > > cputlb: fix the way get_page_addr_code fills the tlb > > qdev: add MemoryRegion property > > introduce mmio_interface > > exec: allow to get a pointer for some mmio memory region > > xilinx_spips: allow mmio execution > > Hi Edgar -- can you or Fred explain how this code interacts with > VM migration? The mmio-interface device creates a RAM memory > region with memory_region_init_ram_ptr(), but it doesn't call > vmstate_register_ram(). On the other hand the core migration code > will try to migrate the contents of the RAMBlock anyway, just > without a name. > > It's not clear to me how this works, and it would be nice to > get it clear so that we can make any necessary fixes before the > 2.10 release hits and we lose the opportunity to make any > migration-compatibility-breaking changes. > > thanks > -- PMM > Hi Peter, These temporary regions should be read-only and treated as temporary caches AFAIU things. I would say that they don't need to be migrated. After migration, the new VM will recreate the ram areas from device backing. Is there a way we can prevent migration of the RAMBlock? Cheers, Edgar
* Edgar E. Iglesias (edgar.iglesias@gmail.com) wrote: > On Mon, Jul 17, 2017 at 11:33 PM, Peter Maydell <peter.maydell@linaro.org> > wrote: > > > On 14 June 2017 at 18:45, Edgar E. Iglesias <edgar.iglesias@gmail.com> > > wrote: > > > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > > Paolo suggested offline that we send a pull request for this series. > > > Here it is, I've run it through my testsuite + tested the LQSPI testcase > > > on Zynq. > > > > > ---------------------------------------------------------------- > > > mmio-exec.for-upstream > > > > > > ---------------------------------------------------------------- > > > KONRAD Frederic (7): > > > cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT > > > cputlb: move get_page_addr_code > > > cputlb: fix the way get_page_addr_code fills the tlb > > > qdev: add MemoryRegion property > > > introduce mmio_interface > > > exec: allow to get a pointer for some mmio memory region > > > xilinx_spips: allow mmio execution > > > > Hi Edgar -- can you or Fred explain how this code interacts with > > VM migration? The mmio-interface device creates a RAM memory > > region with memory_region_init_ram_ptr(), but it doesn't call > > vmstate_register_ram(). On the other hand the core migration code > > will try to migrate the contents of the RAMBlock anyway, just > > without a name. > > > > It's not clear to me how this works, and it would be nice to > > get it clear so that we can make any necessary fixes before the > > 2.10 release hits and we lose the opportunity to make any > > migration-compatibility-breaking changes. > > > > thanks > > -- PMM > > > > Hi Peter, > > These temporary regions should be read-only and treated as temporary caches > AFAIU things. > I would say that they don't need to be migrated. After migration, the new > VM will recreate the ram areas from device backing. > > Is there a way we can prevent migration of the RAMBlock? Not yet, I think we'd have to: a) Add a flag to the RAMBlock b) Set it/clear it on registration c) Have a RAMBLOCK_FOREACH_MIGRATABLE macro d) Replace all of the RAMBLOCK_FOREACH (and the couple of hand coded cases) with the RAMBLOCK_FOREACH_MIGRATABLE e) Worry about the corner cases! I've got a few worries about what happens when the kernel tries to do dirty yncing - I'm not sure if we have to change anything on that interface to skip those RAMBlocks. Dave > Cheers, > Edgar -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
On 17 July 2017 at 19:58, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote: > * Edgar E. Iglesias (edgar.iglesias@gmail.com) wrote: >> Is there a way we can prevent migration of the RAMBlock? > > Not yet, I think we'd have to: > a) Add a flag to the RAMBlock > b) Set it/clear it on registration > c) Have a RAMBLOCK_FOREACH_MIGRATABLE macro > d) Replace all of the RAMBLOCK_FOREACH (and the couple of hand coded > cases) with the RAMBLOCK_FOREACH_MIGRATABLE > e) Worry about the corner cases! > > I've got a few worries about what happens when the kernel tries to > do dirty yncing - I'm not sure if we have to change anything on that > interface to skip those RAMBlocks. Why would we need to skip those RAM blocks? We get correct behaviour whether the memory is sync'd with the kernel or not, because we're not going to migrate it anywhere. thanks -- PMM
* Peter Maydell (peter.maydell@linaro.org) wrote: > On 17 July 2017 at 19:58, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote: > > * Edgar E. Iglesias (edgar.iglesias@gmail.com) wrote: > >> Is there a way we can prevent migration of the RAMBlock? > > > > Not yet, I think we'd have to: > > a) Add a flag to the RAMBlock > > b) Set it/clear it on registration > > c) Have a RAMBLOCK_FOREACH_MIGRATABLE macro > > d) Replace all of the RAMBLOCK_FOREACH (and the couple of hand coded > > cases) with the RAMBLOCK_FOREACH_MIGRATABLE > > e) Worry about the corner cases! > > > > I've got a few worries about what happens when the kernel tries to > > do dirty yncing - I'm not sure if we have to change anything on that > > interface to skip those RAMBlocks. > > Why would we need to skip those RAM blocks? We get correct > behaviour whether the memory is sync'd with the kernel > or not, because we're not going to migrate it anywhere. We have to make sure the count of dirty pages doesn't include the dirty pages from those blocks, or migration will never finish. Dave > thanks > -- PMM -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
On 17 July 2017 at 19:58, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote: > * Edgar E. Iglesias (edgar.iglesias@gmail.com) wrote: >> Is there a way we can prevent migration of the RAMBlock? > > Not yet, I think we'd have to: > a) Add a flag to the RAMBlock > b) Set it/clear it on registration > c) Have a RAMBLOCK_FOREACH_MIGRATABLE macro > d) Replace all of the RAMBLOCK_FOREACH (and the couple of hand coded > cases) with the RAMBLOCK_FOREACH_MIGRATABLE > e) Worry about the corner cases! > > I've got a few worries about what happens when the kernel tries to > do dirty yncing - I'm not sure if we have to change anything on that > interface to skip those RAMBlocks. OK, so what should we do for 2.10 ? We could: * implement the changes you suggest above, and mark only vmstate_register_ram'd blocks as migratable (would probably need to fix some places which buggily don't call vmstate_register_ram) * implement the changes above, but special case mmio-interface so only its ramblock is marked unmigratable * postpone the changes above until 2.11, and for 2.10 register a migration-blocker in mmio-interface so that we at least give the user a useful error rather than having it fail obscurely on vmload (and release note this) (Or something else?) I do think we definitely need to fix this for 2.11 at latest. thanks -- PMM
On 07/20/2017 11:42 AM, Peter Maydell wrote: > On 17 July 2017 at 19:58, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote: >> * Edgar E. Iglesias (edgar.iglesias@gmail.com) wrote: >>> Is there a way we can prevent migration of the RAMBlock? >> >> Not yet, I think we'd have to: >> a) Add a flag to the RAMBlock >> b) Set it/clear it on registration >> c) Have a RAMBLOCK_FOREACH_MIGRATABLE macro >> d) Replace all of the RAMBLOCK_FOREACH (and the couple of hand coded >> cases) with the RAMBLOCK_FOREACH_MIGRATABLE >> e) Worry about the corner cases! >> >> I've got a few worries about what happens when the kernel tries to >> do dirty yncing - I'm not sure if we have to change anything on that >> interface to skip those RAMBlocks. > > OK, so what should we do for 2.10 ? > > We could: > * implement the changes you suggest above, and mark only > vmstate_register_ram'd blocks as migratable > (would probably need to fix some places which buggily > don't call vmstate_register_ram) > * implement the changes above, but special case mmio-interface > so only its ramblock is marked unmigratable > * postpone the changes above until 2.11, and for 2.10 register > a migration-blocker in mmio-interface so that we at least > give the user a useful error rather than having it fail > obscurely on vmload (and release note this) > > (Or something else?) > > I do think we definitely need to fix this for 2.11 at latest. I think we take less risks with the second one. Maybe there is other problematic devices which don't call vmstate_register_ram'd? Which would be broken by the first? BTW the issue will show up only if ones execute code from the LQSPI so maybe a mix between (3) and (2) ? Fred > > thanks > -- PMM >
* Peter Maydell (peter.maydell@linaro.org) wrote: > On 17 July 2017 at 19:58, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote: > > * Edgar E. Iglesias (edgar.iglesias@gmail.com) wrote: > >> Is there a way we can prevent migration of the RAMBlock? > > > > Not yet, I think we'd have to: > > a) Add a flag to the RAMBlock > > b) Set it/clear it on registration > > c) Have a RAMBLOCK_FOREACH_MIGRATABLE macro > > d) Replace all of the RAMBLOCK_FOREACH (and the couple of hand coded > > cases) with the RAMBLOCK_FOREACH_MIGRATABLE > > e) Worry about the corner cases! > > > > I've got a few worries about what happens when the kernel tries to > > do dirty yncing - I'm not sure if we have to change anything on that > > interface to skip those RAMBlocks. > > OK, so what should we do for 2.10 ? > > We could: > * implement the changes you suggest above, and mark only > vmstate_register_ram'd blocks as migratable > (would probably need to fix some places which buggily > don't call vmstate_register_ram) > * implement the changes above, but special case mmio-interface > so only its ramblock is marked unmigratable I think either of these is too late for 2.10 - I don't fancy prodding about in all of the migration RAM loops at this stage. > * postpone the changes above until 2.11, and for 2.10 register > a migration-blocker in mmio-interface so that we at least > give the user a useful error rather than having it fail > obscurely on vmload (and release note this) I think that's best, especially because I've just thought of another nasty. If I understand the way mmio-interface is working, you're dynamically changing the RAMBlock list while the guest is running. And while we are using QLIST_FOREACH_RCU I'm not convinced we're actually safe against dynamic modification of that list. > (Or something else?) > > I do think we definitely need to fix this for 2.11 at latest. OK, I can do a-e OK, I'm more worried now about that dynamic modification I just thought of. Dave > thanks > -- PMM -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
On 07/20/2017 12:02 PM, Dr. David Alan Gilbert wrote: > * Peter Maydell (peter.maydell@linaro.org) wrote: >> On 17 July 2017 at 19:58, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote: >>> * Edgar E. Iglesias (edgar.iglesias@gmail.com) wrote: >>>> Is there a way we can prevent migration of the RAMBlock? >>> >>> Not yet, I think we'd have to: >>> a) Add a flag to the RAMBlock >>> b) Set it/clear it on registration >>> c) Have a RAMBLOCK_FOREACH_MIGRATABLE macro >>> d) Replace all of the RAMBLOCK_FOREACH (and the couple of hand coded >>> cases) with the RAMBLOCK_FOREACH_MIGRATABLE >>> e) Worry about the corner cases! >>> >>> I've got a few worries about what happens when the kernel tries to >>> do dirty yncing - I'm not sure if we have to change anything on that >>> interface to skip those RAMBlocks. >> >> OK, so what should we do for 2.10 ? >> >> We could: >> * implement the changes you suggest above, and mark only >> vmstate_register_ram'd blocks as migratable >> (would probably need to fix some places which buggily >> don't call vmstate_register_ram) >> * implement the changes above, but special case mmio-interface >> so only its ramblock is marked unmigratable > > I think either of these is too late for 2.10 - I don't fancy prodding > about in all of the migration RAM loops at this stage. > >> * postpone the changes above until 2.11, and for 2.10 register >> a migration-blocker in mmio-interface so that we at least >> give the user a useful error rather than having it fail >> obscurely on vmload (and release note this) > > I think that's best, especially because I've just thought of another nasty. > If I understand the way mmio-interface is working, you're dynamically > changing the RAMBlock list while the guest is running. > And while we are using QLIST_FOREACH_RCU I'm not convinced we're > actually safe against dynamic modification of that list. Hi Dave, Hmmm I'm not totally convinced.. Let's imagine somebody (eg: u-boot guest) wants to execute code from the LQSPI area. memory_region_request_mmio_ptr is called (the guest is not running yet) it will create a mmio-interface which create the ram memory region with a pointer provided by the device. Then the guest can execute code from that and this somehow is breaking migration because this ram memory region is migrated. Now something is writing to the device.. The cache is no longer valid, we have to drop this mmio-interface. This is done in an async_safe work so cpu are stopped at this moment. So I think we are safe for that. > >> (Or something else?) >> >> I do think we definitely need to fix this for 2.11 at latest. > > OK, I can do a-e OK, I'm more worried now about that dynamic > modification I just thought of. > What's an a-e? BTW sorry for this pain :( I didn't figure out that the ram MemoryRegion would be migrated.. Thanks, Fred > Dave > >> thanks >> -- PMM > -- > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK >
* KONRAD Frederic (frederic.konrad@adacore.com) wrote: > > > On 07/20/2017 12:02 PM, Dr. David Alan Gilbert wrote: > > * Peter Maydell (peter.maydell@linaro.org) wrote: > > > On 17 July 2017 at 19:58, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote: > > > > * Edgar E. Iglesias (edgar.iglesias@gmail.com) wrote: > > > > > Is there a way we can prevent migration of the RAMBlock? > > > > > > > > Not yet, I think we'd have to: > > > > a) Add a flag to the RAMBlock > > > > b) Set it/clear it on registration > > > > c) Have a RAMBLOCK_FOREACH_MIGRATABLE macro > > > > d) Replace all of the RAMBLOCK_FOREACH (and the couple of hand coded > > > > cases) with the RAMBLOCK_FOREACH_MIGRATABLE > > > > e) Worry about the corner cases! > > > > > > > > I've got a few worries about what happens when the kernel tries to > > > > do dirty yncing - I'm not sure if we have to change anything on that > > > > interface to skip those RAMBlocks. > > > > > > OK, so what should we do for 2.10 ? > > > > > > We could: > > > * implement the changes you suggest above, and mark only > > > vmstate_register_ram'd blocks as migratable > > > (would probably need to fix some places which buggily > > > don't call vmstate_register_ram) > > > * implement the changes above, but special case mmio-interface > > > so only its ramblock is marked unmigratable > > > > I think either of these is too late for 2.10 - I don't fancy prodding > > about in all of the migration RAM loops at this stage. > > > > > * postpone the changes above until 2.11, and for 2.10 register > > > a migration-blocker in mmio-interface so that we at least > > > give the user a useful error rather than having it fail > > > obscurely on vmload (and release note this) > > > > I think that's best, especially because I've just thought of another nasty. > > If I understand the way mmio-interface is working, you're dynamically > > changing the RAMBlock list while the guest is running. > > And while we are using QLIST_FOREACH_RCU I'm not convinced we're > > actually safe against dynamic modification of that list. > > Hi Dave, > > Hmmm I'm not totally convinced.. > > Let's imagine somebody (eg: u-boot guest) wants to execute code > from the LQSPI area. > > memory_region_request_mmio_ptr is called (the guest is not > running yet) it will create a mmio-interface which create the > ram memory region with a pointer provided by the device. > Then the guest can execute code from that and this somehow is > breaking migration because this ram memory region is migrated. > > Now something is writing to the device.. The cache is no longer > valid, we have to drop this mmio-interface. This is done in an > async_safe work so cpu are stopped at this moment. So I think we > are safe for that. I don't fully understand the way memory_region_do_invalidate_mmio_ptr works; I see it dropping the memory region; if that's also dropping the RAMBlock then it will upset migration. Even if the CPU is stopped I dont think that stops the migration thread walking through the list of RAMBlocks. Even then, the problem is migration keeps a 'dirty_pages' count which is calculated at the start of migration and updated as we dirty and send pages; if we add/remove a RAMBlock then that dirty_pages count is wrong and we either never finish migration (since dirty_pages never reaches zero) or finish early with some unsent data. And then there's the 'received' bitmap currently being added for postcopy which tracks each page that's been received (that's not in yet though). Dave > > > > > (Or something else?) > > > > > > I do think we definitely need to fix this for 2.11 at latest. > > > > OK, I can do a-e OK, I'm more worried now about that dynamic > > modification I just thought of. > > > > What's an a-e? > > BTW sorry for this pain :( I didn't figure out that the > ram MemoryRegion would be migrated.. > > Thanks, > Fred > > > Dave > > > > > thanks > > > -- PMM > > -- > > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK > > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
On 21 July 2017 at 10:13, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote: > I don't fully understand the way memory_region_do_invalidate_mmio_ptr > works; I see it dropping the memory region; if that's also dropping > the RAMBlock then it will upset migration. Even if the CPU is stopped > I dont think that stops the migration thread walking through the list of > RAMBlocks. memory_region_do_invalidate_mmio_ptr() calls memory_region_unref(), which will eventually result in memory_region_finalize() being called, which will call the MR destructor, which in this case is memory_region_destructor_ram(), which calls qemu_ram_free() on the RAMBlock, which removes the RAMBlock from the list (after taking the ramlist lock). > Even then, the problem is migration keeps a 'dirty_pages' count which is > calculated at the start of migration and updated as we dirty and send > pages; if we add/remove a RAMBlock then that dirty_pages count is wrong > and we either never finish migration (since dirty_pages never reaches > zero) or finish early with some unsent data. > And then there's the 'received' bitmap currently being added for > postcopy which tracks each page that's been received (that's not in yet > though). It sounds like we really need to make migration robust against RAMBlock changes -- in the hotplug case it's certainly possible for RAMBlocks to be newly created or destroyed while migration is in progress. thanks -- PMM
On 07/21/2017 11:29 AM, Peter Maydell wrote: > On 21 July 2017 at 10:13, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote: >> I don't fully understand the way memory_region_do_invalidate_mmio_ptr >> works; I see it dropping the memory region; if that's also dropping >> the RAMBlock then it will upset migration. Even if the CPU is stopped >> I dont think that stops the migration thread walking through the list of >> RAMBlocks. > > memory_region_do_invalidate_mmio_ptr() calls memory_region_unref(), > which will eventually result in memory_region_finalize() being > called, which will call the MR destructor, which in this case is > memory_region_destructor_ram(), which calls qemu_ram_free() on > the RAMBlock, which removes the RAMBlock from the list (after > taking the ramlist lock). > >> Even then, the problem is migration keeps a 'dirty_pages' count which is >> calculated at the start of migration and updated as we dirty and send >> pages; if we add/remove a RAMBlock then that dirty_pages count is wrong >> and we either never finish migration (since dirty_pages never reaches >> zero) or finish early with some unsent data. >> And then there's the 'received' bitmap currently being added for >> postcopy which tracks each page that's been received (that's not in yet >> though). > > It sounds like we really need to make migration robust against > RAMBlock changes -- in the hotplug case it's certainly possible > for RAMBlocks to be newly created or destroyed while migration > is in progress. > For the RAMBlock destruction maybe we can just ref the MemoryRegion but I think I remember some strangeness like memory_region_ref actually add a reference on the owner.. And it doesn't help for hotplug.. Fred > thanks > -- PMM >
* Peter Maydell (peter.maydell@linaro.org) wrote: > On 21 July 2017 at 10:13, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote: > > I don't fully understand the way memory_region_do_invalidate_mmio_ptr > > works; I see it dropping the memory region; if that's also dropping > > the RAMBlock then it will upset migration. Even if the CPU is stopped > > I dont think that stops the migration thread walking through the list of > > RAMBlocks. > > memory_region_do_invalidate_mmio_ptr() calls memory_region_unref(), > which will eventually result in memory_region_finalize() being > called, which will call the MR destructor, which in this case is > memory_region_destructor_ram(), which calls qemu_ram_free() on > the RAMBlock, which removes the RAMBlock from the list (after > taking the ramlist lock). OK > > Even then, the problem is migration keeps a 'dirty_pages' count which is > > calculated at the start of migration and updated as we dirty and send > > pages; if we add/remove a RAMBlock then that dirty_pages count is wrong > > and we either never finish migration (since dirty_pages never reaches > > zero) or finish early with some unsent data. > > And then there's the 'received' bitmap currently being added for > > postcopy which tracks each page that's been received (that's not in yet > > though). > > It sounds like we really need to make migration robust against > RAMBlock changes -- in the hotplug case it's certainly possible > for RAMBlocks to be newly created or destroyed while migration > is in progress. Juan recently added a patch that disables hotplug/unplug during migration (b06424de) - although we did figure out later that it's not quite enough because it stops the request to hotunplug, but one of those might already be in flight. Adding a RAMBlock isn't too bad a problem, removing one is much hairier. a) Somehow it has to be coordinated with the destination - my suggestion for this is to send a QMP command down the migration stream to do the hot-add. b) Migration traverses RAMBlock lists over quite a long time; we can't hold an RCU lock for the whole period we're doing migration, so the FOREACH_RCU isn't really protecting us from much. (We probably should hold ram_list.mutex or the whole migration at the moment) c) RAMBlocks themselves aren't reference counted d) We've got 2ndary structures such as that counter, a queue of requests, bitmaps etc - that are all either based off RAMBlock list data or actually contain pointers to RAMBlocks e) Then the RAMBlocks are registered with the kernel for dirty tracking. None of those feel easily fixable. Dave > thanks > -- PMM -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
Peter Maydell <peter.maydell@linaro.org> wrote:
> On 21 July 2017 at 10:13, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote:
>> I don't fully understand the way memory_region_do_invalidate_mmio_ptr
>> works; I see it dropping the memory region; if that's also dropping
>> the RAMBlock then it will upset migration. Even if the CPU is stopped
>> I dont think that stops the migration thread walking through the list of
>> RAMBlocks.
>
> memory_region_do_invalidate_mmio_ptr() calls memory_region_unref(),
> which will eventually result in memory_region_finalize() being
> called, which will call the MR destructor, which in this case is
> memory_region_destructor_ram(), which calls qemu_ram_free() on
> the RAMBlock, which removes the RAMBlock from the list (after
> taking the ramlist lock).
>
>> Even then, the problem is migration keeps a 'dirty_pages' count which is
>> calculated at the start of migration and updated as we dirty and send
>> pages; if we add/remove a RAMBlock then that dirty_pages count is wrong
>> and we either never finish migration (since dirty_pages never reaches
>> zero) or finish early with some unsent data.
>> And then there's the 'received' bitmap currently being added for
>> postcopy which tracks each page that's been received (that's not in yet
>> though).
>
> It sounds like we really need to make migration robust against
> RAMBlock changes -- in the hotplug case it's certainly possible
> for RAMBlocks to be newly created or destroyed while migration
> is in progress.
There is code to disable hotplug while we are migrating. For 2.10 we
disabled *all* hotplug/unplug. If there are things that are safe, we
can add them as we do them.
The problem with ramblocks is that we do the equivalent of:
foreach ramblock
for each page in this ramblock
if page is dirty, send page
But we could take a lot of time/rounds sending a single ramblock,
because we go back/forth with top level migration functions/loops.
Later, Juan.
"Dr. David Alan Gilbert" <dgilbert@redhat.com> wrote: > * KONRAD Frederic (frederic.konrad@adacore.com) wrote: >> >> >> >> Let's imagine somebody (eg: u-boot guest) wants to execute code >> from the LQSPI area. >> >> memory_region_request_mmio_ptr is called (the guest is not >> running yet) it will create a mmio-interface which create the >> ram memory region with a pointer provided by the device. >> Then the guest can execute code from that and this somehow is >> breaking migration because this ram memory region is migrated. >> >> Now something is writing to the device.. The cache is no longer >> valid, we have to drop this mmio-interface. This is done in an >> async_safe work so cpu are stopped at this moment. So I think we >> are safe for that. > > I don't fully understand the way memory_region_do_invalidate_mmio_ptr > works; I see it dropping the memory region; if that's also dropping > the RAMBlock then it will upset migration. Even if the CPU is stopped > I dont think that stops the migration thread walking through the list of > RAMBlocks. I made sure that we don't allow Memory hot[un]plug during migration. Basically we were already assuming that RAMBlocks are static during migration, to relax that, we need to change other things, and it is too late to investigate that. > Even then, the problem is migration keeps a 'dirty_pages' count which is > calculated at the start of migration and updated as we dirty and send > pages; if we add/remove a RAMBlock then that dirty_pages count is wrong > and we either never finish migration (since dirty_pages never reaches > zero) or finish early with some unsent data. Yeap, that is trouble. > And then there's the 'received' bitmap currently being added for > postcopy which tracks each page that's been received (that's not in yet > though). Later, Juan.
* KONRAD Frederic (frederic.konrad@adacore.com) wrote: > > > On 07/20/2017 12:02 PM, Dr. David Alan Gilbert wrote: > > * Peter Maydell (peter.maydell@linaro.org) wrote: > > > On 17 July 2017 at 19:58, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote: > > > > * Edgar E. Iglesias (edgar.iglesias@gmail.com) wrote: > > > > > Is there a way we can prevent migration of the RAMBlock? > > > > > > > > Not yet, I think we'd have to: > > > > a) Add a flag to the RAMBlock > > > > b) Set it/clear it on registration > > > > c) Have a RAMBLOCK_FOREACH_MIGRATABLE macro > > > > d) Replace all of the RAMBLOCK_FOREACH (and the couple of hand coded > > > > cases) with the RAMBLOCK_FOREACH_MIGRATABLE > > > > e) Worry about the corner cases! > > > > > > > > I've got a few worries about what happens when the kernel tries to > > > > do dirty yncing - I'm not sure if we have to change anything on that > > > > interface to skip those RAMBlocks. > > > > > > OK, so what should we do for 2.10 ? > > > > > > We could: > > > * implement the changes you suggest above, and mark only > > > vmstate_register_ram'd blocks as migratable > > > (would probably need to fix some places which buggily > > > don't call vmstate_register_ram) > > > * implement the changes above, but special case mmio-interface > > > so only its ramblock is marked unmigratable > > > > I think either of these is too late for 2.10 - I don't fancy prodding > > about in all of the migration RAM loops at this stage. > > > > > * postpone the changes above until 2.11, and for 2.10 register > > > a migration-blocker in mmio-interface so that we at least > > > give the user a useful error rather than having it fail > > > obscurely on vmload (and release note this) > > > > I think that's best, especially because I've just thought of another nasty. > > If I understand the way mmio-interface is working, you're dynamically > > changing the RAMBlock list while the guest is running. > > And while we are using QLIST_FOREACH_RCU I'm not convinced we're > > actually safe against dynamic modification of that list. > > Hi Dave, > > Hmmm I'm not totally convinced.. > > Let's imagine somebody (eg: u-boot guest) wants to execute code > from the LQSPI area. > > memory_region_request_mmio_ptr is called (the guest is not > running yet) it will create a mmio-interface which create the > ram memory region with a pointer provided by the device. > Then the guest can execute code from that and this somehow is > breaking migration because this ram memory region is migrated. > > Now something is writing to the device.. The cache is no longer > valid, we have to drop this mmio-interface. This is done in an > async_safe work so cpu are stopped at this moment. So I think we > are safe for that. > > > > > > (Or something else?) > > > > > > I do think we definitely need to fix this for 2.11 at latest. > > > > OK, I can do a-e OK, I'm more worried now about that dynamic > > modification I just thought of. > > > > What's an a-e? Oh sorry, didn't answer that bit - it's the items a..e in the list I posted above. > BTW sorry for this pain :( I didn't figure out that the > ram MemoryRegion would be migrated.. It's OK, these things happen. Dave > Thanks, > Fred > > > Dave > > > > > thanks > > > -- PMM > > -- > > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK > > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
On 07/21/2017 11:27 AM, Dr. David Alan Gilbert wrote: > * KONRAD Frederic (frederic.konrad@adacore.com) wrote: >> >> >> On 07/20/2017 12:02 PM, Dr. David Alan Gilbert wrote: >>> * Peter Maydell (peter.maydell@linaro.org) wrote: >>>> On 17 July 2017 at 19:58, Dr. David Alan Gilbert <dgilbert@redhat.com> wrote: >>>>> * Edgar E. Iglesias (edgar.iglesias@gmail.com) wrote: >>>>>> Is there a way we can prevent migration of the RAMBlock? >>>>> >>>>> Not yet, I think we'd have to: >>>>> a) Add a flag to the RAMBlock >>>>> b) Set it/clear it on registration >>>>> c) Have a RAMBLOCK_FOREACH_MIGRATABLE macro >>>>> d) Replace all of the RAMBLOCK_FOREACH (and the couple of hand coded >>>>> cases) with the RAMBLOCK_FOREACH_MIGRATABLE >>>>> e) Worry about the corner cases! >>>>> >>>>> I've got a few worries about what happens when the kernel tries to >>>>> do dirty yncing - I'm not sure if we have to change anything on that >>>>> interface to skip those RAMBlocks. >>>> >>>> OK, so what should we do for 2.10 ? >>>> >>>> We could: >>>> * implement the changes you suggest above, and mark only >>>> vmstate_register_ram'd blocks as migratable >>>> (would probably need to fix some places which buggily >>>> don't call vmstate_register_ram) >>>> * implement the changes above, but special case mmio-interface >>>> so only its ramblock is marked unmigratable >>> >>> I think either of these is too late for 2.10 - I don't fancy prodding >>> about in all of the migration RAM loops at this stage. >>> >>>> * postpone the changes above until 2.11, and for 2.10 register >>>> a migration-blocker in mmio-interface so that we at least >>>> give the user a useful error rather than having it fail >>>> obscurely on vmload (and release note this) >>> >>> I think that's best, especially because I've just thought of another nasty. >>> If I understand the way mmio-interface is working, you're dynamically >>> changing the RAMBlock list while the guest is running. >>> And while we are using QLIST_FOREACH_RCU I'm not convinced we're >>> actually safe against dynamic modification of that list. >> >> Hi Dave, >> >> Hmmm I'm not totally convinced.. >> >> Let's imagine somebody (eg: u-boot guest) wants to execute code >> from the LQSPI area. >> >> memory_region_request_mmio_ptr is called (the guest is not >> running yet) it will create a mmio-interface which create the >> ram memory region with a pointer provided by the device. >> Then the guest can execute code from that and this somehow is >> breaking migration because this ram memory region is migrated. >> >> Now something is writing to the device.. The cache is no longer >> valid, we have to drop this mmio-interface. This is done in an >> async_safe work so cpu are stopped at this moment. So I think we >> are safe for that. >> >>> >>>> (Or something else?) >>>> >>>> I do think we definitely need to fix this for 2.11 at latest. >>> >>> OK, I can do a-e OK, I'm more worried now about that dynamic >>> modification I just thought of. >>> >> >> What's an a-e? > > Oh sorry, didn't answer that bit - it's the items a..e in the list > I posted above. > >> BTW sorry for this pain :( I didn't figure out that the >> ram MemoryRegion would be migrated.. > > It's OK, these things happen. > > Dave Ok thanks! Fred > >> Thanks, >> Fred >> >>> Dave >>> >>>> thanks >>>> -- PMM >>> -- >>> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK >>> > -- > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK >
On 20 July 2017 at 10:42, Peter Maydell <peter.maydell@linaro.org> wrote: > OK, so what should we do for 2.10 ? > > We could: > * implement the changes you suggest above, and mark only > vmstate_register_ram'd blocks as migratable > (would probably need to fix some places which buggily > don't call vmstate_register_ram) > * implement the changes above, but special case mmio-interface > so only its ramblock is marked unmigratable > * postpone the changes above until 2.11, and for 2.10 register > a migration-blocker in mmio-interface so that we at least > give the user a useful error rather than having it fail > obscurely on vmload (and release note this) > > (Or something else?) Talking to David about this on IRC, even "don't allow migration" is a bit tricky, because you can't register a migration-blocker if a migration is already in progress. Two further options: * disable this mmio-exec-in-place entirely for 2.10 as being not completely baked yet, and fix it properly in 2.11 * ditto, but allow the device to have an x-enable-exec-in-place property which turned on the not-baked feature (the property would go away in 2.11, which is OK because of the x- experimental prefix) I'm leaning towards disable-entirely at the moment... thanks -- PMM
On 28 July 2017 at 10:18, Peter Maydell <peter.maydell@linaro.org> wrote: > Talking to David about this on IRC, even "don't allow > migration" is a bit tricky, because you can't register > a migration-blocker if a migration is already in progress. > Two further options: > * disable this mmio-exec-in-place entirely for 2.10 as > being not completely baked yet, and fix it properly > in 2.11 > * ditto, but allow the device to have an x-enable-exec-in-place > property which turned on the not-baked feature (the > property would go away in 2.11, which is OK because > of the x- experimental prefix) > > I'm leaning towards disable-entirely at the moment... I've sent a for-2.10 patch which takes the simple "just disable it" approach. If anybody wants to propose taking a less blunt hammer to it, they're welcome to send a patch. thanks -- PMM
On 07/28/2017 12:13 PM, Peter Maydell wrote: > On 28 July 2017 at 10:18, Peter Maydell <peter.maydell@linaro.org> wrote: >> Talking to David about this on IRC, even "don't allow >> migration" is a bit tricky, because you can't register >> a migration-blocker if a migration is already in progress. >> Two further options: >> * disable this mmio-exec-in-place entirely for 2.10 as >> being not completely baked yet, and fix it properly >> in 2.11 >> * ditto, but allow the device to have an x-enable-exec-in-place >> property which turned on the not-baked feature (the >> property would go away in 2.11, which is OK because >> of the x- experimental prefix) >> >> I'm leaning towards disable-entirely at the moment... > > I've sent a for-2.10 patch which takes the simple "just > disable it" approach. If anybody wants to propose taking > a less blunt hammer to it, they're welcome to send a patch. > > thanks > -- PMM > Hi Peter, I'll send a patch for this today or tomorrow. Thanks, Fred
On 07/17/2017 07:27 PM, Edgar E. Iglesias wrote: > On Mon, Jul 17, 2017 at 11:33 PM, Peter Maydell <peter.maydell@linaro.org> > wrote: > >> On 14 June 2017 at 18:45, Edgar E. Iglesias <edgar.iglesias@gmail.com> >> wrote: >>> From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> >>> Paolo suggested offline that we send a pull request for this series. >>> Here it is, I've run it through my testsuite + tested the LQSPI testcase >>> on Zynq. >> >>> ---------------------------------------------------------------- >>> mmio-exec.for-upstream >>> >>> ---------------------------------------------------------------- >>> KONRAD Frederic (7): >>> cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT >>> cputlb: move get_page_addr_code >>> cputlb: fix the way get_page_addr_code fills the tlb >>> qdev: add MemoryRegion property >>> introduce mmio_interface >>> exec: allow to get a pointer for some mmio memory region >>> xilinx_spips: allow mmio execution >> >> Hi Edgar -- can you or Fred explain how this code interacts with >> VM migration? The mmio-interface device creates a RAM memory >> region with memory_region_init_ram_ptr(), but it doesn't call >> vmstate_register_ram(). On the other hand the core migration code >> will try to migrate the contents of the RAMBlock anyway, just >> without a name. >> >> It's not clear to me how this works, and it would be nice to >> get it clear so that we can make any necessary fixes before the >> 2.10 release hits and we lose the opportunity to make any >> migration-compatibility-breaking changes. >> >> thanks >> -- PMM >> > > Hi Peter, > > These temporary regions should be read-only and treated as temporary caches > AFAIU things. > I would say that they don't need to be migrated. After migration, the new > VM will recreate the ram areas from device backing. > > Is there a way we can prevent migration of the RAMBlock? > > Cheers, > Edgar > Hi All, Yes Edgar is right, they don't need to be migrated (as the old Xilinx SPI cache). And it will be the case for all the other stuff using this as well. Maybe we can simply drop the region before the migration? Fred
* KONRAD Frederic (frederic.konrad@adacore.com) wrote: > > > On 07/17/2017 07:27 PM, Edgar E. Iglesias wrote: > > On Mon, Jul 17, 2017 at 11:33 PM, Peter Maydell <peter.maydell@linaro.org> > > wrote: > > > > > On 14 June 2017 at 18:45, Edgar E. Iglesias <edgar.iglesias@gmail.com> > > > wrote: > > > > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > > > Paolo suggested offline that we send a pull request for this series. > > > > Here it is, I've run it through my testsuite + tested the LQSPI testcase > > > > on Zynq. > > > > > > > ---------------------------------------------------------------- > > > > mmio-exec.for-upstream > > > > > > > > ---------------------------------------------------------------- > > > > KONRAD Frederic (7): > > > > cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT > > > > cputlb: move get_page_addr_code > > > > cputlb: fix the way get_page_addr_code fills the tlb > > > > qdev: add MemoryRegion property > > > > introduce mmio_interface > > > > exec: allow to get a pointer for some mmio memory region > > > > xilinx_spips: allow mmio execution > > > > > > Hi Edgar -- can you or Fred explain how this code interacts with > > > VM migration? The mmio-interface device creates a RAM memory > > > region with memory_region_init_ram_ptr(), but it doesn't call > > > vmstate_register_ram(). On the other hand the core migration code > > > will try to migrate the contents of the RAMBlock anyway, just > > > without a name. > > > > > > It's not clear to me how this works, and it would be nice to > > > get it clear so that we can make any necessary fixes before the > > > 2.10 release hits and we lose the opportunity to make any > > > migration-compatibility-breaking changes. > > > > > > thanks > > > -- PMM > > > > > > > Hi Peter, > > > > These temporary regions should be read-only and treated as temporary caches > > AFAIU things. > > I would say that they don't need to be migrated. After migration, the new > > VM will recreate the ram areas from device backing. > > > > Is there a way we can prevent migration of the RAMBlock? > > > > Cheers, > > Edgar > > > > Hi All, > > Yes Edgar is right, they don't need to be migrated (as the old > Xilinx SPI cache). > And it will be the case for all the other stuff using this as > well. > > Maybe we can simply drop the region before the migration? Dont forget the VM is still running during migration, so you can't drop anything that's needed for it to be able to execute. Dave > Fred -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
On 07/19/2017 02:29 PM, Dr. David Alan Gilbert wrote: > * KONRAD Frederic (frederic.konrad@adacore.com) wrote: >> >> >> On 07/17/2017 07:27 PM, Edgar E. Iglesias wrote: >>> On Mon, Jul 17, 2017 at 11:33 PM, Peter Maydell <peter.maydell@linaro.org> >>> wrote: >>> >>>> On 14 June 2017 at 18:45, Edgar E. Iglesias <edgar.iglesias@gmail.com> >>>> wrote: >>>>> From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> >>>>> Paolo suggested offline that we send a pull request for this series. >>>>> Here it is, I've run it through my testsuite + tested the LQSPI testcase >>>>> on Zynq. >>>> >>>>> ---------------------------------------------------------------- >>>>> mmio-exec.for-upstream >>>>> >>>>> ---------------------------------------------------------------- >>>>> KONRAD Frederic (7): >>>>> cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT >>>>> cputlb: move get_page_addr_code >>>>> cputlb: fix the way get_page_addr_code fills the tlb >>>>> qdev: add MemoryRegion property >>>>> introduce mmio_interface >>>>> exec: allow to get a pointer for some mmio memory region >>>>> xilinx_spips: allow mmio execution >>>> >>>> Hi Edgar -- can you or Fred explain how this code interacts with >>>> VM migration? The mmio-interface device creates a RAM memory >>>> region with memory_region_init_ram_ptr(), but it doesn't call >>>> vmstate_register_ram(). On the other hand the core migration code >>>> will try to migrate the contents of the RAMBlock anyway, just >>>> without a name. >>>> >>>> It's not clear to me how this works, and it would be nice to >>>> get it clear so that we can make any necessary fixes before the >>>> 2.10 release hits and we lose the opportunity to make any >>>> migration-compatibility-breaking changes. >>>> >>>> thanks >>>> -- PMM >>>> >>> >>> Hi Peter, >>> >>> These temporary regions should be read-only and treated as temporary caches >>> AFAIU things. >>> I would say that they don't need to be migrated. After migration, the new >>> VM will recreate the ram areas from device backing. >>> >>> Is there a way we can prevent migration of the RAMBlock? >>> >>> Cheers, >>> Edgar >>> >> >> Hi All, >> >> Yes Edgar is right, they don't need to be migrated (as the old >> Xilinx SPI cache). >> And it will be the case for all the other stuff using this as >> well. >> >> Maybe we can simply drop the region before the migration? > > Dont forget the VM is still running during migration, so you > can't drop anything that's needed for it to be able to execute. > > Dave Scary.. Yes your right. I still think it doesn't need to be migrated.. But how.. BTW taking a look at this I found the comment below which seems to implies that the content won't be migrated? /** * memory_region_init_ram_ptr: Initialize RAM memory region from a * user-provided pointer. Accesses into the * region will modify memory directly. * * @mr: the #MemoryRegion to be initialized. * @owner: the object that tracks the region's reference count * @name: Region name, becomes part of RAMBlock name used in migration stream * must be unique within any device * @size: size of the region. * @ptr: memory to be mapped; must contain at least @size bytes. * * Note that this function does not do anything to cause the data in the * RAM memory region to be migrated; that is the responsibility of the caller. */ And I guess we have the same issue when we try to unplug a device during migration? Fred > >> Fred > -- > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK >
On 19 July 2017 at 17:22, KONRAD Frederic <frederic.konrad@adacore.com> wrote: > Scary.. Yes your right. I still think it doesn't need to be > migrated.. But how.. > > BTW taking a look at this I found the comment below which seems > to implies that the content won't be migrated? That's a comment that I added just recently under a slight misapprehension. Once we've figured out what the right thing is we can fix it, or make the code do what the comment says. The actual current situation is "this function does nothing to ensure the RAMBlock is correctly migrated, so if you do nothing then you'll wind up with migration being silently broken, if more than one thing is doing this at once in the system, but if one and only one RAMblock is in this situation then it'll work by luck". Which is definitely not behaviour we are doing on purpose :-) thanks -- PMM
On 07/19/2017 06:25 PM, Peter Maydell wrote: > On 19 July 2017 at 17:22, KONRAD Frederic <frederic.konrad@adacore.com> wrote: >> Scary.. Yes your right. I still think it doesn't need to be >> migrated.. But how.. >> >> BTW taking a look at this I found the comment below which seems >> to implies that the content won't be migrated? > > That's a comment that I added just recently under a > slight misapprehension. Once we've figured out what > the right thing is we can fix it, or make the code do > what the comment says. > > The actual current situation is "this function does nothing > to ensure the RAMBlock is correctly migrated, so if you > do nothing then you'll wind up with migration being silently > broken, if more than one thing is doing this at once in > the system, but if one and only one RAMblock is in this > situation then it'll work by luck". Which is definitely not > behaviour we are doing on purpose :-) > Ok thanks! Fred > thanks > -- PMM >
* KONRAD Frederic (frederic.konrad@adacore.com) wrote: > > > On 07/19/2017 02:29 PM, Dr. David Alan Gilbert wrote: > > * KONRAD Frederic (frederic.konrad@adacore.com) wrote: > > > > > > > > > On 07/17/2017 07:27 PM, Edgar E. Iglesias wrote: > > > > On Mon, Jul 17, 2017 at 11:33 PM, Peter Maydell <peter.maydell@linaro.org> > > > > wrote: > > > > > > > > > On 14 June 2017 at 18:45, Edgar E. Iglesias <edgar.iglesias@gmail.com> > > > > > wrote: > > > > > > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > > > > > Paolo suggested offline that we send a pull request for this series. > > > > > > Here it is, I've run it through my testsuite + tested the LQSPI testcase > > > > > > on Zynq. > > > > > > > > > > > ---------------------------------------------------------------- > > > > > > mmio-exec.for-upstream > > > > > > > > > > > > ---------------------------------------------------------------- > > > > > > KONRAD Frederic (7): > > > > > > cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT > > > > > > cputlb: move get_page_addr_code > > > > > > cputlb: fix the way get_page_addr_code fills the tlb > > > > > > qdev: add MemoryRegion property > > > > > > introduce mmio_interface > > > > > > exec: allow to get a pointer for some mmio memory region > > > > > > xilinx_spips: allow mmio execution > > > > > > > > > > Hi Edgar -- can you or Fred explain how this code interacts with > > > > > VM migration? The mmio-interface device creates a RAM memory > > > > > region with memory_region_init_ram_ptr(), but it doesn't call > > > > > vmstate_register_ram(). On the other hand the core migration code > > > > > will try to migrate the contents of the RAMBlock anyway, just > > > > > without a name. > > > > > > > > > > It's not clear to me how this works, and it would be nice to > > > > > get it clear so that we can make any necessary fixes before the > > > > > 2.10 release hits and we lose the opportunity to make any > > > > > migration-compatibility-breaking changes. > > > > > > > > > > thanks > > > > > -- PMM > > > > > > > > > > > > > Hi Peter, > > > > > > > > These temporary regions should be read-only and treated as temporary caches > > > > AFAIU things. > > > > I would say that they don't need to be migrated. After migration, the new > > > > VM will recreate the ram areas from device backing. > > > > > > > > Is there a way we can prevent migration of the RAMBlock? > > > > > > > > Cheers, > > > > Edgar > > > > > > > > > > Hi All, > > > > > > Yes Edgar is right, they don't need to be migrated (as the old > > > Xilinx SPI cache). > > > And it will be the case for all the other stuff using this as > > > well. > > > > > > Maybe we can simply drop the region before the migration? > > > > Dont forget the VM is still running during migration, so you > > can't drop anything that's needed for it to be able to execute. > > > > Dave > > Scary.. Yes your right. I still think it doesn't need to be > migrated.. But how.. One question about the way your device works; being a cache, is there something bad that the guest could do which would make a reload into the cache fail - i.e the real program could be reliant on running out of data in the cache? i.e. could the state of the cache actually be system state which really does need migrating. (e.g. reprogram the flash via another route or something?) (I've seen real code rely on an ARM TLB like this). > BTW taking a look at this I found the comment below which seems > to implies that the content won't be migrated? > > /** > > * memory_region_init_ram_ptr: Initialize RAM memory region from a > * user-provided pointer. Accesses into the > * region will modify memory directly. > * > > * @mr: the #MemoryRegion to be initialized. > > * @owner: the object that tracks the region's reference count > > * @name: Region name, becomes part of RAMBlock name used in migration > stream > * must be unique within any device > > * @size: size of the region. > > * @ptr: memory to be mapped; must contain at least @size bytes. > > * > > * Note that this function does not do anything to cause the data in the > * RAM memory region to be migrated; that is the responsibility of the > caller. > */ > > And I guess we have the same issue when we try to unplug a device > during migration? plug/unplugging during a migration is a bad idea; I've sene suggestions some of the code is safe for bits of it; I'm not convinced. Dave > Fred > > > > > > Fred > > -- > > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK > > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
On 07/19/2017 06:46 PM, Dr. David Alan Gilbert wrote: > * KONRAD Frederic (frederic.konrad@adacore.com) wrote: >> >> >> On 07/19/2017 02:29 PM, Dr. David Alan Gilbert wrote: >>> * KONRAD Frederic (frederic.konrad@adacore.com) wrote: >>>> >>>> >>>> On 07/17/2017 07:27 PM, Edgar E. Iglesias wrote: >>>>> On Mon, Jul 17, 2017 at 11:33 PM, Peter Maydell <peter.maydell@linaro.org> >>>>> wrote: >>>>> >>>>>> On 14 June 2017 at 18:45, Edgar E. Iglesias <edgar.iglesias@gmail.com> >>>>>> wrote: >>>>>>> From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> >>>>>>> Paolo suggested offline that we send a pull request for this series. >>>>>>> Here it is, I've run it through my testsuite + tested the LQSPI testcase >>>>>>> on Zynq. >>>>>> >>>>>>> ---------------------------------------------------------------- >>>>>>> mmio-exec.for-upstream >>>>>>> >>>>>>> ---------------------------------------------------------------- >>>>>>> KONRAD Frederic (7): >>>>>>> cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT >>>>>>> cputlb: move get_page_addr_code >>>>>>> cputlb: fix the way get_page_addr_code fills the tlb >>>>>>> qdev: add MemoryRegion property >>>>>>> introduce mmio_interface >>>>>>> exec: allow to get a pointer for some mmio memory region >>>>>>> xilinx_spips: allow mmio execution >>>>>> >>>>>> Hi Edgar -- can you or Fred explain how this code interacts with >>>>>> VM migration? The mmio-interface device creates a RAM memory >>>>>> region with memory_region_init_ram_ptr(), but it doesn't call >>>>>> vmstate_register_ram(). On the other hand the core migration code >>>>>> will try to migrate the contents of the RAMBlock anyway, just >>>>>> without a name. >>>>>> >>>>>> It's not clear to me how this works, and it would be nice to >>>>>> get it clear so that we can make any necessary fixes before the >>>>>> 2.10 release hits and we lose the opportunity to make any >>>>>> migration-compatibility-breaking changes. >>>>>> >>>>>> thanks >>>>>> -- PMM >>>>>> >>>>> >>>>> Hi Peter, >>>>> >>>>> These temporary regions should be read-only and treated as temporary caches >>>>> AFAIU things. >>>>> I would say that they don't need to be migrated. After migration, the new >>>>> VM will recreate the ram areas from device backing. >>>>> >>>>> Is there a way we can prevent migration of the RAMBlock? >>>>> >>>>> Cheers, >>>>> Edgar >>>>> >>>> >>>> Hi All, >>>> >>>> Yes Edgar is right, they don't need to be migrated (as the old >>>> Xilinx SPI cache). >>>> And it will be the case for all the other stuff using this as >>>> well. >>>> >>>> Maybe we can simply drop the region before the migration? >>> >>> Dont forget the VM is still running during migration, so you >>> can't drop anything that's needed for it to be able to execute. >>> >>> Dave >> >> Scary.. Yes your right. I still think it doesn't need to be >> migrated.. But how.. > > One question about the way your device works; being a cache, is > there something bad that the guest could do which would make > a reload into the cache fail - i.e the real program could > be reliant on running out of data in the cache? > i.e. could the state of the cache actually be system state > which really does need migrating. > (e.g. reprogram the flash via another route or something?) > > (I've seen real code rely on an ARM TLB like this). It can be reprogrammed through the SPI device.. At this point the MemoryRegion is dropped and after the migration when an instruction fetch happen on this area the cache will be recreated and filled with new data from the drive. So I don't think it is an issue especially for this SPI device. Fred > >> BTW taking a look at this I found the comment below which seems >> to implies that the content won't be migrated? >> >> /** >> >> * memory_region_init_ram_ptr: Initialize RAM memory region from a >> * user-provided pointer. Accesses into the >> * region will modify memory directly. >> * >> >> * @mr: the #MemoryRegion to be initialized. >> >> * @owner: the object that tracks the region's reference count >> >> * @name: Region name, becomes part of RAMBlock name used in migration >> stream >> * must be unique within any device >> >> * @size: size of the region. >> >> * @ptr: memory to be mapped; must contain at least @size bytes. >> >> * >> >> * Note that this function does not do anything to cause the data in the >> * RAM memory region to be migrated; that is the responsibility of the >> caller. >> */ >> >> And I guess we have the same issue when we try to unplug a device >> during migration? > > plug/unplugging during a migration is a bad idea; I've sene suggestions > some of the code is safe for bits of it; I'm not convinced. > > Dave > >> Fred >> >>> >>>> Fred >>> -- >>> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK >>> > -- > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK >
Hi,
This series failed automatic build test. Please find the testing commands and
their output below. If you have docker installed, you can probably reproduce it
locally.
Type: series
Message-id: 1497462353-3432-1-git-send-email-edgar.iglesias@gmail.com
Subject: [Qemu-devel] [PULL v1 0/7] MMIO Exec pull request
=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
# Let docker tests dump environment info
export SHOW_ENV=1
export J=8
# master is broken, skip centos6...
#time make docker-test-quick@centos6
time make docker-test-mingw@fedora
time make docker-test-build@min-glib
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
9c10cd0 xilinx_spips: allow mmio execution
e3bdced exec: allow to get a pointer for some mmio memory region
fb62564 introduce mmio_interface
be2a31d qdev: add MemoryRegion property
ac05c0d cputlb: fix the way get_page_addr_code fills the tlb
60d124d cputlb: move get_page_addr_code
8f4c5fe cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT
=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-mzb938u9/src/dtc'...
Submodule path 'dtc': checked out '558cd81bdd432769b59bff01240c44f82cfb1a9d'
BUILD fedora
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-mzb938u9/src'
ARCHIVE qemu.tgz
ARCHIVE dtc.tgz
COPY RUNNER
RUN test-mingw in qemu:fedora
Packages installed:
PyYAML-3.11-13.fc25.x86_64
SDL-devel-1.2.15-21.fc24.x86_64
bc-1.06.95-16.fc24.x86_64
bison-3.0.4-4.fc24.x86_64
ccache-3.3.4-1.fc25.x86_64
clang-3.9.1-2.fc25.x86_64
findutils-4.6.0-8.fc25.x86_64
flex-2.6.0-3.fc25.x86_64
gcc-6.3.1-1.fc25.x86_64
gcc-c++-6.3.1-1.fc25.x86_64
git-2.9.3-2.fc25.x86_64
glib2-devel-2.50.3-1.fc25.x86_64
libfdt-devel-1.4.2-1.fc25.x86_64
make-4.1-5.fc24.x86_64
mingw32-SDL-1.2.15-7.fc24.noarch
mingw32-bzip2-1.0.6-7.fc24.noarch
mingw32-curl-7.47.0-1.fc24.noarch
mingw32-glib2-2.50.1-1.fc25.noarch
mingw32-gmp-6.1.1-1.fc25.noarch
mingw32-gnutls-3.5.5-2.fc25.noarch
mingw32-gtk2-2.24.31-2.fc25.noarch
mingw32-gtk3-3.22.2-1.fc25.noarch
mingw32-libjpeg-turbo-1.5.1-1.fc25.noarch
mingw32-libpng-1.6.27-1.fc25.noarch
mingw32-libssh2-1.4.3-5.fc24.noarch
mingw32-libtasn1-4.9-1.fc25.noarch
mingw32-nettle-3.3-1.fc25.noarch
mingw32-pixman-0.34.0-1.fc25.noarch
mingw32-pkg-config-0.28-6.fc24.x86_64
mingw64-SDL-1.2.15-7.fc24.noarch
mingw64-bzip2-1.0.6-7.fc24.noarch
mingw64-curl-7.47.0-1.fc24.noarch
mingw64-glib2-2.50.1-1.fc25.noarch
mingw64-gmp-6.1.1-1.fc25.noarch
mingw64-gnutls-3.5.5-2.fc25.noarch
mingw64-gtk2-2.24.31-2.fc25.noarch
mingw64-gtk3-3.22.2-1.fc25.noarch
mingw64-libjpeg-turbo-1.5.1-1.fc25.noarch
mingw64-libpng-1.6.27-1.fc25.noarch
mingw64-libssh2-1.4.3-5.fc24.noarch
mingw64-libtasn1-4.9-1.fc25.noarch
mingw64-nettle-3.3-1.fc25.noarch
mingw64-pixman-0.34.0-1.fc25.noarch
mingw64-pkg-config-0.28-6.fc24.x86_64
package python2 is not installed
perl-5.24.1-385.fc25.x86_64
pixman-devel-0.34.0-2.fc24.x86_64
sparse-0.5.0-10.fc25.x86_64
tar-1.29-3.fc25.x86_64
which-2.21-1.fc25.x86_64
zlib-devel-1.2.8-10.fc24.x86_64
Environment variables:
FBR=f25
PACKAGES=ccache git tar PyYAML sparse flex bison python2 glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel gcc gcc-c++ clang make perl which bc findutils mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1 mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2 mingw32-bzip2 mingw64-pixman mingw64-glib2 mingw64-gmp mingw64-SDL mingw64-pkg-config mingw64-gtk2 mingw64-gtk3 mingw64-gnutls mingw64-nettle mingw64-libtasn1 mingw64-libjpeg-turbo mingw64-libpng mingw64-curl mingw64-libssh2 mingw64-bzip2
HOSTNAME=
TERM=xterm
MAKEFLAGS= -j8
HISTSIZE=1000
J=8
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.m4a=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.oga=01;36:*.opus=01;36:*.spx=01;36:*.xspf=01;36:
CCACHE_DIR=/var/tmp/ccache
EXTRA_CONFIGURE_OPTS=
V=
SHOW_ENV=1
MAIL=/var/spool/mail/root
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
TARGET_LIST=
HISTCONTROL=ignoredups
FGC=f25
SHLVL=1
HOME=/root
TEST_DIR=/tmp/qemu-test
DISTTAG=f25docker
LOGNAME=root
LESSOPEN=||/usr/bin/lesspipe.sh %s
FEATURES=mingw clang pyyaml dtc
DEBUG=
_=/usr/bin/env
Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/var/tmp/qemu-build/install --cross-prefix=x86_64-w64-mingw32- --enable-trace-backends=simple --enable-debug --enable-gnutls --enable-nettle --enable-curl --enable-vnc --enable-bzip2 --enable-guest-agent --with-sdlabi=1.2 --with-gtkabi=2.0
Install prefix /var/tmp/qemu-build/install
BIOS directory /var/tmp/qemu-build/install
binary directory /var/tmp/qemu-build/install
library directory /var/tmp/qemu-build/install/lib
module directory /var/tmp/qemu-build/install/lib
libexec directory /var/tmp/qemu-build/install/libexec
include directory /var/tmp/qemu-build/install/include
config directory /var/tmp/qemu-build/install
local state directory queried at runtime
Windows SDK no
Source path /tmp/qemu-test/src
C compiler x86_64-w64-mingw32-gcc
Host C compiler cc
C++ compiler x86_64-w64-mingw32-g++
Objective-C compiler clang
ARFLAGS rv
CFLAGS -g
QEMU_CFLAGS -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt -Werror -mms-bitfields -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0 -I/usr/x86_64-w64-mingw32/sys-root/mingw/lib/glib-2.0/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -m64 -mcx16 -mthreads -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/p11-kit-1 -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -I/usr/x86_64-w64-mingw32/sys-root/mingw/include/libpng16
LDFLAGS -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m64 -g
make make
install install
python python -B
smbd /usr/sbin/smbd
module support no
host CPU x86_64
host big endian no
target list x86_64-softmmu aarch64-softmmu
tcg debug enabled yes
gprof enabled no
sparse enabled no
strip binaries no
profiler no
static build no
pixman system
SDL support yes (1.2.15)
GTK support yes (2.24.31)
GTK GL support no
VTE support no
TLS priority NORMAL
GNUTLS support yes
GNUTLS rnd yes
libgcrypt no
libgcrypt kdf no
nettle yes (3.3)
nettle kdf yes
libtasn1 yes
curses support no
virgl support no
curl support yes
mingw32 support yes
Audio drivers dsound
Block whitelist (rw)
Block whitelist (ro)
VirtFS support no
VNC support yes
VNC SASL support no
VNC JPEG support yes
VNC PNG support yes
xen support no
brlapi support no
bluez support no
Documentation no
PIE no
vde support no
netmap support no
Linux AIO support no
ATTR/XATTR support no
Install blobs yes
KVM support no
HAX support yes
RDMA support no
TCG interpreter no
fdt support yes
preadv support no
fdatasync no
madvise no
posix_madvise no
libcap-ng support no
vhost-net support no
vhost-scsi support no
vhost-vsock support no
Trace backends simple
Trace output file trace-<pid>
spice support no
rbd support no
xfsctl support no
smartcard support no
libusb no
usb net redir no
OpenGL support no
OpenGL dmabufs no
libiscsi support no
libnfs support no
build guest agent yes
QGA VSS support no
QGA w32 disk info yes
QGA MSI support no
seccomp support no
coroutine backend win32
coroutine pool yes
debug stack usage no
GlusterFS support no
gcov gcov
gcov enabled no
TPM support yes
libssh2 support yes
TPM passthrough no
QOM debugging yes
Live block migration yes
lzo support no
snappy support no
bzip2 support yes
NUMA host support no
tcmalloc support no
jemalloc support no
avx2 optimization yes
replication support yes
VxHS block device no
mkdir -p dtc/libfdt
mkdir -p dtc/tests
GEN x86_64-softmmu/config-devices.mak.tmp
GEN config-host.h
GEN qmp-commands.h
GEN aarch64-softmmu/config-devices.mak.tmp
GEN qemu-options.def
GEN qapi-types.h
GEN qapi-visit.h
GEN qapi-event.h
GEN x86_64-softmmu/config-devices.mak
GEN qmp-marshal.c
GEN aarch64-softmmu/config-devices.mak
GEN qapi-visit.c
GEN qapi-types.c
GEN qapi-event.c
GEN qmp-introspect.h
GEN qmp-introspect.c
GEN trace/generated-tcg-tracers.h
GEN trace/generated-helpers-wrappers.h
GEN trace/generated-helpers.h
GEN trace/generated-helpers.c
GEN module_block.h
GEN tests/test-qapi-types.h
GEN tests/test-qapi-visit.h
GEN tests/test-qmp-commands.h
GEN tests/test-qapi-event.h
GEN tests/test-qmp-introspect.h
GEN trace-root.h
GEN util/trace.h
GEN crypto/trace.h
GEN io/trace.h
GEN migration/trace.h
GEN block/trace.h
GEN backends/trace.h
GEN chardev/trace.h
GEN hw/block/trace.h
GEN hw/block/dataplane/trace.h
GEN hw/char/trace.h
GEN hw/intc/trace.h
GEN hw/net/trace.h
GEN hw/virtio/trace.h
GEN hw/audio/trace.h
GEN hw/misc/trace.h
GEN hw/usb/trace.h
GEN hw/scsi/trace.h
GEN hw/nvram/trace.h
GEN hw/display/trace.h
GEN hw/input/trace.h
GEN hw/timer/trace.h
GEN hw/dma/trace.h
GEN hw/sparc/trace.h
GEN hw/sd/trace.h
GEN hw/isa/trace.h
GEN hw/mem/trace.h
GEN hw/i386/trace.h
GEN hw/i386/xen/trace.h
GEN hw/9pfs/trace.h
GEN hw/ppc/trace.h
GEN hw/pci/trace.h
GEN hw/s390x/trace.h
GEN hw/vfio/trace.h
GEN hw/acpi/trace.h
GEN hw/arm/trace.h
GEN hw/alpha/trace.h
GEN hw/xen/trace.h
GEN ui/trace.h
GEN audio/trace.h
GEN net/trace.h
GEN target/arm/trace.h
GEN target/i386/trace.h
GEN target/mips/trace.h
GEN target/sparc/trace.h
GEN target/s390x/trace.h
GEN target/ppc/trace.h
GEN qom/trace.h
GEN linux-user/trace.h
GEN qapi/trace.h
GEN trace-root.c
GEN util/trace.c
GEN crypto/trace.c
GEN io/trace.c
GEN migration/trace.c
GEN block/trace.c
GEN backends/trace.c
GEN chardev/trace.c
GEN hw/block/trace.c
GEN hw/block/dataplane/trace.c
GEN hw/char/trace.c
GEN hw/intc/trace.c
GEN hw/net/trace.c
GEN hw/virtio/trace.c
GEN hw/audio/trace.c
GEN hw/misc/trace.c
GEN hw/usb/trace.c
GEN hw/scsi/trace.c
GEN hw/nvram/trace.c
GEN hw/display/trace.c
GEN hw/input/trace.c
GEN hw/timer/trace.c
GEN hw/dma/trace.c
GEN hw/sparc/trace.c
GEN hw/sd/trace.c
GEN hw/isa/trace.c
GEN hw/mem/trace.c
GEN hw/i386/trace.c
GEN hw/i386/xen/trace.c
GEN hw/9pfs/trace.c
GEN hw/ppc/trace.c
GEN hw/pci/trace.c
GEN hw/s390x/trace.c
GEN hw/vfio/trace.c
GEN hw/acpi/trace.c
GEN hw/arm/trace.c
GEN hw/alpha/trace.c
GEN hw/xen/trace.c
GEN ui/trace.c
GEN audio/trace.c
GEN net/trace.c
GEN target/arm/trace.c
GEN target/i386/trace.c
GEN target/mips/trace.c
GEN target/sparc/trace.c
GEN target/s390x/trace.c
GEN target/ppc/trace.c
GEN qom/trace.c
GEN linux-user/trace.c
GEN qapi/trace.c
GEN config-all-devices.mak
DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c
DEP /tmp/qemu-test/src/dtc/tests/trees.S
DEP /tmp/qemu-test/src/dtc/tests/testutils.c
DEP /tmp/qemu-test/src/dtc/tests/value-labels.c
DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c
DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c
DEP /tmp/qemu-test/src/dtc/tests/check_path.c
DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c
DEP /tmp/qemu-test/src/dtc/tests/overlay.c
DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c
DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c
DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c
DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c
DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c
DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c
DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c
DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c
DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c
DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c
DEP /tmp/qemu-test/src/dtc/tests/incbin.c
DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c
DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c
DEP /tmp/qemu-test/src/dtc/tests/path-references.c
DEP /tmp/qemu-test/src/dtc/tests/references.c
DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c
DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c
DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c
DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c
DEP /tmp/qemu-test/src/dtc/tests/del_node.c
DEP /tmp/qemu-test/src/dtc/tests/del_property.c
DEP /tmp/qemu-test/src/dtc/tests/setprop.c
DEP /tmp/qemu-test/src/dtc/tests/set_name.c
DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c
DEP /tmp/qemu-test/src/dtc/tests/open_pack.c
DEP /tmp/qemu-test/src/dtc/tests/nopulate.c
DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c
DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c
DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c
DEP /tmp/qemu-test/src/dtc/tests/nop_node.c
DEP /tmp/qemu-test/src/dtc/tests/nop_property.c
DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c
DEP /tmp/qemu-test/src/dtc/tests/stringlist.c
DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c
DEP /tmp/qemu-test/src/dtc/tests/notfound.c
DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c
DEP /tmp/qemu-test/src/dtc/tests/char_literal.c
DEP /tmp/qemu-test/src/dtc/tests/get_alias.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c
DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c
DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c
DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c
DEP /tmp/qemu-test/src/dtc/tests/get_path.c
DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c
DEP /tmp/qemu-test/src/dtc/tests/getprop.c
DEP /tmp/qemu-test/src/dtc/tests/get_name.c
DEP /tmp/qemu-test/src/dtc/tests/path_offset.c
DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c
DEP /tmp/qemu-test/src/dtc/tests/find_property.c
DEP /tmp/qemu-test/src/dtc/tests/root_node.c
DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c
DEP /tmp/qemu-test/src/dtc/fdtput.c
DEP /tmp/qemu-test/src/dtc/util.c
DEP /tmp/qemu-test/src/dtc/fdtget.c
DEP /tmp/qemu-test/src/dtc/fdtdump.c
LEX convert-dtsv0-lexer.lex.c
DEP /tmp/qemu-test/src/dtc/srcpos.c
BISON dtc-parser.tab.c
LEX dtc-lexer.lex.c
DEP /tmp/qemu-test/src/dtc/treesource.c
DEP /tmp/qemu-test/src/dtc/livetree.c
DEP /tmp/qemu-test/src/dtc/fstree.c
DEP /tmp/qemu-test/src/dtc/flattree.c
DEP /tmp/qemu-test/src/dtc/dtc.c
DEP /tmp/qemu-test/src/dtc/data.c
DEP /tmp/qemu-test/src/dtc/checks.c
DEP convert-dtsv0-lexer.lex.c
DEP dtc-parser.tab.c
DEP dtc-lexer.lex.c
CHK version_gen.h
UPD version_gen.h
DEP /tmp/qemu-test/src/dtc/util.c
CC libfdt/fdt.o
CC libfdt/fdt_ro.o
CC libfdt/fdt_wip.o
CC libfdt/fdt_rw.o
CC libfdt/fdt_sw.o
CC libfdt/fdt_strerror.o
CC libfdt/fdt_overlay.o
CC libfdt/fdt_addresses.o
CC libfdt/fdt_empty_tree.o
AR libfdt/libfdt.a
x86_64-w64-mingw32-ar: creating libfdt/libfdt.a
a - libfdt/fdt.o
a - libfdt/fdt_ro.o
a - libfdt/fdt_wip.o
a - libfdt/fdt_sw.o
a - libfdt/fdt_rw.o
a - libfdt/fdt_strerror.o
a - libfdt/fdt_empty_tree.o
a - libfdt/fdt_addresses.o
a - libfdt/fdt_overlay.o
RC version.o
GEN qga/qapi-generated/qga-qapi-types.h
GEN qga/qapi-generated/qga-qapi-visit.h
GEN qga/qapi-generated/qga-qapi-types.c
GEN qga/qapi-generated/qga-qmp-commands.h
GEN qga/qapi-generated/qga-qapi-visit.c
GEN qga/qapi-generated/qga-qmp-marshal.c
CC qmp-introspect.o
CC qapi-types.o
CC qapi-visit.o
CC qapi-event.o
CC qapi/qapi-visit-core.o
CC qapi/qapi-dealloc-visitor.o
CC qapi/qobject-input-visitor.o
CC qapi/qobject-output-visitor.o
CC qapi/qmp-registry.o
CC qapi/qmp-dispatch.o
CC qapi/string-input-visitor.o
CC qapi/string-output-visitor.o
CC qapi/opts-visitor.o
CC qapi/qapi-clone-visitor.o
CC qapi/qmp-event.o
CC qobject/qnull.o
CC qapi/qapi-util.o
CC qobject/qint.o
CC qobject/qstring.o
CC qobject/qdict.o
CC qobject/qfloat.o
CC qobject/qlist.o
CC qobject/qbool.o
CC qobject/qjson.o
CC qobject/qobject.o
CC qobject/json-lexer.o
CC qobject/json-parser.o
CC trace/simple.o
CC trace/control.o
CC qobject/json-streamer.o
CC trace/qmp.o
CC util/osdep.o
CC util/cutils.o
CC util/qemu-timer-common.o
CC util/bufferiszero.o
CC util/lockcnt.o
CC util/unicode.o
CC util/async.o
CC util/aiocb.o
CC util/thread-pool.o
CC util/main-loop.o
CC util/iohandler.o
CC util/aio-win32.o
CC util/qemu-timer.o
CC util/event_notifier-win32.o
CC util/qemu-thread-win32.o
CC util/oslib-win32.o
CC util/envlist.o
CC util/path.o
CC util/module.o
CC util/host-utils.o
CC util/bitmap.o
CC util/bitops.o
CC util/hbitmap.o
CC util/fifo8.o
CC util/error.o
CC util/acl.o
CC util/qemu-error.o
CC util/id.o
CC util/iov.o
CC util/qemu-config.o
CC util/uri.o
CC util/notify.o
CC util/qemu-sockets.o
CC util/qemu-option.o
CC util/qemu-progress.o
CC util/keyval.o
CC util/crc32c.o
CC util/hexdump.o
CC util/uuid.o
CC util/throttle.o
CC util/readline.o
CC util/getauxval.o
CC util/rcu.o
CC util/qemu-coroutine.o
CC util/qemu-coroutine-lock.o
CC util/qemu-coroutine-io.o
CC util/qemu-coroutine-sleep.o
CC util/coroutine-win32.o
CC util/buffer.o
CC util/timed-average.o
CC util/base64.o
CC util/log.o
CC util/qht.o
CC util/qdist.o
CC util/range.o
CC util/systemd.o
CC util/trace.o
CC trace-root.o
CC crypto/trace.o
CC io/trace.o
CC migration/trace.o
CC block/trace.o
CC backends/trace.o
CC chardev/trace.o
CC hw/block/trace.o
CC hw/block/dataplane/trace.o
CC hw/intc/trace.o
CC hw/char/trace.o
CC hw/net/trace.o
CC hw/virtio/trace.o
CC hw/audio/trace.o
CC hw/misc/trace.o
CC hw/usb/trace.o
CC hw/scsi/trace.o
CC hw/nvram/trace.o
CC hw/display/trace.o
CC hw/input/trace.o
CC hw/timer/trace.o
CC hw/dma/trace.o
CC hw/sparc/trace.o
CC hw/sd/trace.o
CC hw/isa/trace.o
CC hw/mem/trace.o
CC hw/i386/trace.o
CC hw/i386/xen/trace.o
CC hw/pci/trace.o
CC hw/ppc/trace.o
CC hw/9pfs/trace.o
CC hw/s390x/trace.o
CC hw/vfio/trace.o
CC hw/acpi/trace.o
CC hw/arm/trace.o
CC hw/alpha/trace.o
CC hw/xen/trace.o
CC ui/trace.o
CC audio/trace.o
CC net/trace.o
CC target/arm/trace.o
CC target/i386/trace.o
CC target/mips/trace.o
CC target/sparc/trace.o
CC target/ppc/trace.o
CC target/s390x/trace.o
CC qom/trace.o
CC linux-user/trace.o
CC qapi/trace.o
CC crypto/pbkdf-stub.o
CC stubs/arch-query-cpu-model-expansion.o
CC stubs/arch-query-cpu-def.o
CC stubs/arch-query-cpu-model-comparison.o
CC stubs/arch-query-cpu-model-baseline.o
CC stubs/bdrv-next-monitor-owned.o
CC stubs/blk-commit-all.o
CC stubs/blockdev-close-all-bdrv-states.o
CC stubs/clock-warp.o
CC stubs/cpu-get-clock.o
CC stubs/cpu-get-icount.o
CC stubs/dump.o
CC stubs/error-printf.o
CC stubs/fdset.o
CC stubs/gdbstub.o
CC stubs/get-vm-name.o
CC stubs/iothread.o
CC stubs/iothread-lock.o
CC stubs/is-daemonized.o
CC stubs/machine-init-done.o
CC stubs/migr-blocker.o
CC stubs/monitor.o
CC stubs/notify-event.o
CC stubs/qtest.o
CC stubs/replay.o
CC stubs/runstate-check.o
CC stubs/set-fd-handler.o
CC stubs/slirp.o
CC stubs/sysbus.o
CC stubs/trace-control.o
CC stubs/uuid.o
CC stubs/vm-stop.o
CC stubs/vmstate.o
CC stubs/fd-register.o
CC stubs/qmp_pc_dimm_device_list.o
CC stubs/target-monitor-defs.o
CC stubs/target-get-monitor-def.o
CC stubs/pc_madt_cpu_entry.o
CC stubs/vmgenid.o
CC stubs/xen-common.o
CC stubs/xen-hvm.o
GEN qemu-img-cmds.h
CC block.o
CC blockjob.o
CC qemu-io-cmds.o
CC replication.o
CC block/raw-format.o
CC block/qcow.o
CC block/vdi.o
CC block/vmdk.o
CC block/cloop.o
CC block/bochs.o
CC block/vpc.o
CC block/vvfat.o
CC block/dmg.o
CC block/qcow2.o
CC block/qcow2-refcount.o
CC block/qcow2-cluster.o
CC block/qcow2-cache.o
CC block/qcow2-snapshot.o
CC block/qed.o
CC block/qed-l2-cache.o
CC block/qed-gencb.o
CC block/qed-cluster.o
CC block/qed-check.o
CC block/vhdx.o
CC block/qed-table.o
CC block/vhdx-endian.o
CC block/vhdx-log.o
CC block/quorum.o
CC block/parallels.o
CC block/blkverify.o
CC block/blkdebug.o
CC block/blkreplay.o
CC block/block-backend.o
CC block/snapshot.o
CC block/qapi.o
CC block/file-win32.o
CC block/win32-aio.o
CC block/null.o
CC block/mirror.o
CC block/commit.o
CC block/throttle-groups.o
CC block/io.o
CC block/nbd.o
CC block/nbd-client.o
CC block/sheepdog.o
CC block/accounting.o
CC block/backup.o
CC block/dirty-bitmap.o
CC block/write-threshold.o
CC block/replication.o
CC block/crypto.o
CC nbd/server.o
CC nbd/client.o
CC nbd/common.o
CC block/curl.o
CC block/ssh.o
CC block/dmg-bz2.o
CC crypto/init.o
CC crypto/hash.o
CC crypto/hash-nettle.o
CC crypto/hmac.o
CC crypto/aes.o
CC crypto/hmac-nettle.o
CC crypto/desrfb.o
CC crypto/cipher.o
CC crypto/tlscredsanon.o
CC crypto/tlscreds.o
CC crypto/tlssession.o
CC crypto/tlscredsx509.o
CC crypto/secret.o
CC crypto/random-gnutls.o
CC crypto/pbkdf.o
CC crypto/pbkdf-nettle.o
CC crypto/ivgen.o
CC crypto/ivgen-essiv.o
CC crypto/ivgen-plain.o
CC crypto/ivgen-plain64.o
CC crypto/afsplit.o
CC crypto/xts.o
CC crypto/block.o
CC crypto/block-qcow.o
CC io/channel.o
CC crypto/block-luks.o
CC io/channel-buffer.o
CC io/channel-command.o
CC io/channel-file.o
CC io/channel-tls.o
CC io/channel-socket.o
CC io/channel-websock.o
CC io/channel-watch.o
CC io/channel-util.o
CC io/task.o
CC io/dns-resolver.o
CC qom/object.o
CC qom/container.o
CC qom/qom-qobject.o
CC qom/object_interfaces.o
CC qemu-io.o
CC blockdev.o
CC iothread.o
CC blockdev-nbd.o
CC device-hotplug.o
CC qdev-monitor.o
CC accel.o
CC os-win32.o
CC bt-host.o
CC bt-vhci.o
CC dma-helpers.o
CC vl.o
CC tpm.o
CC device_tree.o
CC qmp-marshal.o
CC qmp.o
CC hmp.o
CC cpus-common.o
CC audio/audio.o
CC audio/noaudio.o
CC audio/wavaudio.o
CC audio/mixeng.o
CC audio/sdlaudio.o
CC audio/dsoundaudio.o
CC audio/audio_win_int.o
CC audio/wavcapture.o
CC backends/rng-egd.o
CC backends/rng.o
CC backends/tpm.o
CC backends/hostmem.o
CC backends/hostmem-ram.o
CC backends/cryptodev.o
CC backends/cryptodev-builtin.o
CC chardev/msmouse.o
CC block/stream.o
CC chardev/wctablet.o
CC chardev/testdev.o
CC disas/arm.o
CXX disas/arm-a64.o
CC disas/i386.o
CXX disas/libvixl/vixl/utils.o
CXX disas/libvixl/vixl/compiler-intrinsics.o
CXX disas/libvixl/vixl/a64/instructions-a64.o
CXX disas/libvixl/vixl/a64/decoder-a64.o
CXX disas/libvixl/vixl/a64/disasm-a64.o
CC hw/acpi/core.o
CC hw/acpi/pcihp.o
CC hw/acpi/piix4.o
CC hw/acpi/ich9.o
CC hw/acpi/tco.o
CC hw/acpi/cpu_hotplug.o
CC hw/acpi/cpu.o
CC hw/acpi/memory_hotplug.o
CC hw/acpi/nvdimm.o
CC hw/acpi/vmgenid.o
CC hw/acpi/acpi_interface.o
CC hw/acpi/bios-linker-loader.o
CC hw/acpi/aml-build.o
CC hw/acpi/ipmi.o
CC hw/acpi/acpi-stub.o
CC hw/acpi/ipmi-stub.o
CC hw/audio/sb16.o
CC hw/audio/es1370.o
CC hw/audio/ac97.o
CC hw/audio/fmopl.o
CC hw/audio/gus.o
CC hw/audio/adlib.o
CC hw/audio/gusemu_hal.o
CC hw/audio/cs4231a.o
CC hw/audio/pcspk.o
CC hw/audio/intel-hda.o
CC hw/audio/hda-codec.o
CC hw/audio/gusemu_mixer.o
CC hw/audio/wm8750.o
CC hw/audio/pl041.o
CC hw/audio/lm4549.o
CC hw/audio/marvell_88w8618.o
CC hw/block/block.o
CC hw/audio/soundhw.o
CC hw/block/cdrom.o
CC hw/block/hd-geometry.o
CC hw/block/m25p80.o
CC hw/block/fdc.o
CC hw/block/nand.o
CC hw/block/pflash_cfi01.o
CC hw/block/ecc.o
CC hw/block/pflash_cfi02.o
CC hw/block/onenand.o
CC hw/block/nvme.o
CC hw/bt/core.o
CC hw/bt/l2cap.o
CC hw/bt/hci.o
CC hw/bt/sdp.o
CC hw/bt/hci-csr.o
CC hw/char/ipoctal232.o
CC hw/char/parallel.o
CC hw/bt/hid.o
CC hw/char/pl011.o
CC hw/char/serial.o
CC hw/char/serial-isa.o
CC hw/char/serial-pci.o
CC hw/char/virtio-console.o
CC hw/char/cadence_uart.o
CC hw/char/imx_serial.o
CC hw/char/debugcon.o
CC hw/core/qdev.o
CC hw/core/qdev-properties.o
CC hw/core/reset.o
CC hw/core/bus.o
CC hw/core/fw-path-provider.o
CC hw/core/irq.o
CC hw/core/hotplug.o
CC hw/core/nmi.o
CC hw/core/ptimer.o
CC hw/core/sysbus.o
CC hw/core/machine.o
CC hw/core/loader.o
CC hw/core/qdev-properties-system.o
CC hw/core/register.o
CC hw/core/or-irq.o
CC hw/core/platform-bus.o
CC hw/cpu/core.o
CC hw/display/cirrus_vga.o
CC hw/display/ads7846.o
CC hw/display/ssd0303.o
CC hw/display/pl110.o
CC hw/display/ssd0323.o
CC hw/display/vga-isa.o
CC hw/display/vmware_vga.o
CC hw/display/vga-pci.o
CC hw/display/blizzard.o
CC hw/display/exynos4210_fimd.o
CC hw/display/tc6393xb.o
CC hw/display/framebuffer.o
CC hw/dma/pl330.o
CC hw/dma/pl080.o
CC hw/dma/i8257.o
CC hw/dma/xlnx-zynq-devcfg.o
CC hw/gpio/max7310.o
CC hw/gpio/pl061.o
CC hw/gpio/gpio_key.o
CC hw/gpio/zaurus.o
CC hw/i2c/core.o
CC hw/i2c/smbus.o
CC hw/i2c/i2c-ddc.o
CC hw/i2c/smbus_eeprom.o
CC hw/i2c/versatile_i2c.o
CC hw/i2c/pm_smbus.o
CC hw/i2c/smbus_ich9.o
CC hw/i2c/bitbang_i2c.o
CC hw/i2c/exynos4210_i2c.o
CC hw/i2c/imx_i2c.o
CC hw/i2c/aspeed_i2c.o
CC hw/ide/core.o
CC hw/ide/atapi.o
CC hw/ide/qdev.o
CC hw/ide/isa.o
CC hw/ide/pci.o
CC hw/ide/microdrive.o
CC hw/ide/piix.o
CC hw/ide/ich.o
CC hw/ide/ahci.o
CC hw/input/lm832x.o
CC hw/input/hid.o
CC hw/input/pckbd.o
CC hw/input/ps2.o
CC hw/input/pl050.o
CC hw/input/tsc2005.o
CC hw/input/stellaris_input.o
CC hw/input/virtio-input.o
CC hw/input/vmmouse.o
CC hw/input/virtio-input-hid.o
CC hw/intc/i8259.o
CC hw/intc/i8259_common.o
CC hw/intc/pl190.o
CC hw/intc/imx_avic.o
CC hw/intc/realview_gic.o
CC hw/intc/ioapic_common.o
CC hw/intc/arm_gic_common.o
CC hw/intc/arm_gic.o
CC hw/intc/arm_gicv2m.o
CC hw/intc/arm_gicv3.o
CC hw/intc/arm_gicv3_common.o
CC hw/intc/arm_gicv3_dist.o
CC hw/intc/arm_gicv3_redist.o
CC hw/intc/arm_gicv3_its_common.o
CC hw/ipack/ipack.o
CC hw/intc/intc.o
CC hw/ipack/tpci200.o
CC hw/ipmi/ipmi.o
CC hw/ipmi/ipmi_bmc_sim.o
CC hw/ipmi/ipmi_bmc_extern.o
CC hw/ipmi/isa_ipmi_kcs.o
CC hw/isa/isa-bus.o
CC hw/ipmi/isa_ipmi_bt.o
CC hw/isa/apm.o
CC hw/mem/pc-dimm.o
CC hw/mem/nvdimm.o
CC hw/misc/max111x.o
CC hw/misc/applesmc.o
CC hw/misc/tmp105.o
CC hw/misc/tmp421.o
CC hw/misc/debugexit.o
CC hw/misc/sga.o
CC hw/misc/pc-testdev.o
CC hw/misc/pci-testdev.o
CC hw/misc/unimp.o
CC hw/misc/arm_integrator_debug.o
CC hw/misc/arm_l2x0.o
CC hw/misc/a9scu.o
CC hw/misc/arm11scu.o
CC hw/net/ne2000.o
CC hw/net/eepro100.o
CC hw/net/pcnet-pci.o
CC hw/net/pcnet.o
CC hw/net/e1000.o
CC hw/net/e1000x_common.o
CC hw/net/net_rx_pkt.o
CC hw/net/net_tx_pkt.o
CC hw/net/e1000e.o
CC hw/net/e1000e_core.o
CC hw/net/rtl8139.o
CC hw/net/vmxnet3.o
CC hw/net/smc91c111.o
CC hw/net/lan9118.o
CC hw/net/ne2000-isa.o
CC hw/net/xgmac.o
CC hw/net/allwinner_emac.o
CC hw/net/imx_fec.o
CC hw/net/stellaris_enet.o
CC hw/net/cadence_gem.o
CC hw/net/ftgmac100.o
CC hw/net/rocker/rocker.o
CC hw/net/rocker/rocker_desc.o
CC hw/net/rocker/rocker_fp.o
CC hw/net/rocker/rocker_world.o
CC hw/net/rocker/rocker_of_dpa.o
CC hw/nvram/eeprom93xx.o
CC hw/nvram/fw_cfg.o
CC hw/nvram/chrp_nvram.o
CC hw/pci-bridge/pci_bridge_dev.o
CC hw/pci-bridge/pcie_root_port.o
CC hw/pci-bridge/gen_pcie_root_port.o
CC hw/pci-bridge/pci_expander_bridge.o
CC hw/pci-bridge/xio3130_upstream.o
CC hw/pci-bridge/ioh3420.o
CC hw/pci-bridge/xio3130_downstream.o
CC hw/pci-bridge/i82801b11.o
CC hw/pci-host/pam.o
CC hw/pci-host/versatile.o
CC hw/pci-host/piix.o
CC hw/pci-host/q35.o
CC hw/pci-host/gpex.o
CC hw/pci/pci.o
CC hw/pci/pci_bridge.o
CC hw/pci/msix.o
CC hw/pci/msi.o
CC hw/pci/shpc.o
CC hw/pci/pci_host.o
CC hw/pci/slotid_cap.o
CC hw/pci/pcie_host.o
CC hw/pci/pcie.o
CC hw/pci/pcie_aer.o
CC hw/pci/pcie_port.o
CC hw/pci/pci-stub.o
CC hw/pcmcia/pcmcia.o
CC hw/scsi/scsi-disk.o
CC hw/scsi/scsi-generic.o
CC hw/scsi/scsi-bus.o
CC hw/scsi/lsi53c895a.o
CC hw/scsi/mptsas.o
CC hw/scsi/mptendian.o
CC hw/scsi/mptconfig.o
CC hw/scsi/megasas.o
CC hw/scsi/esp.o
CC hw/sd/pl181.o
CC hw/scsi/esp-pci.o
CC hw/scsi/vmw_pvscsi.o
CC hw/sd/sd.o
CC hw/sd/ssi-sd.o
CC hw/sd/core.o
CC hw/sd/sdhci.o
CC hw/smbios/smbios.o
CC hw/smbios/smbios_type_38.o
CC hw/smbios/smbios_type_38-stub.o
CC hw/smbios/smbios-stub.o
CC hw/ssi/pl022.o
CC hw/ssi/xilinx_spips.o
CC hw/ssi/ssi.o
CC hw/ssi/aspeed_smc.o
CC hw/ssi/stm32f2xx_spi.o
CC hw/timer/arm_timer.o
CC hw/timer/arm_mptimer.o
CC hw/timer/armv7m_systick.o
CC hw/timer/a9gtimer.o
CC hw/timer/cadence_ttc.o
CC hw/timer/ds1338.o
CC hw/timer/hpet.o
CC hw/timer/i8254_common.o
CC hw/timer/i8254.o
CC hw/timer/pl031.o
CC hw/timer/twl92230.o
CC hw/timer/imx_epit.o
CC hw/timer/imx_gpt.o
CC hw/timer/stm32f2xx_timer.o
CC hw/timer/aspeed_timer.o
CC hw/tpm/tpm_tis.o
CC hw/usb/core.o
CC hw/usb/combined-packet.o
CC hw/usb/bus.o
CC hw/usb/libhw.o
CC hw/usb/desc.o
CC hw/usb/hcd-uhci.o
CC hw/usb/hcd-ohci.o
CC hw/usb/hcd-ehci.o
CC hw/usb/desc-msos.o
CC hw/usb/hcd-ehci-pci.o
CC hw/usb/hcd-ehci-sysbus.o
CC hw/usb/hcd-xhci.o
CC hw/usb/hcd-xhci-nec.o
CC hw/usb/hcd-musb.o
CC hw/usb/dev-hub.o
CC hw/usb/dev-hid.o
CC hw/usb/dev-wacom.o
CC hw/usb/dev-storage.o
CC hw/usb/dev-uas.o
CC hw/usb/dev-audio.o
CC hw/usb/dev-serial.o
CC hw/usb/dev-smartcard-reader.o
CC hw/usb/dev-network.o
CC hw/usb/dev-bluetooth.o
CC hw/usb/host-stub.o
CC hw/virtio/virtio-bus.o
CC hw/virtio/virtio-pci.o
CC hw/virtio/virtio-rng.o
CC hw/virtio/virtio-mmio.o
CC hw/virtio/vhost-stub.o
CC hw/watchdog/wdt_i6300esb.o
CC hw/watchdog/watchdog.o
CC hw/watchdog/wdt_ib700.o
CC hw/watchdog/wdt_aspeed.o
CC migration/migration.o
CC migration/socket.o
CC migration/fd.o
CC migration/exec.o
CC migration/tls.o
CC migration/channel.o
CC migration/savevm.o
CC migration/colo-failover.o
CC migration/colo.o
CC migration/colo-comm.o
CC migration/vmstate.o
CC migration/vmstate-types.o
CC migration/page_cache.o
CC migration/qemu-file.o
CC migration/global_state.o
CC migration/qemu-file-channel.o
CC migration/postcopy-ram.o
CC migration/xbzrle.o
CC migration/qjson.o
CC migration/block.o
CC net/checksum.o
CC net/queue.o
CC net/net.o
CC net/util.o
CC net/hub.o
CC net/socket.o
CC net/dump.o
CC net/eth.o
CC net/slirp.o
CC net/filter.o
CC net/filter-buffer.o
CC net/filter-mirror.o
CC net/colo-compare.o
CC net/colo.o
CC net/filter-rewriter.o
CC net/filter-replay.o
CC qom/cpu.o
CC net/tap-win32.o
CC replay/replay-internal.o
CC replay/replay.o
CC replay/replay-events.o
CC replay/replay-time.o
CC replay/replay-input.o
CC replay/replay-char.o
CC replay/replay-net.o
CC replay/replay-snapshot.o
CC replay/replay-audio.o
CC slirp/cksum.o
CC slirp/if.o
CC slirp/ip_icmp.o
CC slirp/ip6_icmp.o
CC slirp/ip6_input.o
CC slirp/ip6_output.o
CC slirp/ip_input.o
CC slirp/ip_output.o
CC slirp/dnssearch.o
CC slirp/dhcpv6.o
CC slirp/slirp.o
CC slirp/mbuf.o
CC slirp/sbuf.o
CC slirp/misc.o
CC slirp/socket.o
CC slirp/tcp_input.o
CC slirp/tcp_output.o
CC slirp/tcp_subr.o
CC slirp/tcp_timer.o
CC slirp/udp.o
CC slirp/udp6.o
CC slirp/bootp.o
CC slirp/tftp.o
CC slirp/arp_table.o
CC slirp/ndp_table.o
CC slirp/ncsi.o
CC ui/keymaps.o
CC ui/console.o
CC ui/cursor.o
CC ui/qemu-pixman.o
CC ui/input.o
CC ui/input-keymap.o
CC ui/input-legacy.o
CC ui/sdl.o
CC ui/sdl_zoom.o
CC ui/x_keymap.o
CC ui/vnc.o
CC ui/vnc-enc-zlib.o
CC ui/vnc-enc-hextile.o
CC ui/vnc-enc-tight.o
CC ui/vnc-palette.o
CC ui/vnc-enc-zrle.o
CC ui/vnc-auth-vencrypt.o
CC ui/vnc-ws.o
CC ui/gtk.o
CC ui/vnc-jobs.o
CC chardev/char.o
CC chardev/char-console.o
CC chardev/char-fe.o
CC chardev/char-file.o
CC chardev/char-io.o
CC chardev/char-mux.o
CC chardev/char-null.o
CC chardev/char-ringbuf.o
CC chardev/char-pipe.o
CC chardev/char-serial.o
CC chardev/char-socket.o
CC chardev/char-stdio.o
CC chardev/char-udp.o
CC chardev/char-win.o
CC chardev/char-win-stdio.o
CC qga/commands.o
CC qga/guest-agent-command-state.o
CC qga/main.o
CC qga/commands-win32.o
AS optionrom/multiboot.o
AS optionrom/linuxboot.o
CC optionrom/linuxboot_dma.o
AS optionrom/kvmvapic.o
BUILD optionrom/multiboot.img
BUILD optionrom/linuxboot.img
BUILD optionrom/linuxboot_dma.img
BUILD optionrom/kvmvapic.img
BUILD optionrom/multiboot.raw
BUILD optionrom/linuxboot.raw
CC qga/channel-win32.o
BUILD optionrom/linuxboot_dma.raw
CC qga/service-win32.o
BUILD optionrom/kvmvapic.raw
SIGN optionrom/linuxboot_dma.bin
CC qga/vss-win32.o
CC qga/qapi-generated/qga-qapi-types.o
CC qga/qapi-generated/qga-qapi-visit.o
CC qga/qapi-generated/qga-qmp-marshal.o
SIGN optionrom/kvmvapic.bin
SIGN optionrom/multiboot.bin
SIGN optionrom/linuxboot.bin
AR libqemuutil.a
AR libqemustub.a
CC qemu-img.o
LINK qemu-io.exe
LINK qemu-ga.exe
LINK qemu-img.exe
GEN aarch64-softmmu/hmp-commands.h
GEN aarch64-softmmu/hmp-commands-info.h
GEN aarch64-softmmu/config-target.h
GEN x86_64-softmmu/hmp-commands-info.h
GEN x86_64-softmmu/config-target.h
GEN x86_64-softmmu/hmp-commands.h
CC aarch64-softmmu/exec.o
CC aarch64-softmmu/translate-common.o
CC aarch64-softmmu/translate-all.o
CC aarch64-softmmu/cpu-exec.o
CC aarch64-softmmu/tcg/tcg-op.o
CC aarch64-softmmu/cpu-exec-common.o
CC aarch64-softmmu/tcg/tcg.o
CC aarch64-softmmu/tcg/optimize.o
CC x86_64-softmmu/exec.o
CC x86_64-softmmu/translate-all.o
CC x86_64-softmmu/cpu-exec.o
CC x86_64-softmmu/translate-common.o
CC aarch64-softmmu/tcg/tcg-common.o
CC aarch64-softmmu/fpu/softfloat.o
CC aarch64-softmmu/disas.o
CC aarch64-softmmu/tcg-runtime.o
CC x86_64-softmmu/cpu-exec-common.o
CC x86_64-softmmu/tcg/tcg.o
CC x86_64-softmmu/tcg/tcg-op.o
GEN aarch64-softmmu/gdbstub-xml.c
CC aarch64-softmmu/hax-stub.o
CC aarch64-softmmu/kvm-stub.o
CC x86_64-softmmu/tcg/optimize.o
CC aarch64-softmmu/arch_init.o
CC aarch64-softmmu/cpus.o
CC x86_64-softmmu/tcg/tcg-common.o
CC aarch64-softmmu/monitor.o
CC aarch64-softmmu/gdbstub.o
CC x86_64-softmmu/fpu/softfloat.o
CC x86_64-softmmu/disas.o
CC aarch64-softmmu/balloon.o
CC aarch64-softmmu/numa.o
CC aarch64-softmmu/ioport.o
CC aarch64-softmmu/qtest.o
CC x86_64-softmmu/tcg-runtime.o
CC aarch64-softmmu/bootdevice.o
CC aarch64-softmmu/memory.o
GEN x86_64-softmmu/gdbstub-xml.c
CC aarch64-softmmu/cputlb.o
CC x86_64-softmmu/kvm-stub.o
CC aarch64-softmmu/memory_mapping.o
CC x86_64-softmmu/arch_init.o
CC aarch64-softmmu/dump.o
CC aarch64-softmmu/migration/ram.o
CC aarch64-softmmu/hw/adc/stm32f2xx_adc.o
CC x86_64-softmmu/cpus.o
CC aarch64-softmmu/hw/block/virtio-blk.o
CC x86_64-softmmu/monitor.o
CC aarch64-softmmu/hw/block/dataplane/virtio-blk.o
CC x86_64-softmmu/gdbstub.o
CC aarch64-softmmu/hw/char/exynos4210_uart.o
CC aarch64-softmmu/hw/char/omap_uart.o
CC aarch64-softmmu/hw/char/digic-uart.o
CC x86_64-softmmu/balloon.o
CC x86_64-softmmu/ioport.o
CC x86_64-softmmu/numa.o
CC aarch64-softmmu/hw/char/stm32f2xx_usart.o
CC x86_64-softmmu/qtest.o
CC aarch64-softmmu/hw/char/bcm2835_aux.o
CC x86_64-softmmu/bootdevice.o
CC x86_64-softmmu/cputlb.o
CC x86_64-softmmu/memory.o
CC aarch64-softmmu/hw/char/virtio-serial-bus.o
CC aarch64-softmmu/hw/core/generic-loader.o
CC x86_64-softmmu/memory_mapping.o
CC x86_64-softmmu/dump.o
CC aarch64-softmmu/hw/cpu/arm11mpcore.o
CC x86_64-softmmu/migration/ram.o
CC aarch64-softmmu/hw/core/null-machine.o
CC aarch64-softmmu/hw/cpu/realview_mpcore.o
CC x86_64-softmmu/hw/block/virtio-blk.o
CC x86_64-softmmu/hw/block/dataplane/virtio-blk.o
CC aarch64-softmmu/hw/cpu/a9mpcore.o
CC x86_64-softmmu/hw/char/virtio-serial-bus.o
CC x86_64-softmmu/hw/core/generic-loader.o
CC aarch64-softmmu/hw/cpu/a15mpcore.o
CC x86_64-softmmu/hw/core/null-machine.o
CC x86_64-softmmu/hw/display/virtio-gpu.o
CC aarch64-softmmu/hw/display/omap_dss.o
CC x86_64-softmmu/hw/display/vga.o
CC aarch64-softmmu/hw/display/omap_lcdc.o
CC x86_64-softmmu/hw/display/virtio-gpu-3d.o
CC aarch64-softmmu/hw/display/bcm2835_fb.o
CC aarch64-softmmu/hw/display/pxa2xx_lcd.o
CC x86_64-softmmu/hw/display/virtio-gpu-pci.o
CC aarch64-softmmu/hw/display/virtio-gpu.o
CC x86_64-softmmu/hw/display/virtio-vga.o
CC aarch64-softmmu/hw/display/vga.o
CC x86_64-softmmu/hw/intc/apic.o
CC x86_64-softmmu/hw/intc/apic_common.o
CC aarch64-softmmu/hw/display/virtio-gpu-3d.o
CC x86_64-softmmu/hw/intc/ioapic.o
CC x86_64-softmmu/hw/isa/lpc_ich9.o
CC aarch64-softmmu/hw/display/dpcd.o
CC x86_64-softmmu/hw/misc/vmport.o
CC aarch64-softmmu/hw/display/virtio-gpu-pci.o
CC x86_64-softmmu/hw/misc/pvpanic.o
CC aarch64-softmmu/hw/display/xlnx_dp.o
CC aarch64-softmmu/hw/dma/xlnx_dpdma.o
CC aarch64-softmmu/hw/dma/omap_dma.o
CC x86_64-softmmu/hw/misc/edu.o
CC aarch64-softmmu/hw/dma/soc_dma.o
CC aarch64-softmmu/hw/dma/pxa2xx_dma.o
CC x86_64-softmmu/hw/misc/mmio_interface.o
CC aarch64-softmmu/hw/dma/bcm2835_dma.o
CC x86_64-softmmu/hw/net/virtio-net.o
CC x86_64-softmmu/hw/net/vhost_net.o
CC x86_64-softmmu/hw/scsi/virtio-scsi.o
CC aarch64-softmmu/hw/gpio/omap_gpio.o
CC x86_64-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC aarch64-softmmu/hw/gpio/imx_gpio.o
CC aarch64-softmmu/hw/gpio/bcm2835_gpio.o
CC x86_64-softmmu/hw/timer/mc146818rtc.o
CC x86_64-softmmu/hw/virtio/virtio.o
CC x86_64-softmmu/hw/virtio/virtio-balloon.o
CC aarch64-softmmu/hw/i2c/omap_i2c.o
CC aarch64-softmmu/hw/input/pxa2xx_keypad.o
CC aarch64-softmmu/hw/input/tsc210x.o
CC x86_64-softmmu/hw/virtio/virtio-crypto.o
CC aarch64-softmmu/hw/intc/armv7m_nvic.o
CC aarch64-softmmu/hw/intc/exynos4210_gic.o
CC x86_64-softmmu/hw/virtio/virtio-crypto-pci.o
CC aarch64-softmmu/hw/intc/exynos4210_combiner.o
CC x86_64-softmmu/hw/i386/multiboot.o
CC aarch64-softmmu/hw/intc/omap_intc.o
CC x86_64-softmmu/hw/i386/pc.o
CC x86_64-softmmu/hw/i386/pc_piix.o
CC x86_64-softmmu/hw/i386/pc_q35.o
CC x86_64-softmmu/hw/i386/pc_sysfw.o
CC x86_64-softmmu/hw/i386/x86-iommu.o
CC aarch64-softmmu/hw/intc/bcm2835_ic.o
CC x86_64-softmmu/hw/i386/intel_iommu.o
CC x86_64-softmmu/hw/i386/amd_iommu.o
CC x86_64-softmmu/hw/i386/kvmvapic.o
CC aarch64-softmmu/hw/intc/bcm2836_control.o
CC x86_64-softmmu/hw/i386/pci-assign-load-rom.o
CC x86_64-softmmu/hw/i386/acpi-build.o
CC aarch64-softmmu/hw/intc/allwinner-a10-pic.o
CC aarch64-softmmu/hw/intc/aspeed_vic.o
CC x86_64-softmmu/target/i386/translate.o
CC aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o
CC x86_64-softmmu/target/i386/helper.o
CC x86_64-softmmu/target/i386/cpu.o
CC x86_64-softmmu/target/i386/bpt_helper.o
CC aarch64-softmmu/hw/misc/arm_sysctl.o
CC x86_64-softmmu/target/i386/excp_helper.o
CC aarch64-softmmu/hw/misc/cbus.o
CC x86_64-softmmu/target/i386/cc_helper.o
CC x86_64-softmmu/target/i386/fpu_helper.o
CC x86_64-softmmu/target/i386/int_helper.o
CC aarch64-softmmu/hw/misc/exynos4210_pmu.o
CC x86_64-softmmu/target/i386/svm_helper.o
CC x86_64-softmmu/target/i386/smm_helper.o
CC x86_64-softmmu/target/i386/mem_helper.o
CC x86_64-softmmu/target/i386/misc_helper.o
CC x86_64-softmmu/target/i386/seg_helper.o
CC aarch64-softmmu/hw/misc/exynos4210_clk.o
CC aarch64-softmmu/hw/misc/imx31_ccm.o
CC x86_64-softmmu/target/i386/mpx_helper.o
CC x86_64-softmmu/target/i386/machine.o
CC x86_64-softmmu/target/i386/gdbstub.o
CC x86_64-softmmu/target/i386/arch_memory_mapping.o
CC aarch64-softmmu/hw/misc/imx_ccm.o
CC x86_64-softmmu/target/i386/arch_dump.o
CC aarch64-softmmu/hw/misc/imx25_ccm.o
CC x86_64-softmmu/target/i386/kvm-stub.o
CC x86_64-softmmu/target/i386/monitor.o
CC aarch64-softmmu/hw/misc/imx6_ccm.o
CC x86_64-softmmu/target/i386/hax-all.o
CC x86_64-softmmu/target/i386/hax-mem.o
CC aarch64-softmmu/hw/misc/imx6_src.o
CC aarch64-softmmu/hw/misc/mst_fpga.o
CC aarch64-softmmu/hw/misc/omap_clk.o
CC x86_64-softmmu/target/i386/hax-windows.o
CC aarch64-softmmu/hw/misc/omap_gpmc.o
CC aarch64-softmmu/hw/misc/omap_l4.o
GEN trace/generated-helpers.c
CC aarch64-softmmu/hw/misc/omap_sdrc.o
CC x86_64-softmmu/trace/control-target.o
CC aarch64-softmmu/hw/misc/omap_tap.o
CC aarch64-softmmu/hw/misc/bcm2835_mbox.o
CC aarch64-softmmu/hw/misc/bcm2835_property.o
CC x86_64-softmmu/gdbstub-xml.o
CC aarch64-softmmu/hw/misc/bcm2835_rng.o
CC aarch64-softmmu/hw/misc/zynq_slcr.o
CC aarch64-softmmu/hw/misc/zynq-xadc.o
CC aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o
CC x86_64-softmmu/trace/generated-helpers.o
CC aarch64-softmmu/hw/misc/edu.o
CC aarch64-softmmu/hw/misc/auxbus.o
CC aarch64-softmmu/hw/misc/aspeed_scu.o
CC aarch64-softmmu/hw/misc/aspeed_sdmc.o
CC aarch64-softmmu/hw/misc/mmio_interface.o
CC aarch64-softmmu/hw/net/virtio-net.o
CC aarch64-softmmu/hw/net/vhost_net.o
CC aarch64-softmmu/hw/pcmcia/pxa2xx.o
CC aarch64-softmmu/hw/scsi/virtio-scsi.o
CC aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC aarch64-softmmu/hw/sd/omap_mmc.o
CC aarch64-softmmu/hw/sd/pxa2xx_mmci.o
CC aarch64-softmmu/hw/sd/bcm2835_sdhost.o
CC aarch64-softmmu/hw/ssi/omap_spi.o
CC aarch64-softmmu/hw/ssi/imx_spi.o
CC aarch64-softmmu/hw/timer/exynos4210_mct.o
CC aarch64-softmmu/hw/timer/exynos4210_rtc.o
CC aarch64-softmmu/hw/timer/exynos4210_pwm.o
CC aarch64-softmmu/hw/timer/omap_gptimer.o
CC aarch64-softmmu/hw/timer/omap_synctimer.o
CC aarch64-softmmu/hw/timer/pxa2xx_timer.o
CC aarch64-softmmu/hw/timer/digic-timer.o
CC aarch64-softmmu/hw/timer/allwinner-a10-pit.o
CC aarch64-softmmu/hw/usb/tusb6010.o
CC aarch64-softmmu/hw/virtio/virtio.o
LINK x86_64-softmmu/qemu-system-x86_64w.exe
CC aarch64-softmmu/hw/virtio/virtio-balloon.o
CC aarch64-softmmu/hw/virtio/virtio-crypto-pci.o
CC aarch64-softmmu/hw/virtio/virtio-crypto.o
CC aarch64-softmmu/hw/arm/boot.o
CC aarch64-softmmu/hw/arm/collie.o
CC aarch64-softmmu/hw/arm/exynos4_boards.o
CC aarch64-softmmu/hw/arm/gumstix.o
CC aarch64-softmmu/hw/arm/highbank.o
CC aarch64-softmmu/hw/arm/digic_boards.o
CC aarch64-softmmu/hw/arm/integratorcp.o
CC aarch64-softmmu/hw/arm/mainstone.o
CC aarch64-softmmu/hw/arm/musicpal.o
CC aarch64-softmmu/hw/arm/nseries.o
CC aarch64-softmmu/hw/arm/palm.o
CC aarch64-softmmu/hw/arm/omap_sx1.o
CC aarch64-softmmu/hw/arm/realview.o
CC aarch64-softmmu/hw/arm/spitz.o
CC aarch64-softmmu/hw/arm/stellaris.o
CC aarch64-softmmu/hw/arm/tosa.o
CC aarch64-softmmu/hw/arm/versatilepb.o
CC aarch64-softmmu/hw/arm/vexpress.o
CC aarch64-softmmu/hw/arm/virt.o
CC aarch64-softmmu/hw/arm/xilinx_zynq.o
CC aarch64-softmmu/hw/arm/z2.o
CC aarch64-softmmu/hw/arm/virt-acpi-build.o
CC aarch64-softmmu/hw/arm/netduino2.o
CC aarch64-softmmu/hw/arm/sysbus-fdt.o
CC aarch64-softmmu/hw/arm/armv7m.o
CC aarch64-softmmu/hw/arm/exynos4210.o
CC aarch64-softmmu/hw/arm/pxa2xx.o
CC aarch64-softmmu/hw/arm/pxa2xx_gpio.o
CC aarch64-softmmu/hw/arm/pxa2xx_pic.o
CC aarch64-softmmu/hw/arm/digic.o
CC aarch64-softmmu/hw/arm/omap2.o
CC aarch64-softmmu/hw/arm/omap1.o
CC aarch64-softmmu/hw/arm/strongarm.o
CC aarch64-softmmu/hw/arm/allwinner-a10.o
CC aarch64-softmmu/hw/arm/cubieboard.o
CC aarch64-softmmu/hw/arm/bcm2835_peripherals.o
CC aarch64-softmmu/hw/arm/bcm2836.o
CC aarch64-softmmu/hw/arm/raspi.o
CC aarch64-softmmu/hw/arm/stm32f205_soc.o
CC aarch64-softmmu/hw/arm/xlnx-ep108.o
CC aarch64-softmmu/hw/arm/xlnx-zynqmp.o
CC aarch64-softmmu/hw/arm/imx25_pdk.o
CC aarch64-softmmu/hw/arm/fsl-imx25.o
CC aarch64-softmmu/hw/arm/fsl-imx31.o
CC aarch64-softmmu/hw/arm/kzm.o
CC aarch64-softmmu/hw/arm/fsl-imx6.o
CC aarch64-softmmu/hw/arm/sabrelite.o
CC aarch64-softmmu/hw/arm/aspeed.o
CC aarch64-softmmu/target/arm/arm-semi.o
CC aarch64-softmmu/hw/arm/aspeed_soc.o
CC aarch64-softmmu/target/arm/machine.o
CC aarch64-softmmu/target/arm/psci.o
CC aarch64-softmmu/target/arm/monitor.o
CC aarch64-softmmu/target/arm/arch_dump.o
CC aarch64-softmmu/target/arm/translate.o
CC aarch64-softmmu/target/arm/kvm-stub.o
CC aarch64-softmmu/target/arm/op_helper.o
CC aarch64-softmmu/target/arm/helper.o
CC aarch64-softmmu/target/arm/cpu.o
CC aarch64-softmmu/target/arm/neon_helper.o
CC aarch64-softmmu/target/arm/iwmmxt_helper.o
CC aarch64-softmmu/target/arm/gdbstub.o
CC aarch64-softmmu/target/arm/cpu64.o
CC aarch64-softmmu/target/arm/translate-a64.o
CC aarch64-softmmu/target/arm/helper-a64.o
CC aarch64-softmmu/target/arm/gdbstub64.o
CC aarch64-softmmu/target/arm/arm-powerctl.o
CC aarch64-softmmu/target/arm/crypto_helper.o
GEN trace/generated-helpers.c
CC aarch64-softmmu/trace/control-target.o
CC aarch64-softmmu/gdbstub-xml.o
CC aarch64-softmmu/trace/generated-helpers.o
LINK aarch64-softmmu/qemu-system-aarch64w.exe
GEN x86_64-softmmu/qemu-system-x86_64.exe
GEN aarch64-softmmu/qemu-system-aarch64.exe
rm -f *.timestamp
make -C tests/tcg clean
make[1]: Entering directory '/var/tmp/qemu-build/tests/tcg'
rm -f *.timestamp
rm -f *~ *.o test-i386.out test-i386.ref \
test-x86_64.log test-x86_64.ref qruncom test_path hello-i386 linux-test testthread sha1-i386 test-i386 test-i386-fprem test-mmap run-test-x86_64
make[1]: Leaving directory '/var/tmp/qemu-build/tests/tcg'
rm -rf tests/check-qdict.exe tests/test-char.exe tests/check-qfloat.exe tests/check-qint.exe tests/check-qstring.exe tests/check-qlist.exe tests/check-qnull.exe tests/check-qjson.exe tests/test-qobject-output-visitor.exe tests/test-clone-visitor.exe tests/test-qobject-input-visitor.exe tests/test-qmp-commands.exe tests/test-string-input-visitor.exe tests/test-string-output-visitor.exe tests/test-qmp-event.exe tests/test-opts-visitor.exe tests/test-coroutine.exe tests/test-visitor-serialization.exe tests/test-iov.exe tests/test-aio.exe tests/test-aio-multithread.exe tests/test-throttle.exe tests/test-thread-pool.exe tests/test-hbitmap.exe tests/test-blockjob.exe tests/test-blockjob-txn.exe tests/test-x86-cpuid.exe tests/test-xbzrle.exe tests/test-cutils.exe tests/test-shift128.exe tests/test-mul64.exe tests/test-int128.exe tests/rcutorture.exe tests/test-rcu-list.exe tests/test-qdist.exe tests/test-qht.exe tests/test-qht-par.exe tests/test-bitops.exe tests/test-bitcnt.exe tests/test-qdev-global-props.exe tests/check-qom-interface.exe tests/check-qom-proplist.exe tests/test-qemu-opts.exe tests/test-keyval.exe tests/test-write-threshold.exe tests/test-crypto-hash.exe tests/test-crypto-hmac.exe tests/test-crypto-cipher.exe tests/test-crypto-secret.exe tests/test-crypto-tlscredsx509.exe tests/test-crypto-tlssession.exe tests/test-timed-average.exe tests/test-io-task.exe tests/test-io-channel-socket.exe tests/test-io-channel-file.exe tests/test-io-channel-tls.exe tests/test-io-channel-command.exe tests/test-io-channel-buffer.exe tests/test-base64.exe tests/test-crypto-pbkdf.exe tests/test-crypto-ivgen.exe tests/test-crypto-afsplit.exe tests/test-crypto-xts.exe tests/test-crypto-block.exe tests/test-logging.exe tests/test-replication.exe tests/test-bufferiszero.exe tests/test-uuid.exe tests/ptimer-test.exe tests/test-qapi-util.exe tests/*.o
rm -rf tests/ac97-test.exe tests/ahci-test.exe tests/bios-tables-test.exe tests/boot-order-test.exe tests/boot-serial-test.exe tests/device-introspect-test.exe tests/display-vga-test.exe tests/drive_del-test.exe tests/ds1338-test.exe tests/e1000-test.exe tests/e1000e-test.exe tests/eepro100-test.exe tests/endianness-test.exe tests/es1370-test.exe tests/fdc-test.exe tests/fw_cfg-test.exe tests/hd-geo-test.exe tests/i440fx-test.exe tests/i82801b11-test.exe tests/ide-test.exe tests/intel-hda-test.exe tests/ioh3420-test.exe tests/ipmi-bt-test.exe tests/ipmi-kcs-test.exe tests/ipoctal232-test.exe tests/m25p80-test.exe tests/ne2000-test.exe tests/numa-test.exe tests/nvme-test.exe tests/pc-cpu-test.exe tests/pcnet-test.exe tests/pnv-xscom-test.exe tests/postcopy-test.exe tests/prom-env-test.exe tests/pvpanic-test.exe tests/pxe-test.exe tests/q35-test.exe tests/qmp-test.exe tests/qom-test.exe tests/rtas-test.exe tests/rtc-test.exe tests/rtl8139-test.exe tests/spapr-phb-test.exe tests/tco-test.exe tests/test-arm-mptimer.exe tests/test-filter-mirror.exe tests/test-filter-redirector.exe tests/test-hmp.exe tests/test-netfilter.exe tests/test-x86-cpuid-compat.exe tests/tmp105-test.exe tests/tpci200-test.exe tests/usb-hcd-ehci-test.exe tests/usb-hcd-ohci-test.exe tests/usb-hcd-uhci-test.exe tests/usb-hcd-xhci-test.exe tests/virtio-balloon-test.exe tests/virtio-blk-test.exe tests/virtio-console-test.exe tests/virtio-net-test.exe tests/virtio-rng-test.exe tests/virtio-scsi-test.exe tests/virtio-serial-test.exe tests/vmxnet3-test.exe tests/wdt_ib700-test.exe
rm -f config.mak op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h
rm -f qemu-options.def
rm -f *.msi
find . \( -name '*.so' -o -name '*.dll' -o -name '*.mo' -o -name '*.[oda]' \) -type f -exec rm {} +
rm -f qemu-ga qemu-img.exe qemu-io.exe qemu-ga TAGS cscope.* *.pod *~ */*~
rm -f fsdev/*.pod
rm -f qemu-img-cmds.h
rm -f ui/shader/*-vert.h ui/shader/*-frag.h
rm -f trace/generated-tracers-dtrace.dtrace*
rm -f trace/generated-tracers-dtrace.h*
rm -f qemu-version.h qemu-version.h-timestamp config-host.h config-host.h-timestamp qemu-options.def qemu-options.def-timestamp qmp-commands.h qmp-commands.h-timestamp qapi-types.h qapi-types.h-timestamp qapi-visit.h qapi-visit.h-timestamp qapi-event.h qapi-event.h-timestamp qmp-marshal.c qmp-marshal.c-timestamp qapi-types.c qapi-types.c-timestamp qapi-visit.c qapi-visit.c-timestamp qapi-event.c qapi-event.c-timestamp qmp-introspect.h qmp-introspect.h-timestamp qmp-introspect.c qmp-introspect.c-timestamp trace/generated-tcg-tracers.h trace/generated-tcg-tracers.h-timestamp trace/generated-helpers-wrappers.h trace/generated-helpers-wrappers.h-timestamp trace/generated-helpers.h trace/generated-helpers.h-timestamp trace/generated-helpers.c trace/generated-helpers.c-timestamp module_block.h module_block.h-timestamp trace-root.h trace-root.h-timestamp util/trace.h util/trace.h-timestamp crypto/trace.h crypto/trace.h-timestamp io/trace.h io/trace.h-timestamp migration/trace.h migration/trace.h-timestamp block/trace.h block/trace.h-timestamp backends/trace.h backends/trace.h-timestamp chardev/trace.h chardev/trace.h-timestamp hw/block/trace.h hw/block/trace.h-timestamp hw/block/dataplane/trace.h hw/block/dataplane/trace.h-timestamp hw/char/trace.h hw/char/trace.h-timestamp hw/intc/trace.h hw/intc/trace.h-timestamp hw/net/trace.h hw/net/trace.h-timestamp hw/virtio/trace.h hw/virtio/trace.h-timestamp hw/audio/trace.h hw/audio/trace.h-timestamp hw/misc/trace.h hw/misc/trace.h-timestamp hw/usb/trace.h hw/usb/trace.h-timestamp hw/scsi/trace.h hw/scsi/trace.h-timestamp hw/nvram/trace.h hw/nvram/trace.h-timestamp hw/display/trace.h hw/display/trace.h-timestamp hw/input/trace.h hw/input/trace.h-timestamp hw/timer/trace.h hw/timer/trace.h-timestamp hw/dma/trace.h hw/dma/trace.h-timestamp hw/sparc/trace.h hw/sparc/trace.h-timestamp hw/sd/trace.h hw/sd/trace.h-timestamp hw/isa/trace.h hw/isa/trace.h-timestamp hw/mem/trace.h hw/mem/trace.h-timestamp hw/i386/trace.h hw/i386/trace.h-timestamp hw/i386/xen/trace.h hw/i386/xen/trace.h-timestamp hw/9pfs/trace.h hw/9pfs/trace.h-timestamp hw/ppc/trace.h hw/ppc/trace.h-timestamp hw/pci/trace.h hw/pci/trace.h-timestamp hw/s390x/trace.h hw/s390x/trace.h-timestamp hw/vfio/trace.h hw/vfio/trace.h-timestamp hw/acpi/trace.h hw/acpi/trace.h-timestamp hw/arm/trace.h hw/arm/trace.h-timestamp hw/alpha/trace.h hw/alpha/trace.h-timestamp hw/xen/trace.h hw/xen/trace.h-timestamp ui/trace.h ui/trace.h-timestamp audio/trace.h audio/trace.h-timestamp net/trace.h net/trace.h-timestamp target/arm/trace.h target/arm/trace.h-timestamp target/i386/trace.h target/i386/trace.h-timestamp target/mips/trace.h target/mips/trace.h-timestamp target/sparc/trace.h target/sparc/trace.h-timestamp target/s390x/trace.h target/s390x/trace.h-timestamp target/ppc/trace.h target/ppc/trace.h-timestamp qom/trace.h qom/trace.h-timestamp linux-user/trace.h linux-user/trace.h-timestamp qapi/trace.h qapi/trace.h-timestamp trace-root.c trace-root.c-timestamp util/trace.c util/trace.c-timestamp crypto/trace.c crypto/trace.c-timestamp io/trace.c io/trace.c-timestamp migration/trace.c migration/trace.c-timestamp block/trace.c block/trace.c-timestamp backends/trace.c backends/trace.c-timestamp chardev/trace.c chardev/trace.c-timestamp hw/block/trace.c hw/block/trace.c-timestamp hw/block/dataplane/trace.c hw/block/dataplane/trace.c-timestamp hw/char/trace.c hw/char/trace.c-timestamp hw/intc/trace.c hw/intc/trace.c-timestamp hw/net/trace.c hw/net/trace.c-timestamp hw/virtio/trace.c hw/virtio/trace.c-timestamp hw/audio/trace.c hw/audio/trace.c-timestamp hw/misc/trace.c hw/misc/trace.c-timestamp hw/usb/trace.c hw/usb/trace.c-timestamp hw/scsi/trace.c hw/scsi/trace.c-timestamp hw/nvram/trace.c hw/nvram/trace.c-timestamp hw/display/trace.c hw/display/trace.c-timestamp hw/input/trace.c hw/input/trace.c-timestamp hw/timer/trace.c hw/timer/trace.c-timestamp hw/dma/trace.c hw/dma/trace.c-timestamp hw/sparc/trace.c hw/sparc/trace.c-timestamp hw/sd/trace.c hw/sd/trace.c-timestamp hw/isa/trace.c hw/isa/trace.c-timestamp hw/mem/trace.c hw/mem/trace.c-timestamp hw/i386/trace.c hw/i386/trace.c-timestamp hw/i386/xen/trace.c hw/i386/xen/trace.c-timestamp hw/9pfs/trace.c hw/9pfs/trace.c-timestamp hw/ppc/trace.c hw/ppc/trace.c-timestamp hw/pci/trace.c hw/pci/trace.c-timestamp hw/s390x/trace.c hw/s390x/trace.c-timestamp hw/vfio/trace.c hw/vfio/trace.c-timestamp hw/acpi/trace.c hw/acpi/trace.c-timestamp hw/arm/trace.c hw/arm/trace.c-timestamp hw/alpha/trace.c hw/alpha/trace.c-timestamp hw/xen/trace.c hw/xen/trace.c-timestamp ui/trace.c ui/trace.c-timestamp audio/trace.c audio/trace.c-timestamp net/trace.c net/trace.c-timestamp target/arm/trace.c target/arm/trace.c-timestamp target/i386/trace.c target/i386/trace.c-timestamp target/mips/trace.c target/mips/trace.c-timestamp target/sparc/trace.c target/sparc/trace.c-timestamp target/s390x/trace.c target/s390x/trace.c-timestamp target/ppc/trace.c target/ppc/trace.c-timestamp qom/trace.c qom/trace.c-timestamp linux-user/trace.c linux-user/trace.c-timestamp qapi/trace.c qapi/trace.c-timestamp /var/tmp/qemu-build/trace-events-all /var/tmp/qemu-build/trace-events-all-timestamp tests/test-qapi-types.h tests/test-qapi-types.h-timestamp tests/test-qapi-visit.h tests/test-qapi-visit.h-timestamp tests/test-qmp-commands.h tests/test-qmp-commands.h-timestamp tests/test-qapi-event.h tests/test-qapi-event.h-timestamp tests/test-qmp-introspect.h tests/test-qmp-introspect.h-timestamp
rm -rf qapi-generated
rm -rf qga/qapi-generated
for d in x86_64-softmmu aarch64-softmmu pc-bios/optionrom; do \
if test -d $d; then make -C $d clean || exit 1; fi; \
rm -f $d/qemu-options.def; \
done
make[1]: Entering directory '/var/tmp/qemu-build/x86_64-softmmu'
rm -f *.timestamp
rm -f *.a *~ qemu-system-x86_64.exe qemu-system-x86_64w.exe
rm -f
rm -f hmp-commands.h gdbstub-xml.c
make[1]: Leaving directory '/var/tmp/qemu-build/x86_64-softmmu'
make[1]: Entering directory '/var/tmp/qemu-build/aarch64-softmmu'
rm -f *.timestamp
rm -f *.a *~ qemu-system-aarch64.exe qemu-system-aarch64w.exe
rm -f
rm -f hmp-commands.h gdbstub-xml.c
make[1]: Leaving directory '/var/tmp/qemu-build/aarch64-softmmu'
make[1]: Entering directory '/var/tmp/qemu-build/pc-bios/optionrom'
rm -f *.timestamp
rm -f *.o *.d *.raw *.img *.bin *~
make[1]: Leaving directory '/var/tmp/qemu-build/pc-bios/optionrom'
rm -f x86_64-softmmu/config-devices.mak aarch64-softmmu/config-devices.mak config-all-devices.mak
Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/var/tmp/qemu-build/install --cross-prefix=i686-w64-mingw32- --enable-trace-backends=simple --enable-debug --enable-gnutls --enable-nettle --enable-curl --enable-vnc --enable-bzip2 --enable-guest-agent --with-sdlabi=1.2 --with-gtkabi=2.0
Install prefix /var/tmp/qemu-build/install
BIOS directory /var/tmp/qemu-build/install
binary directory /var/tmp/qemu-build/install
library directory /var/tmp/qemu-build/install/lib
module directory /var/tmp/qemu-build/install/lib
libexec directory /var/tmp/qemu-build/install/libexec
include directory /var/tmp/qemu-build/install/include
config directory /var/tmp/qemu-build/install
local state directory queried at runtime
Windows SDK no
Source path /tmp/qemu-test/src
C compiler i686-w64-mingw32-gcc
Host C compiler cc
C++ compiler i686-w64-mingw32-g++
Objective-C compiler clang
ARFLAGS rv
CFLAGS -g
QEMU_CFLAGS -I/usr/i686-w64-mingw32/sys-root/mingw/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt -Werror -mms-bitfields -I/usr/i686-w64-mingw32/sys-root/mingw/include/glib-2.0 -I/usr/i686-w64-mingw32/sys-root/mingw/lib/glib-2.0/include -I/usr/i686-w64-mingw32/sys-root/mingw/include -m32 -mthreads -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/i686-w64-mingw32/sys-root/mingw/include -I/usr/i686-w64-mingw32/sys-root/mingw/include/p11-kit-1 -I/usr/i686-w64-mingw32/sys-root/mingw/include -I/usr/i686-w64-mingw32/sys-root/mingw/include -I/usr/i686-w64-mingw32/sys-root/mingw/include/libpng16
LDFLAGS -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m32 -g
make make
install install
python python -B
smbd /usr/sbin/smbd
module support no
host CPU i386
host big endian no
target list x86_64-softmmu aarch64-softmmu
tcg debug enabled yes
gprof enabled no
sparse enabled no
strip binaries no
profiler no
static build no
pixman system
SDL support yes (1.2.15)
GTK support yes (2.24.31)
GTK GL support no
VTE support no
TLS priority NORMAL
GNUTLS support yes
GNUTLS rnd yes
libgcrypt no
libgcrypt kdf no
nettle yes (3.3)
nettle kdf yes
libtasn1 yes
curses support no
virgl support no
curl support yes
mingw32 support yes
Audio drivers dsound
Block whitelist (rw)
Block whitelist (ro)
VirtFS support no
VNC support yes
VNC SASL support no
VNC JPEG support yes
VNC PNG support yes
xen support no
brlapi support no
bluez support no
Documentation no
PIE no
vde support no
netmap support no
Linux AIO support no
ATTR/XATTR support no
Install blobs yes
KVM support no
HAX support yes
RDMA support no
TCG interpreter no
fdt support yes
preadv support no
fdatasync no
madvise no
posix_madvise no
libcap-ng support no
vhost-net support no
vhost-scsi support no
vhost-vsock support no
Trace backends simple
Trace output file trace-<pid>
spice support no
rbd support no
xfsctl support no
smartcard support no
libusb no
usb net redir no
OpenGL support no
OpenGL dmabufs no
libiscsi support no
libnfs support no
build guest agent yes
QGA VSS support no
QGA w32 disk info yes
QGA MSI support no
seccomp support no
coroutine backend win32
coroutine pool yes
debug stack usage no
GlusterFS support no
gcov gcov
gcov enabled no
TPM support yes
libssh2 support yes
TPM passthrough no
QOM debugging yes
Live block migration yes
lzo support no
snappy support no
bzip2 support yes
NUMA host support no
tcmalloc support no
jemalloc support no
avx2 optimization yes
replication support yes
VxHS block device no
GEN x86_64-softmmu/config-devices.mak.tmp
GEN config-host.h
GEN aarch64-softmmu/config-devices.mak.tmp
GEN qemu-options.def
GEN qapi-types.h
GEN qmp-commands.h
GEN qapi-visit.h
DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c
GEN x86_64-softmmu/config-devices.mak
GEN aarch64-softmmu/config-devices.mak
GEN qapi-event.h
DEP /tmp/qemu-test/src/dtc/tests/trees.S
DEP /tmp/qemu-test/src/dtc/tests/testutils.c
GEN qmp-marshal.c
GEN qapi-types.c
DEP /tmp/qemu-test/src/dtc/tests/value-labels.c
GEN qapi-visit.c
DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c
DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c
DEP /tmp/qemu-test/src/dtc/tests/check_path.c
DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c
DEP /tmp/qemu-test/src/dtc/tests/overlay.c
DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c
DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c
DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c
DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c
DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c
DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c
DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c
DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c
DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c
DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c
GEN qapi-event.c
DEP /tmp/qemu-test/src/dtc/tests/incbin.c
DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c
DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c
DEP /tmp/qemu-test/src/dtc/tests/path-references.c
DEP /tmp/qemu-test/src/dtc/tests/references.c
DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c
GEN qmp-introspect.h
DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c
GEN qmp-introspect.c
DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c
DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c
DEP /tmp/qemu-test/src/dtc/tests/del_node.c
GEN trace/generated-tcg-tracers.h
GEN trace/generated-helpers-wrappers.h
DEP /tmp/qemu-test/src/dtc/tests/del_property.c
DEP /tmp/qemu-test/src/dtc/tests/setprop.c
GEN trace/generated-helpers.h
DEP /tmp/qemu-test/src/dtc/tests/set_name.c
DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c
GEN trace/generated-helpers.c
DEP /tmp/qemu-test/src/dtc/tests/open_pack.c
GEN module_block.h
DEP /tmp/qemu-test/src/dtc/tests/nopulate.c
DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c
DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c
GEN tests/test-qapi-types.h
GEN tests/test-qapi-visit.h
GEN tests/test-qmp-commands.h
DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c
GEN tests/test-qapi-event.h
DEP /tmp/qemu-test/src/dtc/tests/nop_node.c
DEP /tmp/qemu-test/src/dtc/tests/nop_property.c
DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c
GEN tests/test-qmp-introspect.h
GEN trace-root.h
DEP /tmp/qemu-test/src/dtc/tests/stringlist.c
DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c
DEP /tmp/qemu-test/src/dtc/tests/notfound.c
DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c
GEN util/trace.h
DEP /tmp/qemu-test/src/dtc/tests/char_literal.c
DEP /tmp/qemu-test/src/dtc/tests/get_alias.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c
GEN crypto/trace.h
DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c
GEN io/trace.h
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c
DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c
DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c
DEP /tmp/qemu-test/src/dtc/tests/get_path.c
GEN migration/trace.h
GEN block/trace.h
GEN backends/trace.h
DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c
DEP /tmp/qemu-test/src/dtc/tests/getprop.c
DEP /tmp/qemu-test/src/dtc/tests/get_name.c
DEP /tmp/qemu-test/src/dtc/tests/path_offset.c
DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c
GEN chardev/trace.h
DEP /tmp/qemu-test/src/dtc/tests/find_property.c
GEN hw/block/trace.h
DEP /tmp/qemu-test/src/dtc/tests/root_node.c
DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c
GEN hw/block/dataplane/trace.h
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c
GEN hw/char/trace.h
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c
GEN hw/intc/trace.h
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c
GEN hw/net/trace.h
DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c
GEN hw/virtio/trace.h
DEP /tmp/qemu-test/src/dtc/util.c
GEN hw/audio/trace.h
GEN hw/misc/trace.h
DEP /tmp/qemu-test/src/dtc/fdtput.c
GEN hw/usb/trace.h
DEP /tmp/qemu-test/src/dtc/fdtget.c
GEN hw/scsi/trace.h
DEP /tmp/qemu-test/src/dtc/fdtdump.c
DEP convert-dtsv0-lexer.lex.c
GEN hw/nvram/trace.h
DEP /tmp/qemu-test/src/dtc/srcpos.c
GEN hw/display/trace.h
DEP dtc-parser.tab.c
GEN hw/input/trace.h
DEP dtc-lexer.lex.c
GEN hw/timer/trace.h
DEP /tmp/qemu-test/src/dtc/treesource.c
GEN hw/dma/trace.h
DEP /tmp/qemu-test/src/dtc/livetree.c
DEP /tmp/qemu-test/src/dtc/fstree.c
GEN hw/sparc/trace.h
DEP /tmp/qemu-test/src/dtc/flattree.c
GEN hw/sd/trace.h
GEN hw/isa/trace.h
DEP /tmp/qemu-test/src/dtc/dtc.c
DEP /tmp/qemu-test/src/dtc/data.c
DEP /tmp/qemu-test/src/dtc/checks.c
GEN hw/mem/trace.h
GEN hw/i386/trace.h
GEN hw/i386/xen/trace.h
GEN hw/9pfs/trace.h
GEN hw/ppc/trace.h
GEN hw/pci/trace.h
GEN hw/s390x/trace.h
GEN hw/vfio/trace.h
GEN hw/acpi/trace.h
GEN hw/arm/trace.h
GEN hw/alpha/trace.h
GEN hw/xen/trace.h
GEN ui/trace.h
GEN audio/trace.h
GEN net/trace.h
GEN target/arm/trace.h
GEN target/i386/trace.h
GEN target/mips/trace.h
GEN target/sparc/trace.h
GEN target/s390x/trace.h
GEN target/ppc/trace.h
GEN qom/trace.h
GEN linux-user/trace.h
GEN trace-root.c
GEN qapi/trace.h
GEN util/trace.c
GEN crypto/trace.c
GEN io/trace.c
GEN migration/trace.c
GEN block/trace.c
GEN backends/trace.c
GEN chardev/trace.c
GEN hw/block/trace.c
GEN hw/block/dataplane/trace.c
GEN hw/char/trace.c
GEN hw/intc/trace.c
GEN hw/net/trace.c
GEN hw/virtio/trace.c
GEN hw/audio/trace.c
GEN hw/misc/trace.c
GEN hw/usb/trace.c
GEN hw/scsi/trace.c
GEN hw/nvram/trace.c
GEN hw/display/trace.c
GEN hw/input/trace.c
GEN hw/timer/trace.c
GEN hw/dma/trace.c
GEN hw/sparc/trace.c
GEN hw/sd/trace.c
GEN hw/isa/trace.c
GEN hw/mem/trace.c
GEN hw/i386/trace.c
GEN hw/i386/xen/trace.c
GEN hw/9pfs/trace.c
GEN hw/ppc/trace.c
GEN hw/pci/trace.c
GEN hw/s390x/trace.c
GEN hw/vfio/trace.c
GEN hw/acpi/trace.c
GEN hw/arm/trace.c
GEN hw/alpha/trace.c
GEN hw/xen/trace.c
GEN ui/trace.c
GEN audio/trace.c
GEN net/trace.c
GEN target/arm/trace.c
GEN target/i386/trace.c
GEN target/mips/trace.c
GEN target/sparc/trace.c
GEN target/s390x/trace.c
GEN qom/trace.c
GEN target/ppc/trace.c
GEN linux-user/trace.c
GEN config-all-devices.mak
GEN qapi/trace.c
CC libfdt/fdt.o
CC libfdt/fdt_ro.o
CC libfdt/fdt_wip.o
CC libfdt/fdt_sw.o
CC libfdt/fdt_rw.o
CC libfdt/fdt_empty_tree.o
CC libfdt/fdt_strerror.o
CC libfdt/fdt_overlay.o
CC libfdt/fdt_addresses.o
AR libfdt/libfdt.a
i686-w64-mingw32-ar: creating libfdt/libfdt.a
a - libfdt/fdt.o
a - libfdt/fdt_ro.o
a - libfdt/fdt_wip.o
a - libfdt/fdt_sw.o
a - libfdt/fdt_rw.o
a - libfdt/fdt_strerror.o
a - libfdt/fdt_empty_tree.o
a - libfdt/fdt_addresses.o
a - libfdt/fdt_overlay.o
RC version.o
GEN qga/qapi-generated/qga-qapi-types.h
GEN qga/qapi-generated/qga-qapi-visit.c
GEN qga/qapi-generated/qga-qapi-types.c
GEN qga/qapi-generated/qga-qapi-visit.h
GEN qga/qapi-generated/qga-qmp-marshal.c
GEN qga/qapi-generated/qga-qmp-commands.h
CC qmp-introspect.o
CC qapi-types.o
CC qapi-visit.o
CC qapi-event.o
CC qapi/qapi-visit-core.o
CC qapi/qapi-dealloc-visitor.o
CC qapi/qobject-input-visitor.o
CC qapi/qobject-output-visitor.o
CC qapi/qmp-registry.o
CC qapi/qmp-dispatch.o
CC qapi/string-input-visitor.o
CC qapi/string-output-visitor.o
CC qapi/opts-visitor.o
CC qapi/qapi-clone-visitor.o
CC qapi/qmp-event.o
CC qapi/qapi-util.o
CC qobject/qnull.o
CC qobject/qstring.o
CC qobject/qdict.o
CC qobject/qint.o
CC qobject/qlist.o
CC qobject/qfloat.o
CC qobject/qbool.o
CC qobject/qjson.o
CC qobject/qobject.o
CC qobject/json-lexer.o
CC qobject/json-streamer.o
CC qobject/json-parser.o
CC trace/simple.o
CC trace/qmp.o
CC trace/control.o
CC util/osdep.o
CC util/cutils.o
CC util/unicode.o
CC util/bufferiszero.o
CC util/qemu-timer-common.o
CC util/lockcnt.o
CC util/aiocb.o
CC util/async.o
CC util/thread-pool.o
CC util/qemu-timer.o
CC util/main-loop.o
CC util/iohandler.o
CC util/aio-win32.o
CC util/event_notifier-win32.o
CC util/oslib-win32.o
CC util/qemu-thread-win32.o
CC util/envlist.o
CC util/path.o
CC util/module.o
CC util/host-utils.o
CC util/bitmap.o
CC util/bitops.o
CC util/hbitmap.o
CC util/acl.o
CC util/fifo8.o
CC util/error.o
CC util/qemu-error.o
CC util/id.o
CC util/iov.o
CC util/qemu-config.o
CC util/qemu-sockets.o
CC util/notify.o
CC util/uri.o
CC util/qemu-option.o
CC util/qemu-progress.o
CC util/keyval.o
CC util/hexdump.o
CC util/crc32c.o
CC util/uuid.o
CC util/throttle.o
CC util/getauxval.o
CC util/readline.o
CC util/rcu.o
CC util/qemu-coroutine.o
CC util/qemu-coroutine-lock.o
CC util/qemu-coroutine-io.o
CC util/qemu-coroutine-sleep.o
CC util/coroutine-win32.o
CC util/buffer.o
CC util/timed-average.o
CC util/base64.o
CC util/log.o
CC util/qdist.o
CC util/qht.o
CC util/range.o
CC util/systemd.o
CC trace-root.o
CC util/trace.o
CC crypto/trace.o
CC io/trace.o
CC migration/trace.o
CC block/trace.o
CC backends/trace.o
CC chardev/trace.o
CC hw/block/trace.o
CC hw/block/dataplane/trace.o
CC hw/char/trace.o
CC hw/intc/trace.o
CC hw/net/trace.o
CC hw/virtio/trace.o
CC hw/audio/trace.o
CC hw/misc/trace.o
CC hw/usb/trace.o
CC hw/scsi/trace.o
CC hw/nvram/trace.o
CC hw/display/trace.o
CC hw/input/trace.o
CC hw/timer/trace.o
CC hw/dma/trace.o
CC hw/sparc/trace.o
CC hw/sd/trace.o
CC hw/isa/trace.o
CC hw/mem/trace.o
CC hw/i386/trace.o
CC hw/i386/xen/trace.o
CC hw/9pfs/trace.o
CC hw/ppc/trace.o
CC hw/pci/trace.o
CC hw/s390x/trace.o
CC hw/vfio/trace.o
CC hw/acpi/trace.o
CC hw/arm/trace.o
CC hw/alpha/trace.o
CC hw/xen/trace.o
CC ui/trace.o
CC audio/trace.o
CC net/trace.o
CC target/arm/trace.o
CC target/i386/trace.o
CC target/mips/trace.o
CC target/sparc/trace.o
CC target/s390x/trace.o
CC target/ppc/trace.o
CC qom/trace.o
CC linux-user/trace.o
CC qapi/trace.o
CC stubs/arch-query-cpu-def.o
CC crypto/pbkdf-stub.o
CC stubs/arch-query-cpu-model-expansion.o
CC stubs/arch-query-cpu-model-comparison.o
CC stubs/arch-query-cpu-model-baseline.o
CC stubs/bdrv-next-monitor-owned.o
CC stubs/blk-commit-all.o
CC stubs/blockdev-close-all-bdrv-states.o
CC stubs/clock-warp.o
CC stubs/cpu-get-clock.o
CC stubs/cpu-get-icount.o
CC stubs/dump.o
CC stubs/error-printf.o
CC stubs/fdset.o
CC stubs/gdbstub.o
CC stubs/get-vm-name.o
CC stubs/iothread.o
CC stubs/iothread-lock.o
CC stubs/is-daemonized.o
CC stubs/machine-init-done.o
CC stubs/migr-blocker.o
CC stubs/monitor.o
CC stubs/notify-event.o
CC stubs/qtest.o
CC stubs/replay.o
CC stubs/runstate-check.o
CC stubs/set-fd-handler.o
CC stubs/slirp.o
CC stubs/sysbus.o
CC stubs/trace-control.o
CC stubs/uuid.o
CC stubs/vm-stop.o
CC stubs/vmstate.o
CC stubs/fd-register.o
CC stubs/qmp_pc_dimm_device_list.o
CC stubs/target-monitor-defs.o
CC stubs/target-get-monitor-def.o
CC stubs/pc_madt_cpu_entry.o
CC stubs/vmgenid.o
CC stubs/xen-common.o
CC stubs/xen-hvm.o
GEN qemu-img-cmds.h
CC block.o
CC blockjob.o
CC qemu-io-cmds.o
CC replication.o
CC block/raw-format.o
CC block/qcow.o
CC block/vdi.o
CC block/vmdk.o
CC block/cloop.o
CC block/bochs.o
CC block/vpc.o
CC block/vvfat.o
CC block/dmg.o
CC block/qcow2.o
CC block/qcow2-cluster.o
CC block/qcow2-refcount.o
CC block/qcow2-cache.o
CC block/qcow2-snapshot.o
CC block/qed.o
CC block/qed-gencb.o
CC block/qed-l2-cache.o
CC block/qed-table.o
CC block/qed-cluster.o
CC block/qed-check.o
CC block/vhdx.o
CC block/vhdx-endian.o
CC block/vhdx-log.o
CC block/quorum.o
CC block/parallels.o
CC block/blkdebug.o
CC block/blkverify.o
CC block/blkreplay.o
CC block/block-backend.o
CC block/snapshot.o
CC block/qapi.o
CC block/file-win32.o
CC block/null.o
CC block/win32-aio.o
CC block/mirror.o
CC block/commit.o
CC block/io.o
CC block/throttle-groups.o
CC block/nbd.o
CC block/nbd-client.o
CC block/sheepdog.o
CC block/accounting.o
CC block/dirty-bitmap.o
CC block/write-threshold.o
CC block/backup.o
CC block/replication.o
CC block/crypto.o
CC nbd/server.o
CC nbd/client.o
CC nbd/common.o
CC block/curl.o
CC block/ssh.o
CC block/dmg-bz2.o
CC crypto/init.o
CC crypto/hash.o
CC crypto/hash-nettle.o
CC crypto/hmac.o
CC crypto/hmac-nettle.o
CC crypto/aes.o
CC crypto/desrfb.o
CC crypto/cipher.o
CC crypto/tlscreds.o
CC crypto/tlscredsanon.o
CC crypto/tlscredsx509.o
CC crypto/tlssession.o
CC crypto/secret.o
CC crypto/random-gnutls.o
CC crypto/pbkdf.o
CC crypto/ivgen.o
CC crypto/pbkdf-nettle.o
CC crypto/ivgen-essiv.o
CC crypto/ivgen-plain.o
CC crypto/afsplit.o
CC crypto/ivgen-plain64.o
CC crypto/block.o
CC crypto/block-qcow.o
CC crypto/xts.o
CC crypto/block-luks.o
CC io/channel.o
CC io/channel-buffer.o
CC io/channel-command.o
CC io/channel-file.o
CC io/channel-socket.o
CC io/channel-tls.o
CC io/channel-watch.o
CC io/channel-websock.o
CC io/dns-resolver.o
CC io/channel-util.o
CC io/task.o
CC qom/object.o
CC qom/container.o
CC qom/qom-qobject.o
CC qom/object_interfaces.o
CC blockdev.o
CC qemu-io.o
CC blockdev-nbd.o
CC qdev-monitor.o
CC device-hotplug.o
CC iothread.o
CC os-win32.o
CC accel.o
CC bt-host.o
CC bt-vhci.o
CC dma-helpers.o
CC vl.o
CC tpm.o
CC qmp-marshal.o
CC device_tree.o
CC qmp.o
CC hmp.o
CC cpus-common.o
CC audio/audio.o
CC audio/noaudio.o
CC audio/wavaudio.o
CC audio/mixeng.o
CC audio/dsoundaudio.o
CC audio/sdlaudio.o
CC audio/audio_win_int.o
CC audio/wavcapture.o
CC backends/rng.o
CC backends/rng-egd.o
CC backends/tpm.o
CC backends/hostmem.o
CC backends/hostmem-ram.o
CC backends/cryptodev.o
CC backends/cryptodev-builtin.o
CC block/stream.o
CC chardev/msmouse.o
CC chardev/wctablet.o
CC disas/arm.o
CC chardev/testdev.o
CXX disas/arm-a64.o
CC disas/i386.o
CXX disas/libvixl/vixl/utils.o
CXX disas/libvixl/vixl/compiler-intrinsics.o
CXX disas/libvixl/vixl/a64/instructions-a64.o
CXX disas/libvixl/vixl/a64/decoder-a64.o
CXX disas/libvixl/vixl/a64/disasm-a64.o
CC hw/acpi/core.o
CC hw/acpi/piix4.o
CC hw/acpi/pcihp.o
CC hw/acpi/ich9.o
CC hw/acpi/tco.o
CC hw/acpi/cpu_hotplug.o
CC hw/acpi/memory_hotplug.o
CC hw/acpi/cpu.o
CC hw/acpi/nvdimm.o
CC hw/acpi/vmgenid.o
CC hw/acpi/acpi_interface.o
CC hw/acpi/bios-linker-loader.o
CC hw/acpi/aml-build.o
CC hw/acpi/ipmi.o
CC hw/acpi/acpi-stub.o
CC hw/acpi/ipmi-stub.o
CC hw/audio/sb16.o
CC hw/audio/es1370.o
CC hw/audio/fmopl.o
CC hw/audio/ac97.o
CC hw/audio/gusemu_hal.o
CC hw/audio/gus.o
CC hw/audio/gusemu_mixer.o
CC hw/audio/cs4231a.o
CC hw/audio/adlib.o
CC hw/audio/intel-hda.o
CC hw/audio/hda-codec.o
CC hw/audio/wm8750.o
CC hw/audio/pcspk.o
CC hw/audio/pl041.o
CC hw/audio/lm4549.o
CC hw/audio/marvell_88w8618.o
CC hw/audio/soundhw.o
CC hw/block/block.o
CC hw/block/cdrom.o
CC hw/block/hd-geometry.o
CC hw/block/fdc.o
CC hw/block/m25p80.o
CC hw/block/nand.o
CC hw/block/pflash_cfi01.o
CC hw/block/pflash_cfi02.o
CC hw/block/onenand.o
CC hw/block/ecc.o
CC hw/block/nvme.o
CC hw/bt/core.o
CC hw/bt/l2cap.o
CC hw/bt/sdp.o
CC hw/bt/hci.o
CC hw/bt/hid.o
CC hw/bt/hci-csr.o
CC hw/char/ipoctal232.o
CC hw/char/parallel.o
CC hw/char/pl011.o
CC hw/char/serial.o
CC hw/char/serial-isa.o
CC hw/char/virtio-console.o
CC hw/char/serial-pci.o
CC hw/char/cadence_uart.o
CC hw/char/debugcon.o
CC hw/char/imx_serial.o
CC hw/core/qdev.o
CC hw/core/qdev-properties.o
CC hw/core/bus.o
CC hw/core/irq.o
CC hw/core/reset.o
CC hw/core/fw-path-provider.o
CC hw/core/nmi.o
CC hw/core/ptimer.o
CC hw/core/hotplug.o
CC hw/core/sysbus.o
CC hw/core/machine.o
CC hw/core/loader.o
CC hw/core/platform-bus.o
CC hw/core/qdev-properties-system.o
CC hw/core/or-irq.o
CC hw/core/register.o
CC hw/cpu/core.o
CC hw/display/ads7846.o
CC hw/display/cirrus_vga.o
CC hw/display/pl110.o
CC hw/display/ssd0303.o
CC hw/display/ssd0323.o
CC hw/display/vga-pci.o
CC hw/display/vmware_vga.o
CC hw/display/blizzard.o
CC hw/display/vga-isa.o
CC hw/display/exynos4210_fimd.o
CC hw/display/framebuffer.o
CC hw/display/tc6393xb.o
CC hw/dma/pl080.o
CC hw/dma/i8257.o
CC hw/dma/xlnx-zynq-devcfg.o
CC hw/dma/pl330.o
CC hw/gpio/max7310.o
CC hw/gpio/pl061.o
CC hw/gpio/zaurus.o
CC hw/i2c/core.o
CC hw/i2c/smbus.o
CC hw/gpio/gpio_key.o
CC hw/i2c/smbus_eeprom.o
CC hw/i2c/i2c-ddc.o
CC hw/i2c/smbus_ich9.o
CC hw/i2c/versatile_i2c.o
CC hw/i2c/bitbang_i2c.o
CC hw/i2c/pm_smbus.o
CC hw/i2c/exynos4210_i2c.o
CC hw/i2c/imx_i2c.o
CC hw/i2c/aspeed_i2c.o
CC hw/ide/core.o
CC hw/ide/atapi.o
CC hw/ide/qdev.o
CC hw/ide/piix.o
CC hw/ide/microdrive.o
CC hw/ide/isa.o
CC hw/ide/pci.o
CC hw/ide/ahci.o
CC hw/ide/ich.o
CC hw/input/hid.o
CC hw/input/lm832x.o
CC hw/input/pckbd.o
CC hw/input/pl050.o
CC hw/input/ps2.o
CC hw/input/stellaris_input.o
CC hw/input/tsc2005.o
CC hw/input/vmmouse.o
CC hw/input/virtio-input.o
CC hw/input/virtio-input-hid.o
CC hw/intc/i8259.o
CC hw/intc/imx_avic.o
CC hw/intc/i8259_common.o
CC hw/intc/realview_gic.o
CC hw/intc/pl190.o
CC hw/intc/ioapic_common.o
CC hw/intc/arm_gic_common.o
CC hw/intc/arm_gic.o
CC hw/intc/arm_gicv2m.o
CC hw/intc/arm_gicv3_common.o
CC hw/intc/arm_gicv3.o
CC hw/intc/arm_gicv3_dist.o
CC hw/intc/arm_gicv3_redist.o
CC hw/intc/arm_gicv3_its_common.o
CC hw/intc/intc.o
CC hw/ipack/ipack.o
CC hw/ipack/tpci200.o
CC hw/ipmi/ipmi.o
CC hw/ipmi/ipmi_bmc_sim.o
CC hw/ipmi/ipmi_bmc_extern.o
CC hw/ipmi/isa_ipmi_kcs.o
CC hw/isa/isa-bus.o
CC hw/ipmi/isa_ipmi_bt.o
CC hw/isa/apm.o
CC hw/mem/pc-dimm.o
CC hw/mem/nvdimm.o
CC hw/misc/applesmc.o
CC hw/misc/max111x.o
CC hw/misc/tmp105.o
CC hw/misc/tmp421.o
CC hw/misc/debugexit.o
CC hw/misc/pc-testdev.o
CC hw/misc/sga.o
CC hw/misc/pci-testdev.o
CC hw/misc/unimp.o
CC hw/misc/arm_l2x0.o
CC hw/misc/arm_integrator_debug.o
CC hw/misc/a9scu.o
CC hw/net/ne2000.o
CC hw/misc/arm11scu.o
CC hw/net/eepro100.o
CC hw/net/pcnet-pci.o
CC hw/net/pcnet.o
CC hw/net/e1000.o
CC hw/net/e1000x_common.o
CC hw/net/net_tx_pkt.o
CC hw/net/net_rx_pkt.o
CC hw/net/e1000e.o
CC hw/net/rtl8139.o
CC hw/net/e1000e_core.o
CC hw/net/smc91c111.o
CC hw/net/lan9118.o
CC hw/net/ne2000-isa.o
CC hw/net/vmxnet3.o
CC hw/net/xgmac.o
CC hw/net/allwinner_emac.o
CC hw/net/imx_fec.o
CC hw/net/cadence_gem.o
CC hw/net/ftgmac100.o
CC hw/net/rocker/rocker.o
CC hw/net/rocker/rocker_fp.o
CC hw/net/stellaris_enet.o
CC hw/net/rocker/rocker_world.o
CC hw/net/rocker/rocker_of_dpa.o
CC hw/net/rocker/rocker_desc.o
CC hw/nvram/eeprom93xx.o
CC hw/nvram/fw_cfg.o
CC hw/pci-bridge/pci_bridge_dev.o
CC hw/nvram/chrp_nvram.o
CC hw/pci-bridge/pcie_root_port.o
CC hw/pci-bridge/gen_pcie_root_port.o
CC hw/pci-bridge/pci_expander_bridge.o
CC hw/pci-bridge/xio3130_upstream.o
CC hw/pci-bridge/xio3130_downstream.o
CC hw/pci-bridge/ioh3420.o
CC hw/pci-bridge/i82801b11.o
CC hw/pci-host/pam.o
CC hw/pci-host/versatile.o
CC hw/pci-host/q35.o
CC hw/pci-host/piix.o
CC hw/pci-host/gpex.o
CC hw/pci/pci.o
CC hw/pci/pci_bridge.o
CC hw/pci/msix.o
CC hw/pci/msi.o
CC hw/pci/shpc.o
CC hw/pci/pci_host.o
CC hw/pci/slotid_cap.o
CC hw/pci/pcie_host.o
CC hw/pci/pcie.o
CC hw/pci/pcie_aer.o
CC hw/pci/pcie_port.o
CC hw/pci/pci-stub.o
CC hw/pcmcia/pcmcia.o
CC hw/scsi/scsi-disk.o
CC hw/scsi/scsi-generic.o
CC hw/scsi/lsi53c895a.o
CC hw/scsi/scsi-bus.o
CC hw/scsi/mptconfig.o
CC hw/scsi/mptendian.o
CC hw/scsi/megasas.o
CC hw/scsi/mptsas.o
CC hw/scsi/esp.o
CC hw/scsi/vmw_pvscsi.o
CC hw/scsi/esp-pci.o
CC hw/sd/pl181.o
CC hw/sd/ssi-sd.o
CC hw/sd/sd.o
CC hw/sd/core.o
CC hw/smbios/smbios.o
CC hw/smbios/smbios_type_38.o
CC hw/sd/sdhci.o
CC hw/smbios/smbios-stub.o
CC hw/smbios/smbios_type_38-stub.o
CC hw/ssi/pl022.o
CC hw/ssi/ssi.o
CC hw/ssi/xilinx_spips.o
CC hw/ssi/aspeed_smc.o
CC hw/ssi/stm32f2xx_spi.o
CC hw/timer/arm_timer.o
CC hw/timer/arm_mptimer.o
CC hw/timer/a9gtimer.o
CC hw/timer/cadence_ttc.o
CC hw/timer/ds1338.o
CC hw/timer/hpet.o
CC hw/timer/armv7m_systick.o
CC hw/timer/i8254.o
CC hw/timer/i8254_common.o
CC hw/timer/pl031.o
CC hw/timer/twl92230.o
CC hw/timer/imx_epit.o
CC hw/timer/imx_gpt.o
CC hw/timer/stm32f2xx_timer.o
CC hw/timer/aspeed_timer.o
CC hw/usb/core.o
CC hw/tpm/tpm_tis.o
CC hw/usb/combined-packet.o
CC hw/usb/bus.o
CC hw/usb/libhw.o
CC hw/usb/desc.o
CC hw/usb/desc-msos.o
CC hw/usb/hcd-ohci.o
CC hw/usb/hcd-ehci.o
CC hw/usb/hcd-ehci-pci.o
CC hw/usb/hcd-uhci.o
CC hw/usb/hcd-ehci-sysbus.o
CC hw/usb/hcd-xhci.o
CC hw/usb/hcd-xhci-nec.o
CC hw/usb/hcd-musb.o
CC hw/usb/dev-hub.o
CC hw/usb/dev-hid.o
CC hw/usb/dev-wacom.o
CC hw/usb/dev-uas.o
CC hw/usb/dev-storage.o
CC hw/usb/dev-audio.o
CC hw/usb/dev-serial.o
CC hw/usb/dev-network.o
CC hw/usb/dev-bluetooth.o
CC hw/usb/dev-smartcard-reader.o
CC hw/usb/host-stub.o
CC hw/virtio/virtio-pci.o
CC hw/virtio/virtio-rng.o
CC hw/virtio/virtio-bus.o
CC hw/virtio/virtio-mmio.o
CC hw/virtio/vhost-stub.o
CC hw/watchdog/wdt_i6300esb.o
CC hw/watchdog/watchdog.o
CC hw/watchdog/wdt_ib700.o
CC migration/migration.o
CC hw/watchdog/wdt_aspeed.o
CC migration/socket.o
CC migration/fd.o
CC migration/exec.o
CC migration/tls.o
CC migration/channel.o
CC migration/savevm.o
CC migration/colo-comm.o
CC migration/colo.o
CC migration/colo-failover.o
CC migration/vmstate-types.o
CC migration/vmstate.o
CC migration/page_cache.o
CC migration/qemu-file.o
CC migration/global_state.o
CC migration/qemu-file-channel.o
CC migration/xbzrle.o
CC migration/postcopy-ram.o
CC migration/qjson.o
CC migration/block.o
CC net/net.o
CC net/checksum.o
CC net/util.o
CC net/queue.o
CC net/hub.o
CC net/dump.o
CC net/socket.o
CC net/slirp.o
CC net/eth.o
CC net/filter.o
CC net/filter-buffer.o
CC net/colo-compare.o
CC net/filter-mirror.o
CC net/colo.o
CC net/filter-rewriter.o
CC net/filter-replay.o
CC qom/cpu.o
CC replay/replay.o
CC net/tap-win32.o
CC replay/replay-events.o
CC replay/replay-internal.o
CC replay/replay-input.o
CC replay/replay-time.o
CC replay/replay-char.o
CC replay/replay-snapshot.o
CC replay/replay-net.o
CC replay/replay-audio.o
CC slirp/if.o
CC slirp/cksum.o
CC slirp/ip6_icmp.o
CC slirp/ip_icmp.o
CC slirp/ip6_input.o
CC slirp/ip6_output.o
CC slirp/ip_input.o
CC slirp/ip_output.o
CC slirp/dnssearch.o
CC slirp/slirp.o
CC slirp/dhcpv6.o
CC slirp/mbuf.o
CC slirp/misc.o
CC slirp/tcp_input.o
CC slirp/tcp_output.o
CC slirp/tcp_subr.o
CC slirp/socket.o
CC slirp/sbuf.o
CC slirp/tcp_timer.o
CC slirp/udp.o
CC slirp/udp6.o
CC slirp/bootp.o
CC slirp/tftp.o
CC slirp/arp_table.o
CC slirp/ndp_table.o
CC ui/keymaps.o
CC slirp/ncsi.o
CC ui/console.o
CC ui/cursor.o
CC ui/qemu-pixman.o
CC ui/input.o
CC ui/input-keymap.o
CC ui/input-legacy.o
CC ui/sdl.o
CC ui/sdl_zoom.o
CC ui/x_keymap.o
CC ui/vnc.o
CC ui/vnc-enc-zlib.o
CC ui/vnc-enc-hextile.o
CC ui/vnc-enc-tight.o
CC ui/vnc-palette.o
CC ui/vnc-enc-zrle.o
CC ui/vnc-auth-vencrypt.o
CC ui/gtk.o
CC chardev/char.o
CC chardev/char-console.o
CC ui/vnc-ws.o
CC chardev/char-fe.o
CC ui/vnc-jobs.o
CC chardev/char-io.o
CC chardev/char-mux.o
CC chardev/char-null.o
CC chardev/char-pipe.o
CC chardev/char-file.o
CC chardev/char-ringbuf.o
CC chardev/char-serial.o
CC chardev/char-udp.o
CC chardev/char-socket.o
CC chardev/char-win.o
CC chardev/char-stdio.o
CC chardev/char-win-stdio.o
CC qga/commands.o
CC qga/guest-agent-command-state.o
CC qga/main.o
CC qga/commands-win32.o
CC qga/channel-win32.o
CC qga/service-win32.o
CC qga/qapi-generated/qga-qapi-types.o
CC qga/qapi-generated/qga-qapi-visit.o
CC qga/vss-win32.o
CC qga/qapi-generated/qga-qmp-marshal.o
AR libqemuutil.a
AR libqemustub.a
CC qemu-img.o
AS optionrom/multiboot.o
AS optionrom/linuxboot.o
AS optionrom/kvmvapic.o
CC optionrom/linuxboot_dma.o
BUILD optionrom/linuxboot_dma.img
BUILD optionrom/multiboot.img
BUILD optionrom/linuxboot.img
BUILD optionrom/multiboot.raw
BUILD optionrom/linuxboot_dma.raw
BUILD optionrom/linuxboot.raw
BUILD optionrom/kvmvapic.img
BUILD optionrom/kvmvapic.raw
SIGN optionrom/linuxboot_dma.bin
SIGN optionrom/multiboot.bin
SIGN optionrom/kvmvapic.bin
SIGN optionrom/linuxboot.bin
LINK qemu-io.exe
LINK qemu-ga.exe
LINK qemu-img.exe
GEN aarch64-softmmu/hmp-commands.h
GEN aarch64-softmmu/config-target.h
GEN x86_64-softmmu/config-target.h
GEN x86_64-softmmu/hmp-commands.h
CC aarch64-softmmu/translate-all.o
CC aarch64-softmmu/exec.o
CC aarch64-softmmu/cpu-exec.o
CC aarch64-softmmu/cpu-exec-common.o
CC aarch64-softmmu/tcg/tcg.o
CC aarch64-softmmu/translate-common.o
CC aarch64-softmmu/tcg/tcg-op.o
CC aarch64-softmmu/tcg/tcg-common.o
CC aarch64-softmmu/fpu/softfloat.o
CC aarch64-softmmu/tcg/optimize.o
CC aarch64-softmmu/tcg-runtime.o
CC aarch64-softmmu/disas.o
GEN aarch64-softmmu/gdbstub-xml.c
CC aarch64-softmmu/hax-stub.o
CC x86_64-softmmu/exec.o
CC x86_64-softmmu/translate-all.o
CC x86_64-softmmu/cpu-exec.o
CC aarch64-softmmu/kvm-stub.o
CC x86_64-softmmu/translate-common.o
CC x86_64-softmmu/cpu-exec-common.o
CC x86_64-softmmu/tcg/tcg.o
CC x86_64-softmmu/tcg/tcg-op.o
CC x86_64-softmmu/tcg/optimize.o
CC x86_64-softmmu/fpu/softfloat.o
CC x86_64-softmmu/tcg/tcg-common.o
CC x86_64-softmmu/disas.o
CC x86_64-softmmu/tcg-runtime.o
GEN x86_64-softmmu/gdbstub-xml.c
CC x86_64-softmmu/kvm-stub.o
CC x86_64-softmmu/cpus.o
CC x86_64-softmmu/arch_init.o
CC x86_64-softmmu/monitor.o
CC x86_64-softmmu/gdbstub.o
CC aarch64-softmmu/arch_init.o
CC x86_64-softmmu/balloon.o
CC x86_64-softmmu/ioport.o
CC aarch64-softmmu/cpus.o
CC x86_64-softmmu/numa.o
CC x86_64-softmmu/qtest.o
CC x86_64-softmmu/bootdevice.o
CC aarch64-softmmu/monitor.o
CC x86_64-softmmu/memory.o
CC aarch64-softmmu/gdbstub.o
CC aarch64-softmmu/balloon.o
CC x86_64-softmmu/cputlb.o
CC x86_64-softmmu/dump.o
CC x86_64-softmmu/memory_mapping.o
CC aarch64-softmmu/ioport.o
CC aarch64-softmmu/numa.o
CC aarch64-softmmu/qtest.o
CC aarch64-softmmu/bootdevice.o
CC aarch64-softmmu/memory.o
CC x86_64-softmmu/hw/block/virtio-blk.o
CC x86_64-softmmu/migration/ram.o
CC x86_64-softmmu/hw/block/dataplane/virtio-blk.o
CC x86_64-softmmu/hw/char/virtio-serial-bus.o
CC x86_64-softmmu/hw/core/generic-loader.o
CC x86_64-softmmu/hw/core/null-machine.o
CC aarch64-softmmu/memory_mapping.o
CC aarch64-softmmu/cputlb.o
CC x86_64-softmmu/hw/display/vga.o
CC aarch64-softmmu/dump.o
CC aarch64-softmmu/migration/ram.o
CC x86_64-softmmu/hw/display/virtio-gpu.o
CC x86_64-softmmu/hw/display/virtio-gpu-3d.o
CC x86_64-softmmu/hw/display/virtio-gpu-pci.o
CC x86_64-softmmu/hw/display/virtio-vga.o
CC x86_64-softmmu/hw/intc/apic.o
CC aarch64-softmmu/hw/adc/stm32f2xx_adc.o
CC aarch64-softmmu/hw/block/virtio-blk.o
CC x86_64-softmmu/hw/intc/apic_common.o
CC x86_64-softmmu/hw/intc/ioapic.o
CC aarch64-softmmu/hw/block/dataplane/virtio-blk.o
CC aarch64-softmmu/hw/char/omap_uart.o
CC aarch64-softmmu/hw/char/exynos4210_uart.o
CC x86_64-softmmu/hw/isa/lpc_ich9.o
CC x86_64-softmmu/hw/misc/vmport.o
CC x86_64-softmmu/hw/misc/pvpanic.o
CC aarch64-softmmu/hw/char/digic-uart.o
CC x86_64-softmmu/hw/misc/edu.o
CC x86_64-softmmu/hw/misc/mmio_interface.o
CC x86_64-softmmu/hw/net/virtio-net.o
CC x86_64-softmmu/hw/net/vhost_net.o
CC x86_64-softmmu/hw/scsi/virtio-scsi.o
CC x86_64-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC aarch64-softmmu/hw/char/bcm2835_aux.o
CC aarch64-softmmu/hw/char/stm32f2xx_usart.o
CC x86_64-softmmu/hw/timer/mc146818rtc.o
CC x86_64-softmmu/hw/virtio/virtio.o
CC x86_64-softmmu/hw/virtio/virtio-balloon.o
CC x86_64-softmmu/hw/virtio/virtio-crypto.o
CC aarch64-softmmu/hw/char/virtio-serial-bus.o
CC x86_64-softmmu/hw/virtio/virtio-crypto-pci.o
CC x86_64-softmmu/hw/i386/multiboot.o
CC x86_64-softmmu/hw/i386/pc_piix.o
CC x86_64-softmmu/hw/i386/pc.o
CC aarch64-softmmu/hw/core/generic-loader.o
CC x86_64-softmmu/hw/i386/pc_q35.o
CC aarch64-softmmu/hw/core/null-machine.o
CC x86_64-softmmu/hw/i386/pc_sysfw.o
CC x86_64-softmmu/hw/i386/x86-iommu.o
CC aarch64-softmmu/hw/cpu/realview_mpcore.o
CC x86_64-softmmu/hw/i386/intel_iommu.o
CC aarch64-softmmu/hw/cpu/arm11mpcore.o
CC x86_64-softmmu/hw/i386/amd_iommu.o
CC aarch64-softmmu/hw/cpu/a9mpcore.o
CC aarch64-softmmu/hw/cpu/a15mpcore.o
CC x86_64-softmmu/hw/i386/acpi-build.o
CC aarch64-softmmu/hw/display/omap_lcdc.o
CC x86_64-softmmu/hw/i386/kvmvapic.o
CC aarch64-softmmu/hw/display/omap_dss.o
CC aarch64-softmmu/hw/display/pxa2xx_lcd.o
CC x86_64-softmmu/hw/i386/pci-assign-load-rom.o
CC aarch64-softmmu/hw/display/bcm2835_fb.o
CC x86_64-softmmu/target/i386/translate.o
CC x86_64-softmmu/target/i386/helper.o
CC aarch64-softmmu/hw/display/vga.o
CC x86_64-softmmu/target/i386/cpu.o
CC x86_64-softmmu/target/i386/bpt_helper.o
CC x86_64-softmmu/target/i386/excp_helper.o
CC aarch64-softmmu/hw/display/virtio-gpu.o
CC x86_64-softmmu/target/i386/fpu_helper.o
CC x86_64-softmmu/target/i386/cc_helper.o
CC aarch64-softmmu/hw/display/virtio-gpu-3d.o
CC x86_64-softmmu/target/i386/int_helper.o
CC aarch64-softmmu/hw/display/virtio-gpu-pci.o
CC x86_64-softmmu/target/i386/svm_helper.o
CC x86_64-softmmu/target/i386/misc_helper.o
CC x86_64-softmmu/target/i386/smm_helper.o
CC aarch64-softmmu/hw/display/dpcd.o
CC x86_64-softmmu/target/i386/mem_helper.o
CC aarch64-softmmu/hw/display/xlnx_dp.o
CC aarch64-softmmu/hw/dma/xlnx_dpdma.o
CC x86_64-softmmu/target/i386/seg_helper.o
CC aarch64-softmmu/hw/dma/omap_dma.o
CC x86_64-softmmu/target/i386/mpx_helper.o
CC x86_64-softmmu/target/i386/gdbstub.o
CC aarch64-softmmu/hw/dma/soc_dma.o
CC x86_64-softmmu/target/i386/machine.o
CC x86_64-softmmu/target/i386/arch_memory_mapping.o
CC aarch64-softmmu/hw/dma/pxa2xx_dma.o
CC aarch64-softmmu/hw/dma/bcm2835_dma.o
CC aarch64-softmmu/hw/gpio/omap_gpio.o
CC aarch64-softmmu/hw/gpio/imx_gpio.o
CC x86_64-softmmu/target/i386/arch_dump.o
CC aarch64-softmmu/hw/gpio/bcm2835_gpio.o
CC x86_64-softmmu/target/i386/monitor.o
CC aarch64-softmmu/hw/input/pxa2xx_keypad.o
CC aarch64-softmmu/hw/i2c/omap_i2c.o
CC aarch64-softmmu/hw/input/tsc210x.o
CC x86_64-softmmu/target/i386/kvm-stub.o
CC aarch64-softmmu/hw/intc/armv7m_nvic.o
CC aarch64-softmmu/hw/intc/exynos4210_gic.o
CC x86_64-softmmu/target/i386/hax-all.o
CC aarch64-softmmu/hw/intc/exynos4210_combiner.o
CC x86_64-softmmu/target/i386/hax-mem.o
CC x86_64-softmmu/target/i386/hax-windows.o
CC aarch64-softmmu/hw/intc/omap_intc.o
CC aarch64-softmmu/hw/intc/bcm2835_ic.o
CC aarch64-softmmu/hw/intc/bcm2836_control.o
GEN trace/generated-helpers.c
CC aarch64-softmmu/hw/intc/allwinner-a10-pic.o
CC aarch64-softmmu/hw/intc/aspeed_vic.o
CC aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o
CC aarch64-softmmu/hw/misc/arm_sysctl.o
CC x86_64-softmmu/trace/control-target.o
CC aarch64-softmmu/hw/misc/cbus.o
CC aarch64-softmmu/hw/misc/exynos4210_pmu.o
CC aarch64-softmmu/hw/misc/exynos4210_clk.o
CC aarch64-softmmu/hw/misc/imx_ccm.o
CC x86_64-softmmu/gdbstub-xml.o
CC aarch64-softmmu/hw/misc/imx31_ccm.o
CC aarch64-softmmu/hw/misc/imx25_ccm.o
CC aarch64-softmmu/hw/misc/imx6_src.o
CC aarch64-softmmu/hw/misc/imx6_ccm.o
CC aarch64-softmmu/hw/misc/mst_fpga.o
CC aarch64-softmmu/hw/misc/omap_clk.o
CC aarch64-softmmu/hw/misc/omap_gpmc.o
CC aarch64-softmmu/hw/misc/omap_l4.o
CC aarch64-softmmu/hw/misc/omap_sdrc.o
CC aarch64-softmmu/hw/misc/omap_tap.o
CC aarch64-softmmu/hw/misc/bcm2835_mbox.o
CC aarch64-softmmu/hw/misc/bcm2835_property.o
CC aarch64-softmmu/hw/misc/bcm2835_rng.o
CC aarch64-softmmu/hw/misc/zynq_slcr.o
CC aarch64-softmmu/hw/misc/zynq-xadc.o
CC x86_64-softmmu/trace/generated-helpers.o
CC aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o
CC aarch64-softmmu/hw/misc/edu.o
CC aarch64-softmmu/hw/misc/auxbus.o
CC aarch64-softmmu/hw/misc/aspeed_scu.o
CC aarch64-softmmu/hw/misc/aspeed_sdmc.o
CC aarch64-softmmu/hw/misc/mmio_interface.o
CC aarch64-softmmu/hw/pcmcia/pxa2xx.o
CC aarch64-softmmu/hw/net/vhost_net.o
CC aarch64-softmmu/hw/net/virtio-net.o
CC aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC aarch64-softmmu/hw/scsi/virtio-scsi.o
CC aarch64-softmmu/hw/sd/omap_mmc.o
CC aarch64-softmmu/hw/sd/pxa2xx_mmci.o
CC aarch64-softmmu/hw/ssi/omap_spi.o
CC aarch64-softmmu/hw/sd/bcm2835_sdhost.o
CC aarch64-softmmu/hw/ssi/imx_spi.o
CC aarch64-softmmu/hw/timer/exynos4210_mct.o
CC aarch64-softmmu/hw/timer/exynos4210_pwm.o
LINK x86_64-softmmu/qemu-system-x86_64w.exe
CC aarch64-softmmu/hw/timer/exynos4210_rtc.o
CC aarch64-softmmu/hw/timer/omap_gptimer.o
CC aarch64-softmmu/hw/timer/omap_synctimer.o
CC aarch64-softmmu/hw/timer/pxa2xx_timer.o
CC aarch64-softmmu/hw/timer/digic-timer.o
CC aarch64-softmmu/hw/timer/allwinner-a10-pit.o
CC aarch64-softmmu/hw/virtio/virtio.o
CC aarch64-softmmu/hw/usb/tusb6010.o
CC aarch64-softmmu/hw/virtio/virtio-balloon.o
CC aarch64-softmmu/hw/virtio/virtio-crypto.o
CC aarch64-softmmu/hw/virtio/virtio-crypto-pci.o
CC aarch64-softmmu/hw/arm/boot.o
CC aarch64-softmmu/hw/arm/collie.o
CC aarch64-softmmu/hw/arm/exynos4_boards.o
CC aarch64-softmmu/hw/arm/gumstix.o
CC aarch64-softmmu/hw/arm/digic_boards.o
CC aarch64-softmmu/hw/arm/highbank.o
CC aarch64-softmmu/hw/arm/integratorcp.o
CC aarch64-softmmu/hw/arm/mainstone.o
CC aarch64-softmmu/hw/arm/musicpal.o
CC aarch64-softmmu/hw/arm/nseries.o
CC aarch64-softmmu/hw/arm/omap_sx1.o
CC aarch64-softmmu/hw/arm/palm.o
CC aarch64-softmmu/hw/arm/realview.o
CC aarch64-softmmu/hw/arm/spitz.o
CC aarch64-softmmu/hw/arm/tosa.o
CC aarch64-softmmu/hw/arm/stellaris.o
CC aarch64-softmmu/hw/arm/versatilepb.o
CC aarch64-softmmu/hw/arm/vexpress.o
CC aarch64-softmmu/hw/arm/virt.o
CC aarch64-softmmu/hw/arm/z2.o
CC aarch64-softmmu/hw/arm/xilinx_zynq.o
CC aarch64-softmmu/hw/arm/virt-acpi-build.o
CC aarch64-softmmu/hw/arm/sysbus-fdt.o
CC aarch64-softmmu/hw/arm/netduino2.o
CC aarch64-softmmu/hw/arm/armv7m.o
CC aarch64-softmmu/hw/arm/exynos4210.o
CC aarch64-softmmu/hw/arm/pxa2xx.o
CC aarch64-softmmu/hw/arm/pxa2xx_gpio.o
CC aarch64-softmmu/hw/arm/pxa2xx_pic.o
CC aarch64-softmmu/hw/arm/digic.o
CC aarch64-softmmu/hw/arm/omap1.o
CC aarch64-softmmu/hw/arm/strongarm.o
CC aarch64-softmmu/hw/arm/omap2.o
CC aarch64-softmmu/hw/arm/cubieboard.o
CC aarch64-softmmu/hw/arm/allwinner-a10.o
CC aarch64-softmmu/hw/arm/bcm2836.o
CC aarch64-softmmu/hw/arm/bcm2835_peripherals.o
CC aarch64-softmmu/hw/arm/raspi.o
CC aarch64-softmmu/hw/arm/stm32f205_soc.o
CC aarch64-softmmu/hw/arm/xlnx-zynqmp.o
CC aarch64-softmmu/hw/arm/xlnx-ep108.o
CC aarch64-softmmu/hw/arm/fsl-imx25.o
CC aarch64-softmmu/hw/arm/fsl-imx31.o
CC aarch64-softmmu/hw/arm/imx25_pdk.o
CC aarch64-softmmu/hw/arm/kzm.o
CC aarch64-softmmu/hw/arm/sabrelite.o
CC aarch64-softmmu/hw/arm/fsl-imx6.o
CC aarch64-softmmu/hw/arm/aspeed_soc.o
CC aarch64-softmmu/hw/arm/aspeed.o
CC aarch64-softmmu/target/arm/arm-semi.o
CC aarch64-softmmu/target/arm/psci.o
CC aarch64-softmmu/target/arm/arch_dump.o
CC aarch64-softmmu/target/arm/machine.o
CC aarch64-softmmu/target/arm/monitor.o
CC aarch64-softmmu/target/arm/kvm-stub.o
CC aarch64-softmmu/target/arm/translate.o
CC aarch64-softmmu/target/arm/op_helper.o
CC aarch64-softmmu/target/arm/helper.o
CC aarch64-softmmu/target/arm/cpu.o
CC aarch64-softmmu/target/arm/neon_helper.o
CC aarch64-softmmu/target/arm/iwmmxt_helper.o
CC aarch64-softmmu/target/arm/gdbstub.o
CC aarch64-softmmu/target/arm/cpu64.o
CC aarch64-softmmu/target/arm/translate-a64.o
CC aarch64-softmmu/target/arm/helper-a64.o
CC aarch64-softmmu/target/arm/gdbstub64.o
CC aarch64-softmmu/target/arm/crypto_helper.o
CC aarch64-softmmu/target/arm/arm-powerctl.o
GEN trace/generated-helpers.c
CC aarch64-softmmu/trace/control-target.o
CC aarch64-softmmu/gdbstub-xml.o
CC aarch64-softmmu/trace/generated-helpers.o
LINK aarch64-softmmu/qemu-system-aarch64w.exe
GEN aarch64-softmmu/qemu-system-aarch64.exe
GEN x86_64-softmmu/qemu-system-x86_64.exe
rm -f *.timestamp
make -C tests/tcg clean
make[1]: Entering directory '/var/tmp/qemu-build/tests/tcg'
rm -f *.timestamp
rm -f *~ *.o test-i386.out test-i386.ref \
test-x86_64.log test-x86_64.ref qruncom test_path hello-i386 linux-test testthread sha1-i386 test-i386 test-i386-fprem test-mmap
make[1]: Leaving directory '/var/tmp/qemu-build/tests/tcg'
rm -rf tests/check-qdict.exe tests/test-char.exe tests/check-qfloat.exe tests/check-qint.exe tests/check-qstring.exe tests/check-qlist.exe tests/check-qnull.exe tests/check-qjson.exe tests/test-qobject-output-visitor.exe tests/test-clone-visitor.exe tests/test-qobject-input-visitor.exe tests/test-qmp-commands.exe tests/test-string-input-visitor.exe tests/test-string-output-visitor.exe tests/test-qmp-event.exe tests/test-opts-visitor.exe tests/test-coroutine.exe tests/test-visitor-serialization.exe tests/test-iov.exe tests/test-aio.exe tests/test-aio-multithread.exe tests/test-throttle.exe tests/test-thread-pool.exe tests/test-hbitmap.exe tests/test-blockjob.exe tests/test-blockjob-txn.exe tests/test-x86-cpuid.exe tests/test-xbzrle.exe tests/test-cutils.exe tests/test-shift128.exe tests/test-mul64.exe tests/test-int128.exe tests/rcutorture.exe tests/test-rcu-list.exe tests/test-qdist.exe tests/test-qht.exe tests/test-qht-par.exe tests/test-bitops.exe tests/test-bitcnt.exe tests/test-qdev-global-props.exe tests/check-qom-interface.exe tests/check-qom-proplist.exe tests/test-qemu-opts.exe tests/test-keyval.exe tests/test-write-threshold.exe tests/test-crypto-hash.exe tests/test-crypto-hmac.exe tests/test-crypto-cipher.exe tests/test-crypto-secret.exe tests/test-crypto-tlscredsx509.exe tests/test-crypto-tlssession.exe tests/test-timed-average.exe tests/test-io-task.exe tests/test-io-channel-socket.exe tests/test-io-channel-file.exe tests/test-io-channel-tls.exe tests/test-io-channel-command.exe tests/test-io-channel-buffer.exe tests/test-base64.exe tests/test-crypto-pbkdf.exe tests/test-crypto-ivgen.exe tests/test-crypto-afsplit.exe tests/test-crypto-xts.exe tests/test-crypto-block.exe tests/test-logging.exe tests/test-replication.exe tests/test-bufferiszero.exe tests/test-uuid.exe tests/ptimer-test.exe tests/test-qapi-util.exe tests/*.o
rm -rf tests/ac97-test.exe tests/ahci-test.exe tests/bios-tables-test.exe tests/boot-order-test.exe tests/boot-serial-test.exe tests/device-introspect-test.exe tests/display-vga-test.exe tests/drive_del-test.exe tests/ds1338-test.exe tests/e1000-test.exe tests/e1000e-test.exe tests/eepro100-test.exe tests/endianness-test.exe tests/es1370-test.exe tests/fdc-test.exe tests/fw_cfg-test.exe tests/hd-geo-test.exe tests/i440fx-test.exe tests/i82801b11-test.exe tests/ide-test.exe tests/intel-hda-test.exe tests/ioh3420-test.exe tests/ipmi-bt-test.exe tests/ipmi-kcs-test.exe tests/ipoctal232-test.exe tests/m25p80-test.exe tests/ne2000-test.exe tests/numa-test.exe tests/nvme-test.exe tests/pc-cpu-test.exe tests/pcnet-test.exe tests/pnv-xscom-test.exe tests/postcopy-test.exe tests/prom-env-test.exe tests/pvpanic-test.exe tests/pxe-test.exe tests/q35-test.exe tests/qmp-test.exe tests/qom-test.exe tests/rtas-test.exe tests/rtc-test.exe tests/rtl8139-test.exe tests/spapr-phb-test.exe tests/tco-test.exe tests/test-arm-mptimer.exe tests/test-filter-mirror.exe tests/test-filter-redirector.exe tests/test-hmp.exe tests/test-netfilter.exe tests/test-x86-cpuid-compat.exe tests/tmp105-test.exe tests/tpci200-test.exe tests/usb-hcd-ehci-test.exe tests/usb-hcd-ohci-test.exe tests/usb-hcd-uhci-test.exe tests/usb-hcd-xhci-test.exe tests/virtio-balloon-test.exe tests/virtio-blk-test.exe tests/virtio-console-test.exe tests/virtio-net-test.exe tests/virtio-rng-test.exe tests/virtio-scsi-test.exe tests/virtio-serial-test.exe tests/vmxnet3-test.exe tests/wdt_ib700-test.exe
rm -f config.mak op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h
rm -f qemu-options.def
rm -f *.msi
find . \( -name '*.so' -o -name '*.dll' -o -name '*.mo' -o -name '*.[oda]' \) -type f -exec rm {} +
rm -f qemu-ga qemu-img.exe qemu-io.exe qemu-ga TAGS cscope.* *.pod *~ */*~
rm -f fsdev/*.pod
rm -f qemu-img-cmds.h
rm -f ui/shader/*-vert.h ui/shader/*-frag.h
rm -f trace/generated-tracers-dtrace.dtrace*
rm -f trace/generated-tracers-dtrace.h*
rm -f qemu-version.h qemu-version.h-timestamp config-host.h config-host.h-timestamp qemu-options.def qemu-options.def-timestamp qmp-commands.h qmp-commands.h-timestamp qapi-types.h qapi-types.h-timestamp qapi-visit.h qapi-visit.h-timestamp qapi-event.h qapi-event.h-timestamp qmp-marshal.c qmp-marshal.c-timestamp qapi-types.c qapi-types.c-timestamp qapi-visit.c qapi-visit.c-timestamp qapi-event.c qapi-event.c-timestamp qmp-introspect.h qmp-introspect.h-timestamp qmp-introspect.c qmp-introspect.c-timestamp trace/generated-tcg-tracers.h trace/generated-tcg-tracers.h-timestamp trace/generated-helpers-wrappers.h trace/generated-helpers-wrappers.h-timestamp trace/generated-helpers.h trace/generated-helpers.h-timestamp trace/generated-helpers.c trace/generated-helpers.c-timestamp module_block.h module_block.h-timestamp trace-root.h trace-root.h-timestamp util/trace.h util/trace.h-timestamp crypto/trace.h crypto/trace.h-timestamp io/trace.h io/trace.h-timestamp migration/trace.h migration/trace.h-timestamp block/trace.h block/trace.h-timestamp backends/trace.h backends/trace.h-timestamp chardev/trace.h chardev/trace.h-timestamp hw/block/trace.h hw/block/trace.h-timestamp hw/block/dataplane/trace.h hw/block/dataplane/trace.h-timestamp hw/char/trace.h hw/char/trace.h-timestamp hw/intc/trace.h hw/intc/trace.h-timestamp hw/net/trace.h hw/net/trace.h-timestamp hw/virtio/trace.h hw/virtio/trace.h-timestamp hw/audio/trace.h hw/audio/trace.h-timestamp hw/misc/trace.h hw/misc/trace.h-timestamp hw/usb/trace.h hw/usb/trace.h-timestamp hw/scsi/trace.h hw/scsi/trace.h-timestamp hw/nvram/trace.h hw/nvram/trace.h-timestamp hw/display/trace.h hw/display/trace.h-timestamp hw/input/trace.h hw/input/trace.h-timestamp hw/timer/trace.h hw/timer/trace.h-timestamp hw/dma/trace.h hw/dma/trace.h-timestamp hw/sparc/trace.h hw/sparc/trace.h-timestamp hw/sd/trace.h hw/sd/trace.h-timestamp hw/isa/trace.h hw/isa/trace.h-timestamp hw/mem/trace.h hw/mem/trace.h-timestamp hw/i386/trace.h hw/i386/trace.h-timestamp hw/i386/xen/trace.h hw/i386/xen/trace.h-timestamp hw/9pfs/trace.h hw/9pfs/trace.h-timestamp hw/ppc/trace.h hw/ppc/trace.h-timestamp hw/pci/trace.h hw/pci/trace.h-timestamp hw/s390x/trace.h hw/s390x/trace.h-timestamp hw/vfio/trace.h hw/vfio/trace.h-timestamp hw/acpi/trace.h hw/acpi/trace.h-timestamp hw/arm/trace.h hw/arm/trace.h-timestamp hw/alpha/trace.h hw/alpha/trace.h-timestamp hw/xen/trace.h hw/xen/trace.h-timestamp ui/trace.h ui/trace.h-timestamp audio/trace.h audio/trace.h-timestamp net/trace.h net/trace.h-timestamp target/arm/trace.h target/arm/trace.h-timestamp target/i386/trace.h target/i386/trace.h-timestamp target/mips/trace.h target/mips/trace.h-timestamp target/sparc/trace.h target/sparc/trace.h-timestamp target/s390x/trace.h target/s390x/trace.h-timestamp target/ppc/trace.h target/ppc/trace.h-timestamp qom/trace.h qom/trace.h-timestamp linux-user/trace.h linux-user/trace.h-timestamp qapi/trace.h qapi/trace.h-timestamp trace-root.c trace-root.c-timestamp util/trace.c util/trace.c-timestamp crypto/trace.c crypto/trace.c-timestamp io/trace.c io/trace.c-timestamp migration/trace.c migration/trace.c-timestamp block/trace.c block/trace.c-timestamp backends/trace.c backends/trace.c-timestamp chardev/trace.c chardev/trace.c-timestamp hw/block/trace.c hw/block/trace.c-timestamp hw/block/dataplane/trace.c hw/block/dataplane/trace.c-timestamp hw/char/trace.c hw/char/trace.c-timestamp hw/intc/trace.c hw/intc/trace.c-timestamp hw/net/trace.c hw/net/trace.c-timestamp hw/virtio/trace.c hw/virtio/trace.c-timestamp hw/audio/trace.c hw/audio/trace.c-timestamp hw/misc/trace.c hw/misc/trace.c-timestamp hw/usb/trace.c hw/usb/trace.c-timestamp hw/scsi/trace.c hw/scsi/trace.c-timestamp hw/nvram/trace.c hw/nvram/trace.c-timestamp hw/display/trace.c hw/display/trace.c-timestamp hw/input/trace.c hw/input/trace.c-timestamp hw/timer/trace.c hw/timer/trace.c-timestamp hw/dma/trace.c hw/dma/trace.c-timestamp hw/sparc/trace.c hw/sparc/trace.c-timestamp hw/sd/trace.c hw/sd/trace.c-timestamp hw/isa/trace.c hw/isa/trace.c-timestamp hw/mem/trace.c hw/mem/trace.c-timestamp hw/i386/trace.c hw/i386/trace.c-timestamp hw/i386/xen/trace.c hw/i386/xen/trace.c-timestamp hw/9pfs/trace.c hw/9pfs/trace.c-timestamp hw/ppc/trace.c hw/ppc/trace.c-timestamp hw/pci/trace.c hw/pci/trace.c-timestamp hw/s390x/trace.c hw/s390x/trace.c-timestamp hw/vfio/trace.c hw/vfio/trace.c-timestamp hw/acpi/trace.c hw/acpi/trace.c-timestamp hw/arm/trace.c hw/arm/trace.c-timestamp hw/alpha/trace.c hw/alpha/trace.c-timestamp hw/xen/trace.c hw/xen/trace.c-timestamp ui/trace.c ui/trace.c-timestamp audio/trace.c audio/trace.c-timestamp net/trace.c net/trace.c-timestamp target/arm/trace.c target/arm/trace.c-timestamp target/i386/trace.c target/i386/trace.c-timestamp target/mips/trace.c target/mips/trace.c-timestamp target/sparc/trace.c target/sparc/trace.c-timestamp target/s390x/trace.c target/s390x/trace.c-timestamp target/ppc/trace.c target/ppc/trace.c-timestamp qom/trace.c qom/trace.c-timestamp linux-user/trace.c linux-user/trace.c-timestamp qapi/trace.c qapi/trace.c-timestamp /var/tmp/qemu-build/trace-events-all /var/tmp/qemu-build/trace-events-all-timestamp tests/test-qapi-types.h tests/test-qapi-types.h-timestamp tests/test-qapi-visit.h tests/test-qapi-visit.h-timestamp tests/test-qmp-commands.h tests/test-qmp-commands.h-timestamp tests/test-qapi-event.h tests/test-qapi-event.h-timestamp tests/test-qmp-introspect.h tests/test-qmp-introspect.h-timestamp
rm -rf qapi-generated
rm -rf qga/qapi-generated
for d in x86_64-softmmu aarch64-softmmu pc-bios/optionrom; do \
if test -d $d; then make -C $d clean || exit 1; fi; \
rm -f $d/qemu-options.def; \
done
make[1]: Entering directory '/var/tmp/qemu-build/x86_64-softmmu'
rm -f *.timestamp
rm -f *.a *~ qemu-system-x86_64.exe qemu-system-x86_64w.exe
rm -f
rm -f hmp-commands.h gdbstub-xml.c
make[1]: Leaving directory '/var/tmp/qemu-build/x86_64-softmmu'
make[1]: Entering directory '/var/tmp/qemu-build/aarch64-softmmu'
rm -f *.timestamp
rm -f *.a *~ qemu-system-aarch64.exe qemu-system-aarch64w.exe
rm -f
rm -f hmp-commands.h gdbstub-xml.c
make[1]: Leaving directory '/var/tmp/qemu-build/aarch64-softmmu'
make[1]: Entering directory '/var/tmp/qemu-build/pc-bios/optionrom'
rm -f *.timestamp
rm -f *.o *.d *.raw *.img *.bin *~
make[1]: Leaving directory '/var/tmp/qemu-build/pc-bios/optionrom'
rm -f x86_64-softmmu/config-devices.mak aarch64-softmmu/config-devices.mak config-all-devices.mak
make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-mzb938u9/src'
real 8m17.404s
user 0m5.382s
sys 0m1.829s
BUILD min-glib
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-mzb938u9/src'
ARCHIVE qemu.tgz
ARCHIVE dtc.tgz
COPY RUNNER
RUN test-build in qemu:min-glib
Environment variables:
HOSTNAME=fcdf9d7e215a
TERM=xterm
MAKEFLAGS= -j8
HISTSIZE=1000
J=8
USER=root
CCACHE_DIR=/var/tmp/ccache
EXTRA_CONFIGURE_OPTS=
V=
SHOW_ENV=1
MAIL=/var/spool/mail/root
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
LANG=en_US.UTF-8
TARGET_LIST=
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
TEST_DIR=/tmp/qemu-test
LOGNAME=root
LESSOPEN=||/usr/bin/lesspipe.sh %s
FEATURES= dtc
DEBUG=
G_BROKEN_FILENAMES=1
CCACHE_HASHDIR=
_=/usr/bin/env
Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/var/tmp/qemu-build/install
/tmp/qemu-test/src/configure: line 4683: c++: command not found
No C++ compiler available; disabling C++ specific optional code
Install prefix /var/tmp/qemu-build/install
BIOS directory /var/tmp/qemu-build/install/share/qemu
binary directory /var/tmp/qemu-build/install/bin
library directory /var/tmp/qemu-build/install/lib
module directory /var/tmp/qemu-build/install/lib/qemu
libexec directory /var/tmp/qemu-build/install/libexec
include directory /var/tmp/qemu-build/install/include
config directory /var/tmp/qemu-build/install/etc
local state directory /var/tmp/qemu-build/install/var
Manual directory /var/tmp/qemu-build/install/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /tmp/qemu-test/src
C compiler cc
Host C compiler cc
C++ compiler
Objective-C compiler cc
ARFLAGS rv
CFLAGS -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g
QEMU_CFLAGS -I/usr/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all
LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g
make make
install install
python python -B
smbd /usr/sbin/smbd
module support no
host CPU x86_64
host big endian no
target list x86_64-softmmu aarch64-softmmu
tcg debug enabled no
gprof enabled no
sparse enabled no
strip binaries yes
profiler no
static build no
pixman system
SDL support yes (1.2.14)
GTK support no
GTK GL support no
VTE support no
TLS priority NORMAL
GNUTLS support no
GNUTLS rnd no
libgcrypt no
libgcrypt kdf no
nettle no
nettle kdf no
libtasn1 no
curses support no
virgl support no
curl support no
mingw32 support no
Audio drivers oss
Block whitelist (rw)
Block whitelist (ro)
VirtFS support no
VNC support yes
VNC SASL support no
VNC JPEG support no
VNC PNG support no
xen support no
brlapi support no
bluez support no
Documentation no
PIE yes
vde support no
netmap support no
Linux AIO support no
ATTR/XATTR support yes
Install blobs yes
KVM support yes
HAX support no
RDMA support no
TCG interpreter no
fdt support yes
preadv support yes
fdatasync yes
madvise yes
posix_madvise yes
libcap-ng support no
vhost-net support yes
vhost-scsi support yes
vhost-vsock support yes
Trace backends log
spice support no
rbd support no
xfsctl support no
smartcard support no
libusb no
usb net redir no
OpenGL support no
OpenGL dmabufs no
libiscsi support no
libnfs support no
build guest agent yes
QGA VSS support no
QGA w32 disk info no
QGA MSI support no
seccomp support no
coroutine backend ucontext
coroutine pool yes
debug stack usage no
GlusterFS support no
gcov gcov
gcov enabled no
TPM support yes
libssh2 support no
TPM passthrough yes
QOM debugging yes
Live block migration yes
lzo support no
snappy support no
bzip2 support no
NUMA host support no
tcmalloc support no
jemalloc support no
avx2 optimization no
replication support yes
VxHS block device no
GEN aarch64-softmmu/config-devices.mak.tmp
mkdir -p dtc/libfdt
mkdir -p dtc/tests
GEN x86_64-softmmu/config-devices.mak.tmp
GEN config-host.h
GEN qemu-options.def
GEN qapi-visit.h
GEN qapi-types.h
GEN qmp-commands.h
GEN qapi-event.h
GEN x86_64-softmmu/config-devices.mak
GEN aarch64-softmmu/config-devices.mak
GEN qmp-marshal.c
GEN qapi-types.c
GEN qapi-visit.c
GEN qapi-event.c
GEN qmp-introspect.h
GEN qmp-introspect.c
GEN trace/generated-tcg-tracers.h
GEN trace/generated-helpers-wrappers.h
GEN trace/generated-helpers.h
GEN trace/generated-helpers.c
GEN module_block.h
GEN tests/test-qapi-types.h
GEN tests/test-qapi-visit.h
GEN tests/test-qmp-commands.h
GEN tests/test-qapi-event.h
GEN tests/test-qmp-introspect.h
GEN trace-root.h
GEN util/trace.h
GEN crypto/trace.h
GEN io/trace.h
GEN migration/trace.h
GEN block/trace.h
GEN backends/trace.h
GEN chardev/trace.h
GEN hw/block/trace.h
GEN hw/block/dataplane/trace.h
GEN hw/char/trace.h
GEN hw/intc/trace.h
GEN hw/net/trace.h
GEN hw/virtio/trace.h
GEN hw/audio/trace.h
GEN hw/misc/trace.h
GEN hw/usb/trace.h
GEN hw/scsi/trace.h
GEN hw/nvram/trace.h
GEN hw/display/trace.h
GEN hw/input/trace.h
GEN hw/timer/trace.h
GEN hw/dma/trace.h
GEN hw/sparc/trace.h
GEN hw/sd/trace.h
GEN hw/isa/trace.h
GEN hw/mem/trace.h
GEN hw/i386/trace.h
GEN hw/i386/xen/trace.h
GEN hw/9pfs/trace.h
GEN hw/ppc/trace.h
GEN hw/pci/trace.h
GEN hw/s390x/trace.h
GEN hw/vfio/trace.h
GEN hw/acpi/trace.h
GEN hw/arm/trace.h
GEN hw/alpha/trace.h
GEN hw/xen/trace.h
GEN ui/trace.h
GEN audio/trace.h
GEN net/trace.h
GEN target/arm/trace.h
GEN target/i386/trace.h
GEN target/mips/trace.h
GEN target/sparc/trace.h
GEN target/s390x/trace.h
GEN target/ppc/trace.h
GEN qom/trace.h
GEN linux-user/trace.h
GEN qapi/trace.h
GEN trace-root.c
GEN util/trace.c
GEN crypto/trace.c
GEN io/trace.c
GEN migration/trace.c
GEN block/trace.c
GEN backends/trace.c
GEN chardev/trace.c
GEN hw/block/trace.c
GEN hw/block/dataplane/trace.c
GEN hw/char/trace.c
GEN hw/intc/trace.c
GEN hw/net/trace.c
GEN hw/virtio/trace.c
GEN hw/audio/trace.c
GEN hw/misc/trace.c
GEN hw/usb/trace.c
GEN hw/scsi/trace.c
GEN hw/nvram/trace.c
GEN hw/display/trace.c
GEN hw/input/trace.c
GEN hw/timer/trace.c
GEN hw/dma/trace.c
GEN hw/sparc/trace.c
GEN hw/sd/trace.c
GEN hw/isa/trace.c
GEN hw/mem/trace.c
GEN hw/i386/trace.c
GEN hw/i386/xen/trace.c
GEN hw/9pfs/trace.c
GEN hw/ppc/trace.c
GEN hw/pci/trace.c
GEN hw/s390x/trace.c
GEN hw/vfio/trace.c
GEN hw/acpi/trace.c
GEN hw/arm/trace.c
GEN hw/alpha/trace.c
GEN hw/xen/trace.c
GEN ui/trace.c
GEN audio/trace.c
GEN net/trace.c
GEN target/arm/trace.c
GEN target/i386/trace.c
GEN target/mips/trace.c
GEN target/sparc/trace.c
GEN target/s390x/trace.c
GEN target/ppc/trace.c
GEN qom/trace.c
GEN linux-user/trace.c
GEN qapi/trace.c
GEN config-all-devices.mak
DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c
DEP /tmp/qemu-test/src/dtc/tests/trees.S
DEP /tmp/qemu-test/src/dtc/tests/testutils.c
DEP /tmp/qemu-test/src/dtc/tests/value-labels.c
DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c
DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c
DEP /tmp/qemu-test/src/dtc/tests/check_path.c
DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c
DEP /tmp/qemu-test/src/dtc/tests/overlay.c
DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c
DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c
DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c
DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c
DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c
DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c
DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c
DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c
DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c
DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c
DEP /tmp/qemu-test/src/dtc/tests/incbin.c
DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c
DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c
DEP /tmp/qemu-test/src/dtc/tests/path-references.c
DEP /tmp/qemu-test/src/dtc/tests/references.c
DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c
DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c
DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c
DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c
DEP /tmp/qemu-test/src/dtc/tests/del_node.c
DEP /tmp/qemu-test/src/dtc/tests/del_property.c
DEP /tmp/qemu-test/src/dtc/tests/setprop.c
DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c
DEP /tmp/qemu-test/src/dtc/tests/set_name.c
DEP /tmp/qemu-test/src/dtc/tests/open_pack.c
DEP /tmp/qemu-test/src/dtc/tests/nopulate.c
DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c
DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c
DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c
DEP /tmp/qemu-test/src/dtc/tests/nop_node.c
DEP /tmp/qemu-test/src/dtc/tests/nop_property.c
DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c
DEP /tmp/qemu-test/src/dtc/tests/stringlist.c
DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c
DEP /tmp/qemu-test/src/dtc/tests/notfound.c
DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c
DEP /tmp/qemu-test/src/dtc/tests/char_literal.c
DEP /tmp/qemu-test/src/dtc/tests/get_alias.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c
DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c
DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c
DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c
DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c
DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c
DEP /tmp/qemu-test/src/dtc/tests/get_path.c
DEP /tmp/qemu-test/src/dtc/tests/getprop.c
DEP /tmp/qemu-test/src/dtc/tests/get_name.c
DEP /tmp/qemu-test/src/dtc/tests/path_offset.c
DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c
DEP /tmp/qemu-test/src/dtc/tests/find_property.c
DEP /tmp/qemu-test/src/dtc/tests/root_node.c
DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c
DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c
DEP /tmp/qemu-test/src/dtc/util.c
DEP /tmp/qemu-test/src/dtc/fdtput.c
DEP /tmp/qemu-test/src/dtc/fdtget.c
DEP /tmp/qemu-test/src/dtc/fdtdump.c
LEX convert-dtsv0-lexer.lex.c
make[1]: flex: Command not found
DEP /tmp/qemu-test/src/dtc/srcpos.c
BISON dtc-parser.tab.c
make[1]: bison: Command not found
LEX dtc-lexer.lex.c
make[1]: flex: Command not found
DEP /tmp/qemu-test/src/dtc/livetree.c
DEP /tmp/qemu-test/src/dtc/treesource.c
DEP /tmp/qemu-test/src/dtc/fstree.c
DEP /tmp/qemu-test/src/dtc/flattree.c
DEP /tmp/qemu-test/src/dtc/dtc.c
DEP /tmp/qemu-test/src/dtc/data.c
DEP /tmp/qemu-test/src/dtc/checks.c
CHK version_gen.h
LEX convert-dtsv0-lexer.lex.c
make[1]: flex: Command not found
LEX dtc-lexer.lex.c
BISON dtc-parser.tab.c
UPD version_gen.h
make[1]: flex: Command not found
make[1]: bison: Command not found
DEP /tmp/qemu-test/src/dtc/util.c
LEX convert-dtsv0-lexer.lex.c
BISON dtc-parser.tab.c
make[1]: flex: Command not found
make[1]: bison: Command not found
LEX dtc-lexer.lex.c
make[1]: flex: Command not found
CC libfdt/fdt_ro.o
CC libfdt/fdt.o
CC libfdt/fdt_wip.o
CC libfdt/fdt_rw.o
CC libfdt/fdt_strerror.o
CC libfdt/fdt_sw.o
CC libfdt/fdt_empty_tree.o
CC libfdt/fdt_addresses.o
CC libfdt/fdt_overlay.o
AR libfdt/libfdt.a
ar: creating libfdt/libfdt.a
a - libfdt/fdt.o
a - libfdt/fdt_ro.o
a - libfdt/fdt_wip.o
a - libfdt/fdt_sw.o
a - libfdt/fdt_rw.o
a - libfdt/fdt_strerror.o
a - libfdt/fdt_empty_tree.o
a - libfdt/fdt_addresses.o
a - libfdt/fdt_overlay.o
LEX convert-dtsv0-lexer.lex.c
make[1]: flex: Command not found
BISON dtc-parser.tab.c
make[1]: bison: Command not found
LEX dtc-lexer.lex.c
make[1]: flex: Command not found
CC tests/qemu-iotests/socket_scm_helper.o
GEN qga/qapi-generated/qga-qapi-types.h
GEN qga/qapi-generated/qga-qapi-visit.h
GEN qga/qapi-generated/qga-qapi-types.c
GEN qga/qapi-generated/qga-qapi-visit.c
GEN qga/qapi-generated/qga-qmp-commands.h
GEN qga/qapi-generated/qga-qmp-marshal.c
CC qmp-introspect.o
CC qapi-types.o
CC qapi-visit.o
CC qapi-event.o
CC qapi/qapi-visit-core.o
CC qapi/qapi-dealloc-visitor.o
CC qapi/qobject-input-visitor.o
CC qapi/qobject-output-visitor.o
CC qapi/qmp-registry.o
CC qapi/qmp-dispatch.o
CC qapi/string-input-visitor.o
CC qapi/string-output-visitor.o
CC qapi/opts-visitor.o
CC qapi/qmp-event.o
CC qapi/qapi-clone-visitor.o
CC qapi/qapi-util.o
CC qobject/qint.o
CC qobject/qstring.o
CC qobject/qnull.o
CC qobject/qdict.o
CC qobject/qlist.o
CC qobject/qjson.o
CC qobject/qfloat.o
CC qobject/qbool.o
CC qobject/qobject.o
CC qobject/json-lexer.o
CC qobject/json-streamer.o
CC qobject/json-parser.o
CC trace/control.o
CC util/osdep.o
CC trace/qmp.o
CC util/cutils.o
CC util/unicode.o
CC util/qemu-timer-common.o
CC util/bufferiszero.o
CC util/aiocb.o
CC util/lockcnt.o
CC util/thread-pool.o
CC util/async.o
CC util/main-loop.o
CC util/qemu-timer.o
CC util/iohandler.o
CC util/aio-posix.o
CC util/compatfd.o
CC util/event_notifier-posix.o
CC util/mmap-alloc.o
CC util/oslib-posix.o
CC util/qemu-openpty.o
CC util/qemu-thread-posix.o
CC util/memfd.o
CC util/envlist.o
CC util/path.o
CC util/module.o
CC util/host-utils.o
CC util/bitops.o
CC util/hbitmap.o
CC util/bitmap.o
CC util/fifo8.o
CC util/error.o
CC util/acl.o
CC util/qemu-error.o
CC util/iov.o
CC util/id.o
CC util/qemu-config.o
CC util/qemu-sockets.o
CC util/uri.o
CC util/notify.o
CC util/qemu-option.o
CC util/qemu-progress.o
CC util/keyval.o
CC util/hexdump.o
CC util/crc32c.o
CC util/throttle.o
CC util/uuid.o
CC util/getauxval.o
CC util/readline.o
CC util/rcu.o
CC util/qemu-coroutine.o
CC util/qemu-coroutine-lock.o
CC util/qemu-coroutine-io.o
CC util/qemu-coroutine-sleep.o
CC util/coroutine-ucontext.o
CC util/buffer.o
CC util/timed-average.o
CC util/base64.o
CC util/log.o
CC util/qdist.o
CC util/qht.o
CC util/range.o
CC util/systemd.o
CC trace-root.o
CC util/trace.o
CC crypto/trace.o
CC io/trace.o
CC migration/trace.o
CC block/trace.o
CC chardev/trace.o
CC hw/block/trace.o
CC backends/trace.o
CC hw/block/dataplane/trace.o
CC hw/char/trace.o
CC hw/intc/trace.o
CC hw/net/trace.o
CC hw/virtio/trace.o
CC hw/audio/trace.o
CC hw/misc/trace.o
CC hw/usb/trace.o
CC hw/scsi/trace.o
CC hw/nvram/trace.o
CC hw/display/trace.o
CC hw/input/trace.o
CC hw/timer/trace.o
CC hw/dma/trace.o
CC hw/sparc/trace.o
CC hw/sd/trace.o
CC hw/isa/trace.o
CC hw/mem/trace.o
CC hw/i386/trace.o
CC hw/i386/xen/trace.o
CC hw/9pfs/trace.o
CC hw/ppc/trace.o
CC hw/pci/trace.o
CC hw/s390x/trace.o
CC hw/vfio/trace.o
CC hw/acpi/trace.o
CC hw/alpha/trace.o
CC hw/arm/trace.o
CC hw/xen/trace.o
CC ui/trace.o
CC audio/trace.o
CC target/arm/trace.o
CC net/trace.o
CC target/i386/trace.o
CC target/mips/trace.o
CC target/sparc/trace.o
CC target/s390x/trace.o
CC target/ppc/trace.o
CC qom/trace.o
CC qapi/trace.o
CC linux-user/trace.o
CC crypto/pbkdf-stub.o
CC stubs/arch-query-cpu-def.o
CC stubs/arch-query-cpu-model-expansion.o
CC stubs/arch-query-cpu-model-comparison.o
CC stubs/arch-query-cpu-model-baseline.o
CC stubs/bdrv-next-monitor-owned.o
CC stubs/blk-commit-all.o
CC stubs/blockdev-close-all-bdrv-states.o
CC stubs/clock-warp.o
CC stubs/cpu-get-clock.o
CC stubs/cpu-get-icount.o
CC stubs/dump.o
CC stubs/error-printf.o
CC stubs/fdset.o
CC stubs/gdbstub.o
CC stubs/get-vm-name.o
CC stubs/iothread.o
CC stubs/iothread-lock.o
CC stubs/is-daemonized.o
CC stubs/machine-init-done.o
CC stubs/migr-blocker.o
CC stubs/monitor.o
CC stubs/notify-event.o
CC stubs/qtest.o
CC stubs/replay.o
CC stubs/runstate-check.o
CC stubs/set-fd-handler.o
CC stubs/slirp.o
CC stubs/sysbus.o
CC stubs/trace-control.o
CC stubs/uuid.o
CC stubs/vm-stop.o
CC stubs/vmstate.o
CC stubs/qmp_pc_dimm_device_list.o
CC stubs/target-get-monitor-def.o
CC stubs/target-monitor-defs.o
CC stubs/pc_madt_cpu_entry.o
CC stubs/vmgenid.o
CC stubs/xen-common.o
CC stubs/xen-hvm.o
CC contrib/ivshmem-client/ivshmem-client.o
CC contrib/ivshmem-client/main.o
CC contrib/ivshmem-server/ivshmem-server.o
CC contrib/ivshmem-server/main.o
CC qemu-nbd.o
CC block.o
CC blockjob.o
CC qemu-io-cmds.o
CC replication.o
CC block/raw-format.o
CC block/qcow.o
CC block/vdi.o
CC block/vmdk.o
CC block/cloop.o
CC block/bochs.o
CC block/vpc.o
CC block/vvfat.o
CC block/dmg.o
CC block/qcow2.o
CC block/qcow2-refcount.o
CC block/qcow2-cluster.o
CC block/qcow2-snapshot.o
CC block/qcow2-cache.o
CC block/qed.o
CC block/qed-gencb.o
CC block/qed-l2-cache.o
CC block/qed-table.o
CC block/qed-cluster.o
CC block/qed-check.o
CC block/vhdx.o
CC block/vhdx-endian.o
CC block/vhdx-log.o
CC block/quorum.o
CC block/parallels.o
CC block/blkdebug.o
CC block/blkreplay.o
CC block/blkverify.o
CC block/block-backend.o
CC block/snapshot.o
CC block/qapi.o
CC block/file-posix.o
CC block/null.o
CC block/mirror.o
CC block/commit.o
CC block/io.o
CC block/throttle-groups.o
CC block/nbd.o
CC block/nbd-client.o
CC block/sheepdog.o
CC block/accounting.o
CC block/dirty-bitmap.o
CC block/backup.o
CC block/crypto.o
CC block/replication.o
CC block/write-threshold.o
CC nbd/server.o
CC nbd/client.o
CC crypto/init.o
CC nbd/common.o
CC crypto/hmac-glib.o
CC crypto/hash.o
CC crypto/hash-glib.o
CC crypto/hmac.o
CC crypto/aes.o
CC crypto/desrfb.o
CC crypto/cipher.o
CC crypto/tlscreds.o
CC crypto/tlscredsanon.o
CC crypto/tlscredsx509.o
CC crypto/tlssession.o
CC crypto/secret.o
CC crypto/random-platform.o
CC crypto/pbkdf.o
CC crypto/ivgen-essiv.o
CC crypto/ivgen.o
CC crypto/ivgen-plain.o
CC crypto/ivgen-plain64.o
CC crypto/afsplit.o
CC crypto/xts.o
CC crypto/block.o
CC crypto/block-luks.o
CC crypto/block-qcow.o
CC io/channel-buffer.o
CC io/channel.o
CC io/channel-command.o
CC io/channel-file.o
CC io/channel-tls.o
CC io/channel-socket.o
CC io/channel-watch.o
CC io/channel-util.o
CC io/dns-resolver.o
CC io/channel-websock.o
CC io/task.o
CC qom/object.o
CC qom/container.o
CC qom/qom-qobject.o
CC qom/object_interfaces.o
GEN qemu-img-cmds.h
CC qemu-io.o
CC qemu-bridge-helper.o
CC blockdev.o
CC blockdev-nbd.o
CC qdev-monitor.o
CC iothread.o
CC device-hotplug.o
CC os-posix.o
CC accel.o
CC bt-host.o
CC dma-helpers.o
CC vl.o
CC bt-vhci.o
CC tpm.o
CC device_tree.o
CC qmp-marshal.o
CC qmp.o
CC hmp.o
CC cpus-common.o
CC audio/audio.o
CC audio/noaudio.o
CC audio/wavaudio.o
CC audio/mixeng.o
CC audio/sdlaudio.o
CC audio/ossaudio.o
CC audio/wavcapture.o
CC backends/rng.o
CC backends/rng-egd.o
CC backends/rng-random.o
CC backends/tpm.o
CC backends/hostmem.o
CC backends/hostmem-ram.o
CC backends/hostmem-file.o
CC backends/cryptodev.o
CC backends/cryptodev-builtin.o
CC block/stream.o
CC chardev/msmouse.o
CC chardev/wctablet.o
CC chardev/testdev.o
CC disas/arm.o
CC disas/i386.o
CC fsdev/qemu-fsdev-dummy.o
CC fsdev/qemu-fsdev-throttle.o
CC hw/acpi/core.o
CC fsdev/qemu-fsdev-opts.o
CC hw/acpi/piix4.o
CC hw/acpi/pcihp.o
CC hw/acpi/ich9.o
CC hw/acpi/tco.o
CC hw/acpi/cpu_hotplug.o
CC hw/acpi/memory_hotplug.o
CC hw/acpi/cpu.o
CC hw/acpi/nvdimm.o
CC hw/acpi/vmgenid.o
CC hw/acpi/acpi_interface.o
CC hw/acpi/bios-linker-loader.o
CC hw/acpi/aml-build.o
CC hw/acpi/ipmi.o
CC hw/acpi/acpi-stub.o
CC hw/acpi/ipmi-stub.o
CC hw/audio/sb16.o
CC hw/audio/es1370.o
CC hw/audio/ac97.o
CC hw/audio/fmopl.o
CC hw/audio/adlib.o
CC hw/audio/gus.o
CC hw/audio/gusemu_hal.o
CC hw/audio/cs4231a.o
CC hw/audio/gusemu_mixer.o
CC hw/audio/intel-hda.o
CC hw/audio/hda-codec.o
CC hw/audio/pcspk.o
CC hw/audio/wm8750.o
CC hw/audio/pl041.o
CC hw/audio/lm4549.o
CC hw/audio/marvell_88w8618.o
CC hw/audio/soundhw.o
CC hw/block/block.o
CC hw/block/cdrom.o
CC hw/block/hd-geometry.o
CC hw/block/fdc.o
CC hw/block/m25p80.o
CC hw/block/nand.o
CC hw/block/pflash_cfi02.o
CC hw/block/pflash_cfi01.o
CC hw/block/ecc.o
CC hw/block/onenand.o
CC hw/block/nvme.o
CC hw/bt/core.o
CC hw/bt/l2cap.o
CC hw/bt/hci.o
CC hw/bt/sdp.o
CC hw/bt/hci-csr.o
CC hw/bt/hid.o
CC hw/char/ipoctal232.o
CC hw/char/parallel.o
CC hw/char/pl011.o
CC hw/char/serial.o
CC hw/char/serial-isa.o
CC hw/char/serial-pci.o
CC hw/char/virtio-console.o
CC hw/char/cadence_uart.o
CC hw/char/debugcon.o
CC hw/char/imx_serial.o
CC hw/core/qdev-properties.o
CC hw/core/qdev.o
CC hw/core/bus.o
CC hw/core/reset.o
CC hw/core/fw-path-provider.o
CC hw/core/irq.o
CC hw/core/hotplug.o
CC hw/core/nmi.o
CC hw/core/ptimer.o
CC hw/core/sysbus.o
CC hw/core/machine.o
CC hw/core/loader.o
CC hw/core/qdev-properties-system.o
CC hw/core/register.o
CC hw/core/or-irq.o
CC hw/core/platform-bus.o
CC hw/cpu/core.o
CC hw/display/ads7846.o
CC hw/display/cirrus_vga.o
CC hw/display/pl110.o
CC hw/display/ssd0303.o
CC hw/display/ssd0323.o
CC hw/display/vga-pci.o
CC hw/display/vga-isa.o
CC hw/display/vmware_vga.o
CC hw/display/blizzard.o
CC hw/display/exynos4210_fimd.o
CC hw/display/framebuffer.o
CC hw/display/tc6393xb.o
CC hw/dma/pl080.o
CC hw/dma/pl330.o
CC hw/dma/i8257.o
CC hw/dma/xlnx-zynq-devcfg.o
CC hw/gpio/max7310.o
CC hw/gpio/pl061.o
CC hw/gpio/zaurus.o
CC hw/gpio/gpio_key.o
CC hw/i2c/core.o
CC hw/i2c/smbus.o
CC hw/i2c/smbus_eeprom.o
CC hw/i2c/i2c-ddc.o
CC hw/i2c/versatile_i2c.o
CC hw/i2c/smbus_ich9.o
CC hw/i2c/pm_smbus.o
CC hw/i2c/bitbang_i2c.o
CC hw/i2c/exynos4210_i2c.o
CC hw/i2c/imx_i2c.o
CC hw/i2c/aspeed_i2c.o
CC hw/ide/core.o
CC hw/ide/atapi.o
CC hw/ide/qdev.o
CC hw/ide/pci.o
CC hw/ide/isa.o
CC hw/ide/piix.o
CC hw/ide/microdrive.o
CC hw/ide/ahci.o
CC hw/ide/ich.o
CC hw/input/hid.o
CC hw/input/lm832x.o
CC hw/input/pckbd.o
CC hw/input/pl050.o
CC hw/input/ps2.o
CC hw/input/stellaris_input.o
CC hw/input/tsc2005.o
CC hw/input/vmmouse.o
CC hw/input/virtio-input.o
CC hw/input/virtio-input-hid.o
CC hw/input/virtio-input-host.o
CC hw/intc/i8259_common.o
CC hw/intc/i8259.o
CC hw/intc/pl190.o
CC hw/intc/imx_avic.o
CC hw/intc/realview_gic.o
CC hw/intc/ioapic_common.o
CC hw/intc/arm_gic_common.o
CC hw/intc/arm_gic.o
CC hw/intc/arm_gicv2m.o
CC hw/intc/arm_gicv3_common.o
CC hw/intc/arm_gicv3.o
CC hw/intc/arm_gicv3_dist.o
CC hw/intc/arm_gicv3_redist.o
CC hw/intc/arm_gicv3_its_common.o
CC hw/ipack/ipack.o
CC hw/intc/intc.o
CC hw/ipack/tpci200.o
CC hw/ipmi/ipmi.o
CC hw/ipmi/ipmi_bmc_sim.o
CC hw/ipmi/ipmi_bmc_extern.o
CC hw/ipmi/isa_ipmi_kcs.o
CC hw/ipmi/isa_ipmi_bt.o
CC hw/isa/isa-bus.o
CC hw/isa/apm.o
CC hw/mem/pc-dimm.o
CC hw/mem/nvdimm.o
CC hw/misc/applesmc.o
CC hw/misc/max111x.o
CC hw/misc/tmp105.o
CC hw/misc/tmp421.o
CC hw/misc/sga.o
CC hw/misc/debugexit.o
CC hw/misc/pc-testdev.o
CC hw/misc/pci-testdev.o
CC hw/misc/unimp.o
CC hw/misc/arm_l2x0.o
CC hw/misc/arm_integrator_debug.o
CC hw/misc/a9scu.o
CC hw/net/ne2000.o
CC hw/misc/arm11scu.o
CC hw/net/eepro100.o
CC hw/net/pcnet-pci.o
CC hw/net/pcnet.o
CC hw/net/e1000.o
CC hw/net/e1000x_common.o
CC hw/net/net_tx_pkt.o
CC hw/net/net_rx_pkt.o
CC hw/net/e1000e.o
CC hw/net/e1000e_core.o
CC hw/net/rtl8139.o
CC hw/net/vmxnet3.o
CC hw/net/smc91c111.o
CC hw/net/lan9118.o
CC hw/net/ne2000-isa.o
CC hw/net/xgmac.o
CC hw/net/allwinner_emac.o
CC hw/net/cadence_gem.o
CC hw/net/imx_fec.o
CC hw/net/stellaris_enet.o
In file included from /tmp/qemu-test/src/hw/net/vmxnet3.c:30:
/tmp/qemu-test/src/include/migration/register.h:18: error: redefinition of typedef ‘LoadStateHandler’
/tmp/qemu-test/src/include/migration/vmstate.h:32: note: previous declaration of ‘LoadStateHandler’ was here
make: *** [hw/net/vmxnet3.o] Error 1
make: *** Waiting for unfinished jobs....
tests/docker/Makefile.include:118: recipe for target 'docker-run' failed
make[1]: *** [docker-run] Error 2
make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-mzb938u9/src'
tests/docker/Makefile.include:149: recipe for target 'docker-run-test-build@min-glib' failed
make: *** [docker-run-test-build@min-glib] Error 2
=== OUTPUT END ===
Test command exited with code: 2
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org
On 14 June 2017 at 18:45, Edgar E. Iglesias <edgar.iglesias@gmail.com> wrote: > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > Hi, > > Paolo suggested offline that we send a pull request for this series. > Here it is, I've run it through my testsuite + tested the LQSPI testcase > on Zynq. > > Cheers, > Edgar > > The following changes since commit 3f0602927b120a480b35dcf58cf6f95435b3ae91: > > Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20170613' into staging (2017-06-13 15:49:07 +0100) > > are available in the git repository at: > > git@github.com:edgarigl/qemu.git tags/edgar/mmio-exec.for-upstream > > for you to fetch changes up to 63ef40dd6bc6cfdae5fa67ccac1cb11e7a5161b0: > > xilinx_spips: allow mmio execution (2017-06-14 17:31:08 +0200) > > ---------------------------------------------------------------- > mmio-exec.for-upstream > > ---------------------------------------------------------------- > KONRAD Frederic (7): > cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT > cputlb: move get_page_addr_code > cputlb: fix the way get_page_addr_code fills the tlb > qdev: add MemoryRegion property > introduce mmio_interface > exec: allow to get a pointer for some mmio memory region > xilinx_spips: allow mmio execution Hi Edgar -- since these patches have come via your tree they should have your signed-off-by line, not just Fred's. They also seem to still have all the V1->V2->V3 revision notes in the commit logs. I'd be happier with a reviewed-by: from somebody for the exec: patch, if possible... thanks -- PMM
On Fri, Jun 23, 2017 at 11:54:52AM +0100, Peter Maydell wrote: > On 14 June 2017 at 18:45, Edgar E. Iglesias <edgar.iglesias@gmail.com> wrote: > > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > > > Hi, > > > > Paolo suggested offline that we send a pull request for this series. > > Here it is, I've run it through my testsuite + tested the LQSPI testcase > > on Zynq. > > > > Cheers, > > Edgar > > > > The following changes since commit 3f0602927b120a480b35dcf58cf6f95435b3ae91: > > > > Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20170613' into staging (2017-06-13 15:49:07 +0100) > > > > are available in the git repository at: > > > > git@github.com:edgarigl/qemu.git tags/edgar/mmio-exec.for-upstream > > > > for you to fetch changes up to 63ef40dd6bc6cfdae5fa67ccac1cb11e7a5161b0: > > > > xilinx_spips: allow mmio execution (2017-06-14 17:31:08 +0200) > > > > ---------------------------------------------------------------- > > mmio-exec.for-upstream > > > > ---------------------------------------------------------------- > > KONRAD Frederic (7): > > cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT > > cputlb: move get_page_addr_code > > cputlb: fix the way get_page_addr_code fills the tlb > > qdev: add MemoryRegion property > > introduce mmio_interface > > exec: allow to get a pointer for some mmio memory region > > xilinx_spips: allow mmio execution > > Hi Edgar -- since these patches have come via your tree they should > have your signed-off-by line, not just Fred's. They also seem to > still have all the V1->V2->V3 revision notes in the commit logs. OK thanks, I'll fix both things for v2. > > I'd be happier with a reviewed-by: from somebody for the exec: > patch, if possible... We must have lost mine. Anyway, I've had another review and it looks good to me. Of course the more eyes the better... I'll post a v2 in a moment. Best regards, Edgar
Le 06/23/2017 à 12:54 PM, Peter Maydell a écrit : > On 14 June 2017 at 18:45, Edgar E. Iglesias <edgar.iglesias@gmail.com> wrote: >> From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> >> >> Hi, >> >> Paolo suggested offline that we send a pull request for this series. >> Here it is, I've run it through my testsuite + tested the LQSPI testcase >> on Zynq. >> >> Cheers, >> Edgar >> >> The following changes since commit 3f0602927b120a480b35dcf58cf6f95435b3ae91: >> >> Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20170613' into staging (2017-06-13 15:49:07 +0100) >> >> are available in the git repository at: >> >> git@github.com:edgarigl/qemu.git tags/edgar/mmio-exec.for-upstream >> >> for you to fetch changes up to 63ef40dd6bc6cfdae5fa67ccac1cb11e7a5161b0: >> >> xilinx_spips: allow mmio execution (2017-06-14 17:31:08 +0200) >> >> ---------------------------------------------------------------- >> mmio-exec.for-upstream >> >> ---------------------------------------------------------------- >> KONRAD Frederic (7): >> cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT >> cputlb: move get_page_addr_code >> cputlb: fix the way get_page_addr_code fills the tlb >> qdev: add MemoryRegion property >> introduce mmio_interface >> exec: allow to get a pointer for some mmio memory region >> xilinx_spips: allow mmio execution > > Hi Edgar -- since these patches have come via your tree they should > have your signed-off-by line, not just Fred's. They also seem to > still have all the V1->V2->V3 revision notes in the commit logs. > > I'd be happier with a reviewed-by: from somebody for the exec: > patch, if possible... > > thanks > -- PMM > Hi Peter, Actually if I remember right Edgar reviewed them but put the review-by tag in the cover letter. Thanks, Fred
© 2016 - 2025 Red Hat, Inc.