* [Qemu-devel] NetBSD maintenance
@ 2017-04-22 23:27 Kamil Rytarowski
2017-04-23 10:19 ` Peter Maydell
0 siblings, 1 reply; 7+ messages in thread
From: Kamil Rytarowski @ 2017-04-22 23:27 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 1388 bytes --]
Hello,
I noted a call for NetBSD maintainers in the 2.9.0 release notes.
I'm willing to attach a NetBSD machine to CI cluster and volunteer basic
maintenance. I'm mostly interested in NetBSD as host & as guest as this
is my daily and work driver on my desktop and development machines.
If I understand correctly there is currently no infrastructure for CI:
http://wiki.qemu.org/Testing/ContinuousIntegration
I'm familiar with Python buildbot, I run a machine for the LLVM
toolchain with Clang and LLDB. This setup works very well and it's easy
to setup with minimal dependencies:
http://llvm.org/docs/HowToAddABuilder.html
My LLVM machine:
http://lab.llvm.org:8011/builders/lldb-amd64-ninja-netbsd7
Although, I plan to upgrade it pretty soon and rename, so look for
lldb-amd64-ninja-netbsd8.
As of today NetBSD patches for qemu are maintained in pkgsrc. There are
also at least DragonFly and SunOS (SmartOS) diffs available.
https://github.com/NetBSD/pkgsrc/tree/trunk/emulators/qemu/patches
Qemu is one of the core tools in NetBSD development and it's used in our
release engineering infrastructure:
http://releng.netbsd.org/test-results.html
I will start with upstreaming local diffs and move on to running tests.
I'm aware that there are lately issues with ACPI, APIC, SMP and certain
device drivers... but not everything at once.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] NetBSD maintenance
2017-04-22 23:27 [Qemu-devel] NetBSD maintenance Kamil Rytarowski
@ 2017-04-23 10:19 ` Peter Maydell
2017-04-23 22:45 ` Kamil Rytarowski
0 siblings, 1 reply; 7+ messages in thread
From: Peter Maydell @ 2017-04-23 10:19 UTC (permalink / raw)
To: Kamil Rytarowski; +Cc: QEMU Developers
On 23 April 2017 at 00:27, Kamil Rytarowski <n54@gmx.com> wrote:
> I noted a call for NetBSD maintainers in the 2.9.0 release notes.
>
> I'm willing to attach a NetBSD machine to CI cluster and volunteer basic
> maintenance. I'm mostly interested in NetBSD as host & as guest as this
> is my daily and work driver on my desktop and development machines.
Thanks for the offer of assistance. At the moment I have a
NetBSD VM set up so I can run the usual make/make check
tests that I run on other hosts. So the most immediate
requirement is for somebody to investigate and send patches
for the bugs which mean it doesn't build at all.
My initial investigation suggests that at least one bug is that
ivshmem-server uses shm_open but doesn't link -lrt, so
some fixes to the build machinery are needed.
> As of today NetBSD patches for qemu are maintained in pkgsrc. There are
> also at least DragonFly and SunOS (SmartOS) diffs available.
> https://github.com/NetBSD/pkgsrc/tree/trunk/emulators/qemu/patches
Accumulating patches downstream like this is I think
a big part of the problem -- if QEMU has bugs on NetBSD
then we need NetBSD users to report the problems and
provide us with fixes. Otherwise you get what's happened:
we try to build NetBSD with upstream QEMU, find it doesn't
even compile, and conclude that obviously nobody's using
QEMU on NetBSD because nobody's complained that it doesn't
work, so we might as well drop it.
(I recall hitting that "ssp/unistd.h defines macros for read, etc"
bug a few years back when I last tried NetBSD as a host;
it looks like it's fixed in the headers on newer NetBSD, though,
so maybe those patches could just be dropped if we're lucky.)
> Qemu is one of the core tools in NetBSD development and it's used in our
> release engineering infrastructure:
>
> http://releng.netbsd.org/test-results.html
Do you use/test the bsd-user code, or just system emulation?
I know the FreeBSD folks have extensive patches to the usermode
code, but does it work OK on NetBSD hosts, or is it just unused?
> I will start with upstreaming local diffs and move on to running tests.
Thanks, I think that is the right place to start.
-- PMM
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] NetBSD maintenance
2017-04-23 10:19 ` Peter Maydell
@ 2017-04-23 22:45 ` Kamil Rytarowski
2017-04-24 7:26 ` Fam Zheng
2017-04-24 10:12 ` Peter Maydell
0 siblings, 2 replies; 7+ messages in thread
From: Kamil Rytarowski @ 2017-04-23 22:45 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers
[-- Attachment #1: Type: text/plain, Size: 3004 bytes --]
On 23.04.2017 12:19, Peter Maydell wrote:
> On 23 April 2017 at 00:27, Kamil Rytarowski <n54@gmx.com> wrote:
>> I noted a call for NetBSD maintainers in the 2.9.0 release notes.
>>
>> I'm willing to attach a NetBSD machine to CI cluster and volunteer basic
>> maintenance. I'm mostly interested in NetBSD as host & as guest as this
>> is my daily and work driver on my desktop and development machines.
>
> Thanks for the offer of assistance. At the moment I have a
> NetBSD VM set up so I can run the usual make/make check
> tests that I run on other hosts. So the most immediate
> requirement is for somebody to investigate and send patches
> for the bugs which mean it doesn't build at all.
> My initial investigation suggests that at least one bug is that
> ivshmem-server uses shm_open but doesn't link -lrt, so
> some fixes to the build machinery are needed.
>
I will have a look and try to build qemu from git (master branch).
I also find it surprising that there was a call for CI machines and
there is no infrastructure for it.
>> As of today NetBSD patches for qemu are maintained in pkgsrc. There are
>> also at least DragonFly and SunOS (SmartOS) diffs available.
>> https://github.com/NetBSD/pkgsrc/tree/trunk/emulators/qemu/patches
>
> Accumulating patches downstream like this is I think
> a big part of the problem -- if QEMU has bugs on NetBSD
> then we need NetBSD users to report the problems and
> provide us with fixes. Otherwise you get what's happened:
> we try to build NetBSD with upstream QEMU, find it doesn't
> even compile, and conclude that obviously nobody's using
> QEMU on NetBSD because nobody's complained that it doesn't
> work, so we might as well drop it.
>
We should maintain buildable and functional version for major BSDs (Net,
Free, Open, DragonFly), Linux, Darwin and SunOS in pkgsrc. Not
necessarily every release is verified on each Operating System, but our
users at some point managed to get it functional on all of them.
> (I recall hitting that "ssp/unistd.h defines macros for read, etc"
> bug a few years back when I last tried NetBSD as a host;
> it looks like it's fixed in the headers on newer NetBSD, though,
> so maybe those patches could just be dropped if we're lucky.)
>
I will have a look.
>> Qemu is one of the core tools in NetBSD development and it's used in our
>> release engineering infrastructure:
>>
>> http://releng.netbsd.org/test-results.html
>
> Do you use/test the bsd-user code, or just system emulation?
> I know the FreeBSD folks have extensive patches to the usermode
> code, but does it work OK on NetBSD hosts, or is it just unused?
>
I'm afraid that there is no support in qemu usermode on NetBSD right now.
I just used unicorn-engine (qemu fork) for this purpose.
>> I will start with upstreaming local diffs and move on to running tests.
>
> Thanks, I think that is the right place to start.
>
Thanks for reply!
> -- PMM
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] NetBSD maintenance
2017-04-23 22:45 ` Kamil Rytarowski
@ 2017-04-24 7:26 ` Fam Zheng
2017-04-24 7:54 ` Kamil Rytarowski
2017-04-24 10:12 ` Peter Maydell
1 sibling, 1 reply; 7+ messages in thread
From: Fam Zheng @ 2017-04-24 7:26 UTC (permalink / raw)
To: Kamil Rytarowski; +Cc: Peter Maydell, QEMU Developers
On Mon, 04/24 00:45, Kamil Rytarowski wrote:
> I will have a look and try to build qemu from git (master branch).
>
> I also find it surprising that there was a call for CI machines and
> there is no infrastructure for it.
There are. We use travis and patchew. I don't know a lot about NetBSD testing
with travis, but patchew has x86_64 and s390x machines that test patches, and
welcomes more OSes/architectures:
http://patchew.org/QEMU/20170423223216.17856-1-aurelien@aurel32.net/
If qemu master can be build on NetBDS, I can create a VM for this on my x86_64
machine, or you can generously contribute one, which is even better. :)
Fam
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] NetBSD maintenance
2017-04-24 7:26 ` Fam Zheng
@ 2017-04-24 7:54 ` Kamil Rytarowski
0 siblings, 0 replies; 7+ messages in thread
From: Kamil Rytarowski @ 2017-04-24 7:54 UTC (permalink / raw)
To: Fam Zheng; +Cc: Peter Maydell, QEMU Developers
[-- Attachment #1: Type: text/plain, Size: 814 bytes --]
On 24.04.2017 09:26, Fam Zheng wrote:
> On Mon, 04/24 00:45, Kamil Rytarowski wrote:
>> I will have a look and try to build qemu from git (master branch).
>>
>> I also find it surprising that there was a call for CI machines and
>> there is no infrastructure for it.
>
> There are. We use travis and patchew. I don't know a lot about NetBSD testing
> with travis, but patchew has x86_64 and s390x machines that test patches, and
> welcomes more OSes/architectures:
>
> http://patchew.org/QEMU/20170423223216.17856-1-aurelien@aurel32.net/
>
> If qemu master can be build on NetBDS, I can create a VM for this on my x86_64
> machine, or you can generously contribute one, which is even better. :)
>
> Fam
>
That's great - we will be back to you when the build issues will be
sorted out.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] NetBSD maintenance
2017-04-23 22:45 ` Kamil Rytarowski
2017-04-24 7:26 ` Fam Zheng
@ 2017-04-24 10:12 ` Peter Maydell
2017-04-25 13:49 ` Kamil Rytarowski
1 sibling, 1 reply; 7+ messages in thread
From: Peter Maydell @ 2017-04-24 10:12 UTC (permalink / raw)
To: Kamil Rytarowski; +Cc: QEMU Developers
On 23 April 2017 at 23:45, Kamil Rytarowski <n54@gmx.com> wrote:
> On 23.04.2017 12:19, Peter Maydell wrote:
>> On 23 April 2017 at 00:27, Kamil Rytarowski <n54@gmx.com> wrote:
>>> I noted a call for NetBSD maintainers in the 2.9.0 release notes.
>>>
>>> I'm willing to attach a NetBSD machine to CI cluster and volunteer basic
>>> maintenance. I'm mostly interested in NetBSD as host & as guest as this
>>> is my daily and work driver on my desktop and development machines.
>>
>> Thanks for the offer of assistance. At the moment I have a
>> NetBSD VM set up so I can run the usual make/make check
>> tests that I run on other hosts. So the most immediate
>> requirement is for somebody to investigate and send patches
>> for the bugs which mean it doesn't build at all.
>> My initial investigation suggests that at least one bug is that
>> ivshmem-server uses shm_open but doesn't link -lrt, so
>> some fixes to the build machinery are needed.
>>
>
> I will have a look and try to build qemu from git (master branch).
>
> I also find it surprising that there was a call for CI machines and
> there is no infrastructure for it.
The infrastructure here is "if I have a machine I can ssh
into I have some local scripts which do a build-and-test".
In the case of NetBSD I did manage to get a VM set up after
we applied the patches to print the deprecation warnings,
so that allows me to skip getting somebody else to run a
machine and provide an account on it.
Right now we're in the "get at least something working to
let us test all our platforms" stage; we can try for more
fancy official CI setups later.
>>> As of today NetBSD patches for qemu are maintained in pkgsrc. There are
>>> also at least DragonFly and SunOS (SmartOS) diffs available.
>>> https://github.com/NetBSD/pkgsrc/tree/trunk/emulators/qemu/patches
>>
>> Accumulating patches downstream like this is I think
>> a big part of the problem -- if QEMU has bugs on NetBSD
>> then we need NetBSD users to report the problems and
>> provide us with fixes. Otherwise you get what's happened:
>> we try to build NetBSD with upstream QEMU, find it doesn't
>> even compile, and conclude that obviously nobody's using
>> QEMU on NetBSD because nobody's complained that it doesn't
>> work, so we might as well drop it.
>
> We should maintain buildable and functional version for major BSDs (Net,
> Free, Open, DragonFly), Linux, Darwin and SunOS in pkgsrc. Not
> necessarily every release is verified on each Operating System, but our
> users at some point managed to get it functional on all of them.
Upstream we're definitely going to drop SunOS/Solaris support unless
somebody provides us with a machine we can do build/test on.
DragonFly BSD is in my "let's see if anybody complains" list.
OpenBSD is also in this "let's see" list but it seems more plausible
that somebody will complain (and I have a VM setup for it; it
doesn't pass 'make check' at the moment so the first step there
will be for somebody to investigate and send fixes.)
The motivation here is that we would rather like to get rid of
things like #ifdef __NetBSD__ in our sources (in favour of doing
checks in configure for presence/absence of particular functions
and acting accordingly), and also avoid using "uname" to figure
out our compile target. That's very likely to break platforms
we can't test on, so the idea is to identify which platforms
people do care about, and make sure we are testing them, and
then not worry about breaking anything that we aren't testing.
Also I think it doesn't do our users any favours to claim to
support platform Foo if in fact it doesn't even compile.
>>> Qemu is one of the core tools in NetBSD development and it's used in our
>>> release engineering infrastructure:
>>>
>>> http://releng.netbsd.org/test-results.html
>>
>> Do you use/test the bsd-user code, or just system emulation?
>> I know the FreeBSD folks have extensive patches to the usermode
>> code, but does it work OK on NetBSD hosts, or is it just unused?
>>
>
> I'm afraid that there is no support in qemu usermode on NetBSD right now.
It presumably worked once, since there's a bsd-user/netbsd/ directory.
However if it's broken now then we don't need to try to keep it
working while we land the FreeBSD usermode fixes, so we could
perhaps delete it and reinstate later.
thanks
-- PMM
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] NetBSD maintenance
2017-04-24 10:12 ` Peter Maydell
@ 2017-04-25 13:49 ` Kamil Rytarowski
0 siblings, 0 replies; 7+ messages in thread
From: Kamil Rytarowski @ 2017-04-25 13:49 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers
[-- Attachment #1: Type: text/plain, Size: 1740 bytes --]
On 24.04.2017 12:12, Peter Maydell wrote:
> Upstream we're definitely going to drop SunOS/Solaris support unless
> somebody provides us with a machine we can do build/test on.
> DragonFly BSD is in my "let's see if anybody complains" list.
> OpenBSD is also in this "let's see" list but it seems more plausible
> that somebody will complain (and I have a VM setup for it; it
> doesn't pass 'make check' at the moment so the first step there
> will be for somebody to investigate and send fixes.)
>
> The motivation here is that we would rather like to get rid of
> things like #ifdef __NetBSD__ in our sources (in favour of doing
> checks in configure for presence/absence of particular functions
> and acting accordingly), and also avoid using "uname" to figure
> out our compile target. That's very likely to break platforms
> we can't test on, so the idea is to identify which platforms
> people do care about, and make sure we are testing them, and
> then not worry about breaking anything that we aren't testing.
>
> Also I think it doesn't do our users any favours to claim to
> support platform Foo if in fact it doesn't even compile.
>
I can only speak for pkgsrc, qemu/Illumos (SmartOS) is actively maintained.
I have got an access to an Illumos machine for pkgsrc developers. Once I
will sort out NetBSD issues I will test qemu over there. I cannot speak
for Oracle Solaris and other proprietary Operating Systems.
I should get shell account for myself for DragonFly and Minix within 2
months.
I cannot maintain non-NetBSD targets beyond occasional and trivial
patches thought.
I will keep upstreaming small chunks of patches for NetBSD and let's see
how it will go. Thanks for help!
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-04-25 13:47 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-22 23:27 [Qemu-devel] NetBSD maintenance Kamil Rytarowski
2017-04-23 10:19 ` Peter Maydell
2017-04-23 22:45 ` Kamil Rytarowski
2017-04-24 7:26 ` Fam Zheng
2017-04-24 7:54 ` Kamil Rytarowski
2017-04-24 10:12 ` Peter Maydell
2017-04-25 13:49 ` Kamil Rytarowski
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).