Usphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget)/translations/zh_CN/arch/parisc/registersmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/zh_TW/arch/parisc/registersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/it_IT/arch/parisc/registersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/ja_JP/arch/parisc/registersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/ko_KR/arch/parisc/registersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/pt_BR/arch/parisc/registersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/sp_SP/arch/parisc/registersmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(h Register Usage for Linux/PA-RISCh]h Register Usage for Linux/PA-RISC}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhC/var/lib/git/docbuild/linux/Documentation/arch/parisc/registers.rsthKubh paragraph)}(hJ[ an asterisk is used for planned usage which is currently unimplemented ]h]hJ[ an asterisk is used for planned usage which is currently unimplemented ]}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h%General Registers as specified by ABIh]h%General Registers as specified by ABI}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hControl Registersh]hControl Registers}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1jhjubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(hCR 0 (Recovery Counter)h]hCR 0 (Recovery Counter)}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1j'hj$ubj()}(hhh]h)}(hused for ptraceh]hused for ptrace}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@ubah}(h]h ]h"]h$]h&]uh1j'hj$ubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hCR 1-CR 7(undefined)h]hCR 1-CR 7(undefined)}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj`ubah}(h]h ]h"]h$]h&]uh1j'hj]ubj()}(hhh]h)}(hunusedh]hunused}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjwubah}(h]h ]h"]h$]h&]uh1j'hj]ubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hCR 8 (Protection ID)h]hCR 8 (Protection ID)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(hper-process value*h]hper-process value*}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hCR 9, 12, 13 (PIDS)h]hCR 9, 12, 13 (PIDS)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(hunusedh]hunused}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(h CR10 (CCR)h]h CR10 (CCR)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(hlazy FPU saving*h]hlazy FPU saving*}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hCR11h]hCR11}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj<ubah}(h]h ]h"]h$]h&]uh1j'hj9ubj()}(hhh]h)}(has specified by ABI (SAR)h]has specified by ABI (SAR)}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjSubah}(h]h ]h"]h$]h&]uh1j'hj9ubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hCR14 (interruption vector)h]hCR14 (interruption vector)}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjsubah}(h]h ]h"]h$]h&]uh1j'hjpubj()}(hhh]h)}(hinitialized to fault_vectorh]hinitialized to fault_vector}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjpubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(h CR15 (EIEM)h]h CR15 (EIEM)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(hinitialized to all ones*h]hinitialized to all ones*}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hCR16 (Interval Timer)h]hCR16 (Interval Timer)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(h.read for cycle count/write starts Interval Tmrh]h.read for cycle count/write starts Interval Tmr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(h CR17-CR22h]h CR17-CR22}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(hinterruption parametersh]hinterruption parameters}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hCR19h]hCR19}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjOubah}(h]h ]h"]h$]h&]uh1j'hjLubj()}(hhh]h)}(hInterrupt Instruction Registerh]hInterrupt Instruction Register}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjfubah}(h]h ]h"]h$]h&]uh1j'hjLubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hCR20h]hCR20}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(hInterrupt Space Registerh]hInterrupt Space Register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hCR21h]hCR21}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(hInterrupt Offset Registerh]hInterrupt Offset Register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hCR22h]hCR22}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(h Interrupt PSWh]h Interrupt PSW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(h CR23 (EIRR)h]h CR23 (EIRR)}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1j'hj(ubj()}(hhh]h)}(h-read for pending interrupts/write clears bitsh]h-read for pending interrupts/write clears bits}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjBubah}(h]h ]h"]h$]h&]uh1j'hj(ubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(h CR24 (TR 0)h]h CR24 (TR 0)}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjbubah}(h]h ]h"]h$]h&]uh1j'hj_ubj()}(hhh]h)}(h#Kernel Space Page Directory Pointerh]h#Kernel Space Page Directory Pointer}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjyubah}(h]h ]h"]h$]h&]uh1j'hj_ubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(h CR25 (TR 1)h]h CR25 (TR 1)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(h#User Space Page Directory Pointerh]h#User Space Page Directory Pointer}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(h CR26 (TR 2)h]h CR26 (TR 2)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(hnot usedh]hnot used}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(h CR27 (TR 3)h]h CR27 (TR 3)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(hThread descriptor pointerh]hThread descriptor pointer}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(h CR28 (TR 4)h]h CR28 (TR 4)}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hj>ubah}(h]h ]h"]h$]h&]uh1j'hj;ubj()}(hhh]h)}(hnot usedh]hnot used}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjUubah}(h]h ]h"]h$]h&]uh1j'hj;ubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(h CR29 (TR 5)h]h CR29 (TR 5)}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjuubah}(h]h ]h"]h$]h&]uh1j'hjrubj()}(hhh]h)}(hnot usedh]hnot used}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1j'hjrubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(h CR30 (TR 6)h]h CR30 (TR 6)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(h current / 0h]h current / 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(h CR31 (TR 7)h]h CR31 (TR 7)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(h*Temporary register, used in various placesh]h*Temporary register, used in various places}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubeh}(h]control-registersah ]h"]control registersah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hSpace Registers (kernel mode)h]hSpace Registers (kernel mode)}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2hhhhhK(ubh)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjFubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1jhjFubj)}(hhh](j#)}(hhh](j()}(hhh]h)}(hSR0h]hSR0}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hjcubah}(h]h ]h"]h$]h&]uh1j'hj`ubj()}(hhh]h)}(htemporary space registerh]htemporary space register}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hjzubah}(h]h ]h"]h$]h&]uh1j'hj`ubeh}(h]h ]h"]h$]h&]uh1j"hj]ubj#)}(hhh](j()}(hhh]h)}(hSR4-SR7h]hSR4-SR7}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(hset to 0h]hset to 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hj]ubj#)}(hhh](j()}(hhh]h)}(hSR1h]hSR1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(htemporary space registerh]htemporary space register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hj]ubj#)}(hhh](j()}(hhh]h)}(hSR2h]hSR2}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(hkernel should not clobber thish]hkernel should not clobber this}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hj]ubj#)}(hhh](j()}(hhh]h)}(hSR3h]hSR3}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hj?ubah}(h]h ]h"]h$]h&]uh1j'hj<ubj()}(hhh]h)}(h-used for userspace accesses (current process)h]h-used for userspace accesses (current process)}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjVubah}(h]h ]h"]h$]h&]uh1j'hj<ubeh}(h]h ]h"]h$]h&]uh1j"hj]ubeh}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]colsKuh1jhjCubah}(h]h ]h"]h$]h&]uh1hhj2hhhhhNubeh}(h]space-registers-kernel-modeah ]h"]space registers (kernel mode)ah$]h&]uh1hhhhhhhhK(ubh)}(hhh](h)}(hSpace Registers (user mode)h]hSpace Registers (user mode)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK3ubh)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1jhjubj)}(hhh](j#)}(hhh](j()}(hhh]h)}(hSR0h]hSR0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(htemporary space registerh]htemporary space register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hSR1h]hSR1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(htemporary space registerh]htemporary space register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hj ubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hSR2h]hSR2}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hj-ubah}(h]h ]h"]h$]h&]uh1j'hj*ubj()}(hhh]h)}(h!holds space of linux gateway pageh]h!holds space of linux gateway page}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hjDubah}(h]h ]h"]h$]h&]uh1j'hj*ubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hSR3h]hSR3}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjdubah}(h]h ]h"]h$]h&]uh1j'hjaubj()}(hhh]h)}(h.holds user address space value while in kernelh]h.holds user address space value while in kernel}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hj{ubah}(h]h ]h"]h$]h&]uh1j'hjaubeh}(h]h ]h"]h$]h&]uh1j"hjubj#)}(hhh](j()}(hhh]h)}(hSR4-SR7h]hSR4-SR7}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(h+Defines short address space for user/kernelh]h+Defines short address space for user/kernel}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubeh}(h]space-registers-user-modeah ]h"]space registers (user mode)ah$]h&]uh1hhhhhhhhK3ubh)}(hhh](h)}(hProcessor Status Wordh]hProcessor Status Word}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK?ubh)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1jhjubj)}(hhh](j#)}(hhh](j()}(hhh]h)}(hW (64-bit addresses)h]hW (64-bit addresses)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(h0h]h0}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhj2 ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hE (Little-endian)h]hE (Little-endian)}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChjR ubah}(h]h ]h"]h$]h&]uh1j'hjO ubj()}(hhh]h)}(hj7 h]h0}(hjl hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChji ubah}(h]h ]h"]h$]h&]uh1j'hjO ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hS (Secure Interval Timer)h]hS (Secure Interval Timer)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(hj7 h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hT (Taken Branch Trap)h]hT (Taken Branch Trap)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(hj7 h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hH (Higher-privilege trap)h]hH (Higher-privilege trap)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(hj7 h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hL (Lower-privilege trap)h]hL (Lower-privilege trap)}(hj- hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhj* ubah}(h]h ]h"]h$]h&]uh1j'hj' ubj()}(hhh]h)}(hj7 h]h0}(hjD hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhjA ubah}(h]h ]h"]h$]h&]uh1j'hj' ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hN (Nullify next instruction)h]hN (Nullify next instruction)}(hjc hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhj` ubah}(h]h ]h"]h$]h&]uh1j'hj] ubj()}(hhh]h)}(hused by C codeh]hused by C code}(hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhjw ubah}(h]h ]h"]h$]h&]uh1j'hj] ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hX (Data memory break disable)h]hX (Data memory break disable)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKIhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(hj7 h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKIhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hB (Taken Branch)h]hB (Taken Branch)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(hused by C codeh]hused by C code}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hC (code address translation)h]hC (code address translation)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKKhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(h#1, 0 while executing real-mode codeh]h#1, 0 while executing real-mode code}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKKhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hV (divide step correction)h]hV (divide step correction)}(hj> hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKLhj; ubah}(h]h ]h"]h$]h&]uh1j'hj8 ubj()}(hhh]h)}(hused by C codeh]hused by C code}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKLhjR ubah}(h]h ]h"]h$]h&]uh1j'hj8 ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(h M (HPMC mask)h]h M (HPMC mask)}(hju hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKMhjr ubah}(h]h ]h"]h$]h&]uh1j'hjo ubj()}(hhh]h)}(h"0, 1 while executing HPMC handler*h]h"0, 1 while executing HPMC handler*}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKMhj ubah}(h]h ]h"]h$]h&]uh1j'hjo ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hC/B (carry/borrow bits)h]hC/B (carry/borrow bits)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(hused by C codeh]hused by C code}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hO (ordered references)h]hO (ordered references)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(h1*h]h1*}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hF (performance monitor)h]hF (performance monitor)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(hj7 h]h0}(hj1 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhj. ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hR (Recovery Counter trap)h]hR (Recovery Counter trap)}(hjP hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhjM ubah}(h]h ]h"]h$]h&]uh1j'hjJ ubj()}(hhh]h)}(hj7 h]h0}(hjg hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhjd ubah}(h]h ]h"]h$]h&]uh1j'hjJ ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hQ (collect interruption state)h]hQ (collect interruption state)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(h'1 (0 in code directly preceding an rfi)h]h'1 (0 in code directly preceding an rfi)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhj ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hP (Protection Identifiers)h]hP (Protection Identifiers)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(h1*h]h1*}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hD (Data address translation)h]hD (Data address translation)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(h#1, 0 while executing real-mode codeh]h#1, 0 while executing real-mode code}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThj ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hI (external interrupt mask)h]hI (external interrupt mask)}(hj+ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhj( ubah}(h]h ]h"]h$]h&]uh1j'hj% ubj()}(hhh]h)}(hused by cli()/sti() macrosh]hused by cli()/sti() macros}(hjB hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhj? ubah}(h]h ]h"]h$]h&]uh1j'hj% ubeh}(h]h ]h"]h$]h&]uh1j"hj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubeh}(h]processor-status-wordah ]h"]processor status wordah$]h&]uh1hhhhhhhhK?ubh)}(hhh](h)}(h"Invisible" Registersh]h“Invisible” Registers}(hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjw hhhhhKYubh)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1jhj ubj)}(hhh](j#)}(hhh](j()}(hhh]h)}(hPSW default W valueh]hPSW default W value}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(hj7 h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hj ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hPSW default E valueh]hPSW default E value}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hj ubah}(h]h ]h"]h$]h&]uh1j'hj ubj()}(hhh]h)}(hj7 h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hj ubah}(h]h ]h"]h$]h&]uh1j'hj ubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hShadow Registersh]hShadow Registers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK^hjubah}(h]h ]h"]h$]h&]uh1j'hjubj()}(hhh]h)}(h!used by interruption handler codeh]h!used by interruption handler code}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK^hj+ubah}(h]h ]h"]h$]h&]uh1j'hjubeh}(h]h ]h"]h$]h&]uh1j"hj ubj#)}(hhh](j()}(hhh]h)}(hTOC enable bith]hTOC enable bit}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjKubah}(h]h ]h"]h$]h&]uh1j'hjHubj()}(hhh]h)}(h1h]h1}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjbubah}(h]h ]h"]h$]h&]uh1j'hjHubeh}(h]h ]h"]h$]h&]uh1j"hj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1hhjw hhhhhNubh transition)}(hI-------------------------------------------------------------------------h]h}(h]h ]h"]h$]h&]uh1jhhhKbhjw hhubh)}(hXIThe PA-RISC architecture defines 7 registers as "shadow registers". Those are used in RETURN FROM INTERRUPTION AND RESTORE instruction to reduce the state save and restore time by eliminating the need for general register (GR) saves and restores in interruption handlers. Shadow registers are the GRs 1, 8, 9, 16, 17, 24, and 25.h]hXMThe PA-RISC architecture defines 7 registers as “shadow registers”. Those are used in RETURN FROM INTERRUPTION AND RESTORE instruction to reduce the state save and restore time by eliminating the need for general register (GR) saves and restores in interruption handlers. Shadow registers are the GRs 1, 8, 9, 16, 17, 24, and 25.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhjw hhubj)}(hI-------------------------------------------------------------------------h]h}(h]h ]h"]h$]h&]uh1jhhhKjhjw hhubh)}(hbRegister usage notes, originally from John Marvin, with some additional notes from Randolph Chung.h]hbRegister usage notes, originally from John Marvin, with some additional notes from Randolph Chung.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhjw hhubh)}(hFor the general registers:h]hFor the general registers:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohjw hhubh)}(hr1,r2,r19-r26,r28,r29 & r31 can be used without saving them first. And of course, you need to save them if you care about them, before calling another procedure. Some of the above registers do have special meanings that you should be aware of:h]hr1,r2,r19-r26,r28,r29 & r31 can be used without saving them first. And of course, you need to save them if you care about them, before calling another procedure. Some of the above registers do have special meanings that you should be aware of:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKqhjw hhubh block_quote)}(hXr1: The addil instruction is hardwired to place its result in r1, so if you use that instruction be aware of that. r2: This is the return pointer. In general you don't want to use this, since you need the pointer to get back to your caller. However, it is grouped with this set of registers since the caller can't rely on the value being the same when you return, i.e. you can copy r2 to another register and return through that register after trashing r2, and that should not cause a problem for the calling routine. r19-r22: these are generally regarded as temporary registers. Note that in 64 bit they are arg7-arg4. r23-r26: these are arg3-arg0, i.e. you can use them if you don't care about the values that were passed in anymore. r28,r29: are ret0 and ret1. They are what you pass return values in. r28 is the primary return. When returning small structures r29 may also be used to pass data back to the caller. r30: stack pointer r31: the ble instruction puts the return pointer in here. r3-r18,r27,r30 need to be saved and restored. r3-r18 are just general purpose registers. r27 is the data pointer, and is used to make references to global variables easier. r30 is the stack pointer.h](hdefinition_list)}(hhh](hdefinition_list_item)}(hsr1: The addil instruction is hardwired to place its result in r1, so if you use that instruction be aware of that. h](hterm)}(hr1:h]hr1:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKxhjubh definition)}(hhh]h)}(hnThe addil instruction is hardwired to place its result in r1, so if you use that instruction be aware of that.h]hnThe addil instruction is hardwired to place its result in r1, so if you use that instruction be aware of that.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKwhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKxhjubj)}(hXr2: This is the return pointer. In general you don't want to use this, since you need the pointer to get back to your caller. However, it is grouped with this set of registers since the caller can't rely on the value being the same when you return, i.e. you can copy r2 to another register and return through that register after trashing r2, and that should not cause a problem for the calling routine. h](j)}(hr2:h]hr2:}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhj ubj)}(hhh]h)}(hXThis is the return pointer. In general you don't want to use this, since you need the pointer to get back to your caller. However, it is grouped with this set of registers since the caller can't rely on the value being the same when you return, i.e. you can copy r2 to another register and return through that register after trashing r2, and that should not cause a problem for the calling routine.h]hXThis is the return pointer. In general you don’t want to use this, since you need the pointer to get back to your caller. However, it is grouped with this set of registers since the caller can’t rely on the value being the same when you return, i.e. you can copy r2 to another register and return through that register after trashing r2, and that should not cause a problem for the calling routine.}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK{hj2ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hfr19-r22: these are generally regarded as temporary registers. Note that in 64 bit they are arg7-arg4. h](j)}(hr19-r22:h]hr19-r22:}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjOubj)}(hhh]h)}(h\these are generally regarded as temporary registers. Note that in 64 bit they are arg7-arg4.h]h\these are generally regarded as temporary registers. Note that in 64 bit they are arg7-arg4.}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjaubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(htr23-r26: these are arg3-arg0, i.e. you can use them if you don't care about the values that were passed in anymore. h](j)}(hr23-r26:h]hr23-r26:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhj~ubj)}(hhh]h)}(hjthese are arg3-arg0, i.e. you can use them if you don't care about the values that were passed in anymore.h]hlthese are arg3-arg0, i.e. you can use them if you don’t care about the values that were passed in anymore.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hr28,r29: are ret0 and ret1. They are what you pass return values in. r28 is the primary return. When returning small structures r29 may also be used to pass data back to the caller. h](j)}(hr28,r29:h]hr28,r29:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hhh]h)}(hare ret0 and ret1. They are what you pass return values in. r28 is the primary return. When returning small structures r29 may also be used to pass data back to the caller.h]hare ret0 and ret1. They are what you pass return values in. r28 is the primary return. When returning small structures r29 may also be used to pass data back to the caller.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hr30: stack pointer h](j)}(hr30:h]hr30:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hhh]h)}(h stack pointerh]h stack pointer}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(h;r31: the ble instruction puts the return pointer in here. h](j)}(hr31:h]hr31:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhj ubj)}(hhh]h)}(h4the ble instruction puts the return pointer in here.h]h4the ble instruction puts the return pointer in here.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(hr3-r18,r27,r30 need to be saved and restored. r3-r18 are just general purpose registers. r27 is the data pointer, and is used to make references to global variables easier. r30 is the stack pointer.h]hr3-r18,r27,r30 need to be saved and restored. r3-r18 are just general purpose registers. r27 is the data pointer, and is used to make references to global variables easier. r30 is the stack pointer.}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhhhKvhjw hhubeh}(h]invisible-registersah ]h"]"invisible" registersah$]h&]uh1hhhhhhhhKYubeh}(h]%general-registers-as-specified-by-abiah ]h"]%general registers as specified by abiah$]h&]uh1hhhhhhhhKubeh}(h] register-usage-for-linux-pa-riscah ]h"] register usage for linux/pa-riscah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksj'footnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehʌ _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jijfjaj^j/j,jjjjjt jq jYjVu nametypes}(jijaj/jjjt jYuh}(jfhj^hj,hjj2jjjq jjVjw u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.