title: ARM register r9 in the Linux kernel
body: <p>The "ARM Architecture Procedure Calling Standard" (AAPCS/EABI) states (5.1.1) that</p>
  
  <pre><code>"The role of register r9 is platform specific."
  </code></pre>
  
  <p>but</p>
  
  <pre><code>"A virtual platform [...] may designate r9 as an additional callee-saved
   variable register, v6."
  </code></pre>
  
  <p>The question is: does the Linux kernel use r9 for some special purpose? Or is it used as a normal nonvolatile register?</p>