summaryrefslogtreecommitdiffstats
path: root/documentation/overview-manual/overview-concepts.xml
blob: dea30bc907ed796a7d9563fd1eade151d5eb79c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >

<chapter id='overview-concepts'>
<title>Yocto Project Concepts</title>

    <para>
        This chapter presents key Yocto Project concepts.
    </para>

<section id='x32'>
    <title>x32 psABI</title>

    <para>
        x32 processor-specific Application Binary Interface
        (<ulink url='https://software.intel.com/en-us/node/628948'>x32 psABI</ulink>)
        is a native 32-bit processor-specific ABI for
        <trademark class='registered'>Intel</trademark> 64 (x86-64)
        architectures.
        An ABI defines the calling conventions between functions in a
        processing environment.
        The interface determines what registers are used and what the sizes are
        for various C data types.
    </para>

    <para>
        Some processing environments prefer using 32-bit applications even when
        running on Intel 64-bit platforms.
        Consider the i386 psABI, which is a very old 32-bit ABI for Intel
        64-bit platforms.
        The i386 psABI does not provide efficient use and access of the
        Intel 64-bit processor resources, leaving the system underutilized.
        Now consider the x86_64 psABI.
        This ABI is newer and uses 64-bits for data sizes and program pointers.
        The extra bits increase the footprint size of the programs, libraries,
        and also increases the memory and file system size requirements.
        Executing under the x32 psABI enables user programs to utilize CPU
        and system resources more efficiently while keeping the memory
        footprint of the applications low.
        Extra bits are used for registers but not for addressing mechanisms.
    </para>

    <para>
        The Yocto Project supports the final specifications of x32 psABI
        as follows:
        <itemizedlist>
            <listitem><para>
                You can create packages and images in x32 psABI format on
                x86_64 architecture targets.
                </para></listitem>
            <listitem><para>
                You can successfully build recipes with the x32 toolchain.
                </para></listitem>
            <listitem><para>
                You can create and boot
                <filename>core-image-minimal</filename> and
                <filename>core-image-sato</filename> images.
                </para></listitem>
            <listitem><para>
                RPM Package Manager (RPM) support exists for x32 binaries.
                </para></listitem>
            <listitem><para>
                Support for large images exists.
                </para></listitem>
        </itemizedlist>
    </para>

    <para>
        For steps on how to use x32 psABI, see the
        "<ulink url='&YOCTO_DOCS_DEV_URL;#using-x32-psabi'>Using x32 psABI</ulink>"
        section in the Yocto Project Development Tasks Manual.
    </para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4
-->