yocto.lists.yoctoproject.org archive mirror
 help / color / mirror / Atom feed
From: "Richard Purdie" <richard.purdie@linuxfoundation.org>
To: "Paul D. DeRocco" <pderocco@ix.netcom.com>, yocto@yoctoproject.org
Subject: Re: [yocto] How do I build an x32 Intel system?
Date: Tue, 05 Jan 2021 18:54:19 +0000	[thread overview]
Message-ID: <5f8f8616efa85303354426f3f9ccab67339dfd48.camel@linuxfoundation.org> (raw)
In-Reply-To: <113956D0E12D407782FFFB70D620DEAC@PAULD>

On Sun, 2021-01-03 at 10:44 -0800, Paul D. DeRocco wrote:
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?

You can see the autobuilder x32 test configuration here:

https://autobuilder.yoctoproject.org/typhoon/#/builders/57/builds/2866/steps/10/logs/stdio

the key parts of which are probably:

MACHINE = "qemux86-64"
DEFAULTTUNE = 'x86-64-x32'
baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or 'lib'}"

Cheers,

Richard



      parent reply	other threads:[~2021-01-05 18:54 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-03 18:44 How do I build an x32 Intel system? Paul D. DeRocco
2021-01-04 11:05 ` [yocto] " morgan.hill
2021-01-05 18:54 ` Richard Purdie [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5f8f8616efa85303354426f3f9ccab67339dfd48.camel@linuxfoundation.org \
    --to=richard.purdie@linuxfoundation.org \
    --cc=pderocco@ix.netcom.com \
    --cc=yocto@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).