summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2018-01-09 15:53:40 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-02-14 15:25:27 +0000
commite2060287db8093b53d2d18a217c0c463eb6b0c86 (patch)
tree9ed8682dd6c1123cf0bc13587fd29260ce6d5781
parent60cfd0785b2d64ec808e08ad9f716047542d8ba9 (diff)
downloadpoky-e2060287db8093b53d2d18a217c0c463eb6b0c86.tar.gz
overview-manual, ref-manual, dev-manual: Moved x32 stuff
Fixes [YOCTO #12370] The section on the x32 psABI topic was in the "technical details" section of the reference manual. This section combined conceptual and "how to" information for x32 psABI. I moved the conceptual information to a new chapter in the overview-manual. I moved the "how-to" information to a separate topic in the dev-manual. This resulted in the mega-manual being updated to take on a new chapter for the overview-manual (overview-concepts.xml). No links were affected. (From yocto-docs rev: 84da28a4ad0f3f89bfc865f410a5d06b57439beb) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml32
-rw-r--r--documentation/mega-manual/mega-manual.xml3
-rw-r--r--documentation/overview-manual/overview-concepts.xml78
-rw-r--r--documentation/overview-manual/overview-manual.xml2
-rw-r--r--documentation/ref-manual/technical-details.xml85
5 files changed, 115 insertions, 85 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index f04846ae36..58bb6012ce 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -4531,6 +4531,38 @@
4531 </section> 4531 </section>
4532 </section> 4532 </section>
4533 4533
4534 <section id='using-x32-psabi'>
4535 <title>Using x32 psABI</title>
4536
4537 <para>
4538 x32 processor-specific Application Binary Interface
4539 (<ulink url='https://software.intel.com/en-us/node/628948'>x32 psABI</ulink>)
4540 is a native 32-bit processor-specific ABI for
4541 <trademark class='registered'>Intel</trademark> 64 (x86-64)
4542 architectures.
4543 <note>
4544 For more information on x32 psABI, see the
4545 "<ulink url='&YOCTO_DOCS_OVERVIEW_URL;#x32'>x32 psABI</ulink>"
4546 section in the Yocto Project Overview Manual.
4547 </note>
4548 To use the x32 psABI, you need to edit your
4549 <filename>conf/local.conf</filename> configuration file as
4550 follows:
4551 <literallayout class='monospaced'>
4552 MACHINE = "qemux86-64"
4553 DEFAULTTUNE = "x86-64-x32"
4554 baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) \
4555 or 'INVALID'), True) or 'lib'}"
4556 </literallayout>
4557 Once you have set up your configuration file, use BitBake to
4558 build an image that supports the x32 psABI.
4559 Here is an example:
4560 <literallayout class='monospaced'>
4561 $ bitbake core-image-sato
4562 </literallayout>
4563 </para>
4564 </section>
4565
4534 <section id='enabling-gobject-introspection-support'> 4566 <section id='enabling-gobject-introspection-support'>
4535 <title>Enabling GObject Introspection Support</title> 4567 <title>Enabling GObject Introspection Support</title>
4536 4568
diff --git a/documentation/mega-manual/mega-manual.xml b/documentation/mega-manual/mega-manual.xml
index efefa17032..c0838970e5 100644
--- a/documentation/mega-manual/mega-manual.xml
+++ b/documentation/mega-manual/mega-manual.xml
@@ -141,6 +141,9 @@
141 <xi:include 141 <xi:include
142 xmlns:xi="http://www.w3.org/2003/XInclude" href="../overview-manual/overview-development-environment.xml"/> 142 xmlns:xi="http://www.w3.org/2003/XInclude" href="../overview-manual/overview-development-environment.xml"/>
143 143
144 <xi:include
145 xmlns:xi="http://www.w3.org/2003/XInclude" href="../overview-manual/overview-concepts.xml"/>
146
144<!-- Includes dev-manual title image and then dev-manual chapters --> 147<!-- Includes dev-manual title image and then dev-manual chapters -->
145 148
146 <para> 149 <para>
diff --git a/documentation/overview-manual/overview-concepts.xml b/documentation/overview-manual/overview-concepts.xml
new file mode 100644
index 0000000000..dea30bc907
--- /dev/null
+++ b/documentation/overview-manual/overview-concepts.xml
@@ -0,0 +1,78 @@
1<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
2"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
3[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
4
5<chapter id='overview-concepts'>
6<title>Yocto Project Concepts</title>
7
8 <para>
9 This chapter presents key Yocto Project concepts.
10 </para>
11
12<section id='x32'>
13 <title>x32 psABI</title>
14
15 <para>
16 x32 processor-specific Application Binary Interface
17 (<ulink url='https://software.intel.com/en-us/node/628948'>x32 psABI</ulink>)
18 is a native 32-bit processor-specific ABI for
19 <trademark class='registered'>Intel</trademark> 64 (x86-64)
20 architectures.
21 An ABI defines the calling conventions between functions in a
22 processing environment.
23 The interface determines what registers are used and what the sizes are
24 for various C data types.
25 </para>
26
27 <para>
28 Some processing environments prefer using 32-bit applications even when
29 running on Intel 64-bit platforms.
30 Consider the i386 psABI, which is a very old 32-bit ABI for Intel
31 64-bit platforms.
32 The i386 psABI does not provide efficient use and access of the
33 Intel 64-bit processor resources, leaving the system underutilized.
34 Now consider the x86_64 psABI.
35 This ABI is newer and uses 64-bits for data sizes and program pointers.
36 The extra bits increase the footprint size of the programs, libraries,
37 and also increases the memory and file system size requirements.
38 Executing under the x32 psABI enables user programs to utilize CPU
39 and system resources more efficiently while keeping the memory
40 footprint of the applications low.
41 Extra bits are used for registers but not for addressing mechanisms.
42 </para>
43
44 <para>
45 The Yocto Project supports the final specifications of x32 psABI
46 as follows:
47 <itemizedlist>
48 <listitem><para>
49 You can create packages and images in x32 psABI format on
50 x86_64 architecture targets.
51 </para></listitem>
52 <listitem><para>
53 You can successfully build recipes with the x32 toolchain.
54 </para></listitem>
55 <listitem><para>
56 You can create and boot
57 <filename>core-image-minimal</filename> and
58 <filename>core-image-sato</filename> images.
59 </para></listitem>
60 <listitem><para>
61 RPM Package Manager (RPM) support exists for x32 binaries.
62 </para></listitem>
63 <listitem><para>
64 Support for large images exists.
65 </para></listitem>
66 </itemizedlist>
67 </para>
68
69 <para>
70 For steps on how to use x32 psABI, see the
71 "<ulink url='&YOCTO_DOCS_DEV_URL;#using-x32-psabi'>Using x32 psABI</ulink>"
72 section in the Yocto Project Development Tasks Manual.
73 </para>
74</section>
75</chapter>
76<!--
77vim: expandtab tw=80 ts=4
78-->
diff --git a/documentation/overview-manual/overview-manual.xml b/documentation/overview-manual/overview-manual.xml
index 9af914a924..fe021073da 100644
--- a/documentation/overview-manual/overview-manual.xml
+++ b/documentation/overview-manual/overview-manual.xml
@@ -86,6 +86,8 @@
86 86
87 <xi:include href="overview-development-environment.xml"/> 87 <xi:include href="overview-development-environment.xml"/>
88 88
89 <xi:include href="overview-concepts.xml"/>
90
89</book> 91</book>
90<!-- 92<!--
91vim: expandtab tw=80 ts=4 93vim: expandtab tw=80 ts=4
diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml
index 2619a19e63..1ac020a5cf 100644
--- a/documentation/ref-manual/technical-details.xml
+++ b/documentation/ref-manual/technical-details.xml
@@ -1462,91 +1462,6 @@
1462 </para> 1462 </para>
1463</section> 1463</section>
1464 1464
1465<section id='x32'>
1466 <title>x32</title>
1467
1468 <para>
1469 x32 is a processor-specific Application Binary Interface (psABI) for x86_64.
1470 An ABI defines the calling conventions between functions in a processing environment.
1471 The interface determines what registers are used and what the sizes are for various C data types.
1472 </para>
1473
1474 <para>
1475 Some processing environments prefer using 32-bit applications even when running
1476 on Intel 64-bit platforms.
1477 Consider the i386 psABI, which is a very old 32-bit ABI for Intel 64-bit platforms.
1478 The i386 psABI does not provide efficient use and access of the Intel 64-bit processor resources,
1479 leaving the system underutilized.
1480 Now consider the x86_64 psABI.
1481 This ABI is newer and uses 64-bits for data sizes and program pointers.
1482 The extra bits increase the footprint size of the programs, libraries,
1483 and also increases the memory and file system size requirements.
1484 Executing under the x32 psABI enables user programs to utilize CPU and system resources
1485 more efficiently while keeping the memory footprint of the applications low.
1486 Extra bits are used for registers but not for addressing mechanisms.
1487 </para>
1488
1489 <section id='support'>
1490 <title>Support</title>
1491
1492 <para>
1493 This Yocto Project release supports the final specifications of x32
1494 psABI.
1495 Support for x32 psABI exists as follows:
1496 <itemizedlist>
1497 <listitem><para>You can create packages and images in x32 psABI format on x86_64 architecture targets.
1498 </para></listitem>
1499 <listitem><para>You can successfully build many recipes with the x32 toolchain.</para></listitem>
1500 <listitem><para>You can create and boot <filename>core-image-minimal</filename> and
1501 <filename>core-image-sato</filename> images.</para></listitem>
1502 </itemizedlist>
1503 </para>
1504 </section>
1505
1506 <section id='completing-x32'>
1507 <title>Completing x32</title>
1508
1509 <para>
1510 Future Plans for the x32 psABI in the Yocto Project include the following:
1511 <itemizedlist>
1512 <listitem><para>Enhance and fix the few remaining recipes so they
1513 work with and support x32 toolchains.</para></listitem>
1514 <listitem><para>Enhance RPM Package Manager (RPM) support for x32 binaries.</para></listitem>
1515 <listitem><para>Support larger images.</para></listitem>
1516 </itemizedlist>
1517 </para>
1518 </section>
1519
1520 <section id='using-x32-right-now'>
1521 <title>Using x32 Right Now</title>
1522
1523 <para>
1524 Follow these steps to use the x32 spABI:
1525 <itemizedlist>
1526 <listitem><para>Enable the x32 psABI tuning file for <filename>x86_64</filename>
1527 machines by editing the <filename>conf/local.conf</filename> like this:
1528 <literallayout class='monospaced'>
1529 MACHINE = "qemux86-64"
1530 DEFAULTTUNE = "x86-64-x32"
1531 baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) \
1532 or 'INVALID'), True) or 'lib'}"
1533 #MACHINE = "genericx86"
1534 #DEFAULTTUNE = "core2-64-x32"
1535 </literallayout></para></listitem>
1536 <listitem><para>As usual, use BitBake to build an image that supports the x32 psABI.
1537 Here is an example:
1538 <literallayout class='monospaced'>
1539 $ bitbake core-image-sato
1540 </literallayout></para></listitem>
1541 <listitem><para>As usual, run your image using QEMU:
1542 <literallayout class='monospaced'>
1543 $ runqemu qemux86-64 core-image-sato
1544 </literallayout></para></listitem>
1545 </itemizedlist>
1546 </para>
1547 </section>
1548</section>
1549
1550<section id="wayland"> 1465<section id="wayland">
1551 <title>Wayland</title> 1466 <title>Wayland</title>
1552 1467