How do I build an x32 Intel system?


Paul D. DeRocco
 

I've been resurrecting an old Pyro project under Gatesgarth. It's an Intel
32-bit system that needs maximum speed, so I decided to try to build the
system and application as 64-bit, for more registers. It pretty much worked
on the first try, and is about 8% faster. Now I'm trying to do it as x32, to
see if that speeds it up even more.

Unable to find any specific instructions, I set the DEFAULTTUNE to
"core2-64-x32" in my BSP conf file. Also, in the old project I had tinkered
around with this a bit, and had found some kernel config settings somewhere,
so I tried using them again:

CONFIG_X86_X32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_KEYS_COMPAT=y
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_BLOCK_COMPAT=y

Other than the first one, I don't know whether these are correct, or where I
originally got them, or if there's a stock .cfg file that does all this.

The system built fine, the SDK built fine, and my application built fine,
but when I boot, I get a kernel panic, preceded by some message about "kmod
busy with 50 threads for more than 5 seconds now".

Is there some instruction on how to do a proper x32 build? I couldn't find
one Googling. Barring that, do any of those kernel configs look bogus?

--

Ciao, Paul D. DeRocco
Paul mailto:pderocco@ix.netcom.com

Join yocto@lists.yoctoproject.org to automatically receive all group messages.