Big and Little Endian inside/out - Ben Herrenschmidt

Registered by Elena Zannoni

[Slides](http://www.linuxplumbersconf.org/2012/wp-content/uploads/2012/09/2012-lpc-ref-big-little-endian-herrenschmidt.odp)

Endian bugs are a common source of problems, mostly on big endian architectures such as PowerPC, sparc or s390. Getting endian'ness right isn't always trivial and some programming tricks will work on one endianness and not another.

I will first show endian issues related to programs trying to access in memory data using the wrong size types. Then I will talk about the the problem of data "on the wire" (networking, storage, file formats) along with tools such as sparse that can help getting it right, and will then dive into IO busses and peripheral such as PCI and graphics.

I will attempt to shed some light on the latter by describing what happens under the hood, the representation of data on typical processor bus and how it interconnects to a typical IO bus, where does swapping happens and when it needs to be handled in software.

Ben has been part of the powerpc Linux kernel team for many years and is currently the maintainer of arch/powerpc. He works for IBM ADL/Ozlabs.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
Benjamin Herrenschmidt
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.