* [Qemu-devel] Windows runtime error
@ 2009-05-21 21:58 Consul
2009-05-22 2:11 ` Anthony Liguori
0 siblings, 1 reply; 16+ messages in thread
From: Consul @ 2009-05-21 21:58 UTC (permalink / raw)
To: qemu-devel
This commit breaks Windows giving runtime error "Unknown device 'virtio-balloon-pci'"
ec6bd8dea77478f32981a5df49f66ca2430ad19d
Author: Blue Swirl <blauwirbel@gmail.com> 2009-05-21 11:22:59
Committer: Blue Swirl <blauwirbel@gmail.com> 2009-05-21 11:22:59
Parent: 2567f5796c38238d6f2055f074e347a0338140ce (Compile most Xen files only once)
Fix arm-softmmu breakage
Don't use whole-archive for hwlib or libqemu objects
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-21 21:58 [Qemu-devel] Windows runtime error Consul
@ 2009-05-22 2:11 ` Anthony Liguori
2009-05-22 12:04 ` Paul Brook
2009-05-22 15:51 ` Blue Swirl
0 siblings, 2 replies; 16+ messages in thread
From: Anthony Liguori @ 2009-05-22 2:11 UTC (permalink / raw)
To: Consul; +Cc: Blue Swirl, qemu-devel
Consul wrote:
> This commit breaks Windows giving runtime error "Unknown device
> 'virtio-balloon-pci'"
>
> ec6bd8dea77478f32981a5df49f66ca2430ad19d
>
> Author: Blue Swirl <blauwirbel@gmail.com> 2009-05-21 11:22:59
> Committer: Blue Swirl <blauwirbel@gmail.com> 2009-05-21 11:22:59
> Parent: 2567f5796c38238d6f2055f074e347a0338140ce (Compile most Xen
> files only once)
>
> Fix arm-softmmu breakage
>
> Don't use whole-archive for hwlib or libqemu objects
>
> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hwlib definitely needs whole-archive.
Why did this break arm-softmmu? It builds fine for me.
Are you on a Solaris host by chance?
Regards,
Anthony Liguori
>
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-22 2:11 ` Anthony Liguori
@ 2009-05-22 12:04 ` Paul Brook
2009-05-22 13:07 ` Anthony Liguori
2009-05-22 15:51 ` Blue Swirl
1 sibling, 1 reply; 16+ messages in thread
From: Paul Brook @ 2009-05-22 12:04 UTC (permalink / raw)
To: qemu-devel; +Cc: Blue Swirl, Consul
> > Don't use whole-archive for hwlib or libqemu objects
> >
> > Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>
> hwlib definitely needs whole-archive.
>
> Why did this break arm-softmmu? It builds fine for me.
In function `fdctrl_stop_transfer':
fdc.c:1086: undefined reference to `DMA_release_DREQ'
There appears to be a missing dependency somewhere, I suspect libhw*.a doesn't
get rebuilt when you move objects from Makefile.target to Makefile.hw.
Paul
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-22 12:04 ` Paul Brook
@ 2009-05-22 13:07 ` Anthony Liguori
2009-05-22 13:15 ` Paul Brook
0 siblings, 1 reply; 16+ messages in thread
From: Anthony Liguori @ 2009-05-22 13:07 UTC (permalink / raw)
To: Paul Brook; +Cc: Blue Swirl, Consul, qemu-devel
Paul Brook wrote:
>>> Don't use whole-archive for hwlib or libqemu objects
>>>
>>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>>>
>> hwlib definitely needs whole-archive.
>>
>> Why did this break arm-softmmu? It builds fine for me.
>>
>
> In function `fdctrl_stop_transfer':
> fdc.c:1086: undefined reference to `DMA_release_DREQ'
>
> There appears to be a missing dependency somewhere, I suspect libhw*.a doesn't
> get rebuilt when you move objects from Makefile.target to Makefile.hw.
>
So a fresh rebuild "fixes" the problem?
Blue, can you revert this commit then?
Regards,
Anthony Liguori
> Paul
>
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-22 13:07 ` Anthony Liguori
@ 2009-05-22 13:15 ` Paul Brook
2009-05-22 15:48 ` Anthony Liguori
2009-05-22 15:55 ` Blue Swirl
0 siblings, 2 replies; 16+ messages in thread
From: Paul Brook @ 2009-05-22 13:15 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Blue Swirl, Consul, qemu-devel
On Friday 22 May 2009, Anthony Liguori wrote:
> Paul Brook wrote:
> >>> Don't use whole-archive for hwlib or libqemu objects
> >>>
> >>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> >>
> >> hwlib definitely needs whole-archive.
> >>
> >> Why did this break arm-softmmu? It builds fine for me.
> >
> > In function `fdctrl_stop_transfer':
> > fdc.c:1086: undefined reference to `DMA_release_DREQ'
> >
> > There appears to be a missing dependency somewhere, I suspect libhw*.a
> > doesn't get rebuilt when you move objects from Makefile.target to
> > Makefile.hw.
>
> So a fresh rebuild "fixes" the problem?
No, sorry, I mean occasionally you end up with a stale libhw.a.
>Blue, can you revert this commit then?
Both this (whole-archive) and the preceding fdc change need to be reverted.
The scsi bits are probably ok, but the fdc is tied to the ISA DMA engine. We
don't currently have a target independent method of handling inter-device data
transfer.
Paul
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-22 13:15 ` Paul Brook
@ 2009-05-22 15:48 ` Anthony Liguori
2009-05-22 16:12 ` Blue Swirl
2009-05-22 15:55 ` Blue Swirl
1 sibling, 1 reply; 16+ messages in thread
From: Anthony Liguori @ 2009-05-22 15:48 UTC (permalink / raw)
To: Paul Brook; +Cc: Blue Swirl, Consul, qemu-devel
Paul Brook wrote:
> On Friday 22 May 2009, Anthony Liguori wrote:
>
>> Paul Brook wrote:
>>
>>>>> Don't use whole-archive for hwlib or libqemu objects
>>>>>
>>>>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>>>>>
>>>> hwlib definitely needs whole-archive.
>>>>
>>>> Why did this break arm-softmmu? It builds fine for me.
>>>>
>>> In function `fdctrl_stop_transfer':
>>> fdc.c:1086: undefined reference to `DMA_release_DREQ'
>>>
>>> There appears to be a missing dependency somewhere, I suspect libhw*.a
>>> doesn't get rebuilt when you move objects from Makefile.target to
>>> Makefile.hw.
>>>
>> So a fresh rebuild "fixes" the problem?
>>
>
> No, sorry, I mean occasionally you end up with a stale libhw.a.
>
>
>> Blue, can you revert this commit then?
>>
>
> Both this (whole-archive) and the preceding fdc change need to be reverted.
>
I've reverted the whole-archive change and the fdc. I've left scsi
intact. They were blocking my testing of other patches.
Everything now links and seems to work.
Regards,
Anthony Liguori
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-22 15:48 ` Anthony Liguori
@ 2009-05-22 16:12 ` Blue Swirl
2009-05-22 16:39 ` Anthony Liguori
0 siblings, 1 reply; 16+ messages in thread
From: Blue Swirl @ 2009-05-22 16:12 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Consul, Paul Brook, qemu-devel
On 5/22/09, Anthony Liguori <anthony@codemonkey.ws> wrote:
> Paul Brook wrote:
>
> > On Friday 22 May 2009, Anthony Liguori wrote:
> >
> >
> > > Paul Brook wrote:
> > >
> > >
> > > >
> > > > >
> > > > > > Don't use whole-archive for hwlib or libqemu objects
> > > > > >
> > > > > > Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> > > > > >
> > > > > >
> > > > > hwlib definitely needs whole-archive.
> > > > >
> > > > > Why did this break arm-softmmu? It builds fine for me.
> > > > >
> > > > >
> > > > In function `fdctrl_stop_transfer':
> > > > fdc.c:1086: undefined reference to `DMA_release_DREQ'
> > > >
> > > > There appears to be a missing dependency somewhere, I suspect libhw*.a
> > > > doesn't get rebuilt when you move objects from Makefile.target to
> > > > Makefile.hw.
> > > >
> > > >
> > > So a fresh rebuild "fixes" the problem?
> > >
> > >
> >
> > No, sorry, I mean occasionally you end up with a stale libhw.a.
> >
> >
> >
> > > Blue, can you revert this commit then?
> > >
> > >
> >
> > Both this (whole-archive) and the preceding fdc change need to be
> reverted.
> >
> >
>
> I've reverted the whole-archive change and the fdc. I've left scsi intact.
> They were blocking my testing of other patches.
>
> Everything now links and seems to work.
Good for you. Should I then revert the qdev commit that broke pcnet
(9d07d7579bcaf01e05c511c63d091ed2ac310091), because now Sparc crashes
immediately when network is used?
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-22 16:12 ` Blue Swirl
@ 2009-05-22 16:39 ` Anthony Liguori
0 siblings, 0 replies; 16+ messages in thread
From: Anthony Liguori @ 2009-05-22 16:39 UTC (permalink / raw)
To: Blue Swirl; +Cc: Consul, Paul Brook, qemu-devel
Blue Swirl wrote:
> Good for you. Should I then revert the qdev commit that broke pcnet
> (9d07d7579bcaf01e05c511c63d091ed2ac310091), because now Sparc crashes
> immediately when network is used?
>
qdev should have gotten more testing before being committed. I won't
disagree with you there.
Your changes didn't introduce new functionality. The risk of reverting
it was very low. I also did give you a chance to fix it first, I have
no way of knowing how long that was going to take you. It completely
broke target-i386 so its a major blocker. Paul also agreed that it
should be reverted.
Regards,
Anthony Liguori
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-22 13:15 ` Paul Brook
2009-05-22 15:48 ` Anthony Liguori
@ 2009-05-22 15:55 ` Blue Swirl
2009-05-22 16:36 ` Anthony Liguori
2009-05-24 9:14 ` Avi Kivity
1 sibling, 2 replies; 16+ messages in thread
From: Blue Swirl @ 2009-05-22 15:55 UTC (permalink / raw)
To: Paul Brook; +Cc: Consul, qemu-devel
On 5/22/09, Paul Brook <paul@codesourcery.com> wrote:
> On Friday 22 May 2009, Anthony Liguori wrote:
> > Paul Brook wrote:
> > >>> Don't use whole-archive for hwlib or libqemu objects
> > >>>
> > >>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> > >>
> > >> hwlib definitely needs whole-archive.
> > >>
> > >> Why did this break arm-softmmu? It builds fine for me.
> > >
> > > In function `fdctrl_stop_transfer':
> > > fdc.c:1086: undefined reference to `DMA_release_DREQ'
> > >
> > > There appears to be a missing dependency somewhere, I suspect libhw*.a
> > > doesn't get rebuilt when you move objects from Makefile.target to
> > > Makefile.hw.
> >
> > So a fresh rebuild "fixes" the problem?
>
>
> No, sorry, I mean occasionally you end up with a stale libhw.a.
>
>
> >Blue, can you revert this commit then?
>
>
> Both this (whole-archive) and the preceding fdc change need to be reverted.
I disagree, whole-archive should only be used very sparingly,
basically for the block/* stuff only. Otherwise most emulators will be
linked with a lot of unnecessary objects files from the archives that
will never be used on that platform.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-22 15:55 ` Blue Swirl
@ 2009-05-22 16:36 ` Anthony Liguori
2009-05-24 9:14 ` Avi Kivity
1 sibling, 0 replies; 16+ messages in thread
From: Anthony Liguori @ 2009-05-22 16:36 UTC (permalink / raw)
To: Blue Swirl; +Cc: Consul, Paul Brook, qemu-devel
Blue Swirl wrote:
> I disagree, whole-archive should only be used very sparingly,
> basically for the block/* stuff only. Otherwise most emulators will be
> linked with a lot of unnecessary objects files from the archives that
> will never be used on that platform.
>
I don't think unnecessary object files are a huge concern. If it is,
the better thing is to use a per-target config instead of relying on ld
to figure things out.
Regards,
Anthony Liguori
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-22 15:55 ` Blue Swirl
2009-05-22 16:36 ` Anthony Liguori
@ 2009-05-24 9:14 ` Avi Kivity
2009-05-27 22:39 ` Anthony Liguori
1 sibling, 1 reply; 16+ messages in thread
From: Avi Kivity @ 2009-05-24 9:14 UTC (permalink / raw)
To: Blue Swirl; +Cc: Consul, Paul Brook, qemu-devel
Blue Swirl wrote:
> I disagree, whole-archive should only be used very sparingly,
> basically for the block/* stuff only. Otherwise most emulators will be
> linked with a lot of unnecessary objects files from the archives that
> will never be used on that platform.
>
I think even for block/* we should not use whole archive. Specifying
the full list of objects, or perhaps a partially linked object is much
cleaner.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-24 9:14 ` Avi Kivity
@ 2009-05-27 22:39 ` Anthony Liguori
0 siblings, 0 replies; 16+ messages in thread
From: Anthony Liguori @ 2009-05-27 22:39 UTC (permalink / raw)
To: Avi Kivity; +Cc: Blue Swirl, Consul, Paul Brook, qemu-devel
Avi Kivity wrote:
> Blue Swirl wrote:
>> I disagree, whole-archive should only be used very sparingly,
>> basically for the block/* stuff only. Otherwise most emulators will be
>> linked with a lot of unnecessary objects files from the archives that
>> will never be used on that platform.
>>
>
> I think even for block/* we should not use whole archive. Specifying
> the full list of objects, or perhaps a partially linked object is much
> cleaner.
I'm not opposed to this. I don't see a lot of advantages to using a
static library.
Regards,
Anthony Liguori
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-22 2:11 ` Anthony Liguori
2009-05-22 12:04 ` Paul Brook
@ 2009-05-22 15:51 ` Blue Swirl
2009-05-22 16:35 ` Anthony Liguori
1 sibling, 1 reply; 16+ messages in thread
From: Blue Swirl @ 2009-05-22 15:51 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Consul, qemu-devel
On 5/22/09, Anthony Liguori <anthony@codemonkey.ws> wrote:
> Consul wrote:
>
> > This commit breaks Windows giving runtime error "Unknown device
> 'virtio-balloon-pci'"
> >
> > ec6bd8dea77478f32981a5df49f66ca2430ad19d
> >
> > Author: Blue Swirl <blauwirbel@gmail.com> 2009-05-21 11:22:59
> > Committer: Blue Swirl <blauwirbel@gmail.com> 2009-05-21 11:22:59
> > Parent: 2567f5796c38238d6f2055f074e347a0338140ce (Compile
> most Xen files only once)
> >
> > Fix arm-softmmu breakage
> >
> > Don't use whole-archive for hwlib or libqemu objects
> >
> > Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> >
> hwlib definitely needs whole-archive.
No, it works fine without it.
> Why did this break arm-softmmu? It builds fine for me.
Because fdc.o was forced to be linked in with whole-archive but the
stuff that it depends on may be undefined on ARM. With whole-archive
removed from hwlib, fdc.o is not referenced in anywhere in arm-softmmu
and it will not be pulled in.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-22 15:51 ` Blue Swirl
@ 2009-05-22 16:35 ` Anthony Liguori
2009-05-22 16:53 ` Blue Swirl
0 siblings, 1 reply; 16+ messages in thread
From: Anthony Liguori @ 2009-05-22 16:35 UTC (permalink / raw)
To: Blue Swirl; +Cc: Consul, qemu-devel
Blue Swirl wrote:
> On 5/22/09, Anthony Liguori <anthony@codemonkey.ws> wrote:
>
>> Consul wrote:
>>
>>
>>> This commit breaks Windows giving runtime error "Unknown device
>>>
>> 'virtio-balloon-pci'"
>>
>>> ec6bd8dea77478f32981a5df49f66ca2430ad19d
>>>
>>> Author: Blue Swirl <blauwirbel@gmail.com> 2009-05-21 11:22:59
>>> Committer: Blue Swirl <blauwirbel@gmail.com> 2009-05-21 11:22:59
>>> Parent: 2567f5796c38238d6f2055f074e347a0338140ce (Compile
>>>
>> most Xen files only once)
>>
>>> Fix arm-softmmu breakage
>>>
>>> Don't use whole-archive for hwlib or libqemu objects
>>>
>>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>>>
>>>
>> hwlib definitely needs whole-archive.
>>
>
> No, it works fine without it.
>
virtio-pci has a constructor and all static functions. It'll be removed
from the archive without whole-archive. This is failure that we're seeing.
In general, hwlib will need whole-archive because hwlib will contain
things with constructors.
>> Why did this break arm-softmmu? It builds fine for me.
>>
>
> Because fdc.o was forced to be linked in with whole-archive but the
> stuff that it depends on may be undefined on ARM. With whole-archive
> removed from hwlib, fdc.o is not referenced in anywhere in arm-softmmu
> and it will not be pulled in.
>
fdc.o shouldn't be in hwlib if it depends on stuff not defined in a
particular architecture.
Regards,
Anthony Liguori
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-22 16:35 ` Anthony Liguori
@ 2009-05-22 16:53 ` Blue Swirl
2009-05-22 17:15 ` Paul Brook
0 siblings, 1 reply; 16+ messages in thread
From: Blue Swirl @ 2009-05-22 16:53 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Consul, qemu-devel
On 5/22/09, Anthony Liguori <anthony@codemonkey.ws> wrote:
> Blue Swirl wrote:
>
> > On 5/22/09, Anthony Liguori <anthony@codemonkey.ws> wrote:
> >
> >
> > > Consul wrote:
> > >
> > >
> > >
> > > > This commit breaks Windows giving runtime error "Unknown device
> > > >
> > > >
> > > 'virtio-balloon-pci'"
> > >
> > >
> > > > ec6bd8dea77478f32981a5df49f66ca2430ad19d
> > > >
> > > > Author: Blue Swirl <blauwirbel@gmail.com> 2009-05-21 11:22:59
> > > > Committer: Blue Swirl <blauwirbel@gmail.com> 2009-05-21 11:22:59
> > > > Parent: 2567f5796c38238d6f2055f074e347a0338140ce
> (Compile
> > > >
> > > >
> > > most Xen files only once)
> > >
> > >
> > > > Fix arm-softmmu breakage
> > > >
> > > > Don't use whole-archive for hwlib or libqemu objects
> > > >
> > > > Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> > > >
> > > >
> > > >
> > > hwlib definitely needs whole-archive.
> > >
> > >
> >
> > No, it works fine without it.
> >
> >
>
> virtio-pci has a constructor and all static functions. It'll be removed
> from the archive without whole-archive. This is failure that we're seeing.
Oh, I see now! Sorry for the noise.
> In general, hwlib will need whole-archive because hwlib will contain things
> with constructors.
Right.
> >
> > > Why did this break arm-softmmu? It builds fine for me.
> > >
> > >
> >
> > Because fdc.o was forced to be linked in with whole-archive but the
> > stuff that it depends on may be undefined on ARM. With whole-archive
> > removed from hwlib, fdc.o is not referenced in anywhere in arm-softmmu
> > and it will not be pulled in.
> >
> >
> fdc.o shouldn't be in hwlib if it depends on stuff not defined in a
> particular architecture.
It would be nice to avoid this restriction. For example, fdc init
could take pointers to the DMA functions as parameters.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] Windows runtime error
2009-05-22 16:53 ` Blue Swirl
@ 2009-05-22 17:15 ` Paul Brook
0 siblings, 0 replies; 16+ messages in thread
From: Paul Brook @ 2009-05-22 17:15 UTC (permalink / raw)
To: qemu-devel; +Cc: Blue Swirl, Consul
> It would be nice to avoid this restriction. For example, fdc init
> could take pointers to the DMA functions as parameters.
It, could, but it'll need rewriting anyway when it gets converted to the new
device API. What we really want is a consistent way of transferring data
between devices (aka "DMA channels"). We already have several different ad-hoc
implementations. pcnet, etraxf_eth and omap_dss and pxa2xx_dma are ones that
spring to mind.
Paul
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2009-05-27 22:39 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-21 21:58 [Qemu-devel] Windows runtime error Consul
2009-05-22 2:11 ` Anthony Liguori
2009-05-22 12:04 ` Paul Brook
2009-05-22 13:07 ` Anthony Liguori
2009-05-22 13:15 ` Paul Brook
2009-05-22 15:48 ` Anthony Liguori
2009-05-22 16:12 ` Blue Swirl
2009-05-22 16:39 ` Anthony Liguori
2009-05-22 15:55 ` Blue Swirl
2009-05-22 16:36 ` Anthony Liguori
2009-05-24 9:14 ` Avi Kivity
2009-05-27 22:39 ` Anthony Liguori
2009-05-22 15:51 ` Blue Swirl
2009-05-22 16:35 ` Anthony Liguori
2009-05-22 16:53 ` Blue Swirl
2009-05-22 17:15 ` Paul Brook
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).