summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/technical-details.xml
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 /documentation/ref-manual/technical-details.xml
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>
Diffstat (limited to 'documentation/ref-manual/technical-details.xml')
-rw-r--r--documentation/ref-manual/technical-details.xml85
1 files changed, 0 insertions, 85 deletions
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