[Aboriginal] [PATCH] Move i586 to virtio

Rob Landley rob at landley.net
Sat Jun 25 17:08:32 PDT 2011


On 06/23/2011 03:50 AM, Alessio Igor Bogani wrote:
> Hi,
> 
> 2011/6/22 Rob Landley <rob at landley.net>:
> [...]
>> 2) Not all deployed versions of qemu/kvm support this yet. (Actually,
>> last I checked you still had to build qemu from the -git tree to get
>> this, _and_ you had to install some obscure ACL support package without
>> which configure would silently disable it without explanation.  If the
>> i586 target is unconditionally switched to virtio without some kind of
>> config knob, this effectively _disables_ it for people using qemu/kvm
>> from ubuntu 10.04 LTS.  They ship a new LTS in October which might
>> support it, but it's not there yet...)
> 
> I don't understand: The i586 modified version works on my 10.04.02 system
> What are the problems are you talking about?

At a guess, this is one of the things that changed between 10.04 and
10.04.02.

>> 3) It doesn't work on anything _except_ an x86 target; there's no virtio
>> for arm or mips that I've found.  That means turning on autoconf is an
>> optimization for x86, the one platform on which you can just use chroot
>> if you really need performance.
> 
> I need performance when I test kernels which differs from the one used
> by my host. So I can't use chroot nor (unfortunately) LXC.

Gotcha.

I've applied your patch to my repo, but I'm going to semi-revert it
after I get the base architecture vs derived architecture stuff fixed up
a bit, and then re-introduce it as a new i586-virtio or similar.

> AFAIK ia64, mips, powerpc, s390, sh, tile and x86 should support VIRTIO devices.

Should, yes.  Do, no.  And where's arm in that list?

> Obviously KVM kernel config options works on x86 only.
> 
> [...]
>> You switch on VIRTIO_CONSOLE but don't use it?
> 
> Yeah because at the moment I don't know how make it works!

Neither do I.  I asked on the qemu list and nobody replied.

I think it creates a FIFO on the host, you can't redirect it to
stdin/stdout like you can with other consoles...  (It's massively
overcomplicated, whatever it is.)

> [...]
>> Lemme work on fixing the hw-target support this weekend (migrating it to
>> a new less intrusive mechanism, actually) and then we can add this as a
>> new i586-virtio target.  Then if enough stuff grows virtio options we
>> can collapse it back into the base in a future release.  Sound reasonable?
> 
> Yes definitely.
> 
> I tried creating the i586-virtio target but binutils refused to build
> so I made the changes in place.

Sigh.

There's a bit of subtle black magic there that I'm uncomfortable with.
If you don't set CROSS_TARGET, it's set to ${ARCH}-unknown-linux meaning
the name of the architecture is fed to the FSF crap which wants a
three-stage-tuple.

Don't get me started on the FSF's horrible architecture naming scheme.
It's deeply stupid.  Deeply, deeply stupid...

Anyway, lots of things need to set this to some magic value to humor
binutils and gcc:

$ grep CROSS_TARGET sources/targets/*/settings
targets/armv4tl/settings:CROSS_TARGET=armv4tl-unknown-linux-gnueabi
targets/armv4tl/settings:GFS_CHOST="$CROSS_TARGET"
targets/armv5l/settings:CROSS_TARGET=armv5l-unknown-linux-gnueabi
targets/armv6l/settings:CROSS_TARGET="armv6l-unknown-linux-gnueabi"
targets/powerpc-440fp/settings:CROSS_TARGET=powerpc-unknown-linux
targets/sh4/settings:CROSS_TARGET=sh-superh-linux

Rob

 1309046912.0


More information about the Aboriginal mailing list