x32 - a native 32-bit ABI for x86-64

Session information has not yet been published for this event.

Scheduled: Wednesday, September 7, 2011 from 10:50 – 11:40am in Alexander Valley Ball Room

One Line Summary

A work-in-progress new ABI for x86 combines the memory footprint of a 32-bit process with the enhanced capabilities of the x86-64 ISA.


Unlike some other architectures, the 64-bit version of the IA32 (x86)
architecture provides substantially enhanced capabilities. However,
there are applications for which the additional memory footprint of
64-bit pointers is excessive.

This talk presents a work-in-progress 32-bit native ABI for x86-64
that aims to combine the performance of 64-bit mode with the memory
footprint of a 32-bit ABI. It will discuss the performance of the new
ABI and how to get the enabling done with minimal resources.

The kernel enabling, in particular, is special in that it is the place
where multiple ABIs meet, and so this talk will look in particular at
the kernel enabling: how to minimize the impact on the overall kernel
and in particular minimize the impact on non-users of the new ABI, as
well as limitations in our current kernel infrastructure that could be

Presentation Materials



  • Hpa-scuba

    H. Peter Anvin

    Intel OTC


    H. Peter Anvin has been working on Linux since 1992, specializing in low level hardware. He is currently co-maintainer of the unified
    x86/x86-64 Linux kernel tree. Peter has contributed to numerous Linux kernel subsystems, and is the author and/or maintainer of several Open
    Source projects, including the Syslinux boot loader suite, the Netwide Assembler (NASM), klibc, and tftp-hpa. He is also the founder and
    President of The Linux Kernel Organization, which maintains the servers across the globe.

    Peter lives in San Jose, California, working for Intel’s Open Source Technology Center. He has previously worked on as a architect and
    Technical Director at Transmeta, working on CPU architecture and Code Morphing Software, at Orion Multisystems, designing personal
    supercomputers and at rPath, working on Linux software appliances. In his spare time, he enjoys hacking programmable logic, scuba diving,
    and fuzzy bunnies.