Presented by

  • Jordan Niethe

    Jordan Niethe

    Jordan is a kernel hacker working on Power at IBM's Linux Technology Center. When not working on Linux he likes to tinker with Forth and Plan9.

Abstract

In the Linux kernel there are many times where we need to examine, manipulate and patch instructions, which is of course deeply tied to the instruction set of each architecture. Like any good RISC architecture, Power has had a fixed instruction size. That only gives you so much space to play with, and we were running out of room. Power10 presents a solution to that by introducing a new class of instructions which are twice as long. This means our faithful "unsigned int" is no longer going to cut it as our instruction type and raises questions as how both types of instructions should be represented. Can we move to using "unsigned long"? Or a struct? How will this impact 32 bit and 64 bit systems? What about little and big endian ones? Do we have to change anything at all? We will see how the mailing list's form of dialectic helps answer these questions.