#sphinx.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]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&]colwidthKuh1hhhubh)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1hhhubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(hCR 0 (Recovery Counter)h]hCR 0 (Recovery Counter)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hused for ptraceh]hused for ptrace}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj,ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hCR 1-CR 7(undefined)h]hCR 1-CR 7(undefined)}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjLubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(hunusedh]hunused}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjcubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(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&]uh1jhjubj)}(hhh]h)}(hper-process value*h]hper-process value*}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(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&]uh1jhjubj)}(hhh]h)}(hunusedh]hunused}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h CR10 (CCR)h]h CR10 (CCR)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hlazy FPU saving*h]hlazy FPU saving*}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hCR11h]hCR11}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(has specified by ABI (SAR)h]has specified by ABI (SAR)}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj?ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hCR14 (interruption vector)h]hCR14 (interruption vector)}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj_ubah}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh]h)}(hinitialized to fault_vectorh]hinitialized to fault_vector}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjvubah}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h CR15 (EIEM)h]h CR15 (EIEM)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hinitialized to all ones*h]hinitialized to all ones*}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hCR16 (Interval Timer)h]hCR16 (Interval Timer)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h CR17-CR22h]h CR17-CR22}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hinterruption parametersh]hinterruption parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hCR19h]hCR19}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj;ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hInterrupt Instruction Registerh]hInterrupt Instruction Register}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjRubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hCR20h]hCR20}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjrubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hInterrupt Space Registerh]hInterrupt Space Register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hCR21h]hCR21}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hInterrupt Offset Registerh]hInterrupt Offset Register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hCR22h]hCR22}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h Interrupt PSWh]h Interrupt PSW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h CR23 (EIRR)h]h CR23 (EIRR)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h-read for pending interrupts/write clears bitsh]h-read for pending interrupts/write clears bits}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h CR24 (TR 0)h]h CR24 (TR 0)}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjNubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(h#Kernel Space Page Directory Pointerh]h#Kernel Space Page Directory Pointer}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjeubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(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&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(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&]uh1jhjubj)}(hhh]h)}(hnot usedh]hnot used}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h CR27 (TR 3)h]h CR27 (TR 3)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hThread descriptor pointerh]hThread descriptor pointer}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h CR28 (TR 4)h]h CR28 (TR 4)}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hj*ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hnot usedh]hnot used}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjAubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h CR29 (TR 5)h]h CR29 (TR 5)}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjaubah}(h]h ]h"]h$]h&]uh1jhj^ubj)}(hhh]h)}(hnot usedh]hnot used}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjxubah}(h]h ]h"]h$]h&]uh1jhj^ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(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&]uh1jhjubj)}(hhh]h)}(h current / 0h]h current / 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(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&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j hhubeh}(h]h ]h"]h$]h&]colsKuh1hhhubah}(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)}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK(ubh)}(hhh]h)}(hhh](h)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1hhj2ubh)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1hhj2ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(hSR0h]hSR0}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hjOubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(htemporary space registerh]htemporary space register}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hjfubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(hSR4-SR7h]hSR4-SR7}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hset to 0h]hset to 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(hSR1h]hSR1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(htemporary space registerh]htemporary space register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(hSR2h]hSR2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hkernel should not clobber thish]hkernel should not clobber this}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(hSR3h]hSR3}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hj+ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(h-used for userspace accesses (current process)h]h-used for userspace accesses (current process)}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjBubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1j hj2ubeh}(h]h ]h"]h$]h&]colsKuh1hhj/ubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubeh}(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)}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzhhhhhK3ubh)}(hhh]h)}(hhh](h)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1hhjubh)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1hhjubj )}(hhh](j)}(hhh](j)}(hhh]h)}(hSR0h]hSR0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(htemporary space registerh]htemporary space register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSR1h]hSR1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(htemporary space registerh]htemporary space register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSR2h]hSR2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h!holds space of linux gateway pageh]h!holds space of linux gateway page}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hj0ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSR3h]hSR3}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjPubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(h.holds user address space value while in kernelh]h.holds user address space value while in kernel}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjgubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hSR4-SR7h]hSR4-SR7}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1hhjubah}(h]h ]h"]h$]h&]uh1hhjzhhhhhNubeh}(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]h)}(hhh](h)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1hhjubh)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1hhjubj )}(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&]uh1jhj ubj)}(hhh]h)}(h0h]h0}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hE (Little-endian)h]hE (Little-endian)}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChj> ubah}(h]h ]h"]h$]h&]uh1jhj; ubj)}(hhh]h)}(hj# h]h0}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChjU ubah}(h]h ]h"]h$]h&]uh1jhj; ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hS (Secure Interval Timer)h]hS (Secure Interval Timer)}(hjw hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjt ubah}(h]h ]h"]h$]h&]uh1jhjq ubj)}(hhh]h)}(hj# h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhj ubah}(h]h ]h"]h$]h&]uh1jhjq ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj ubj)}(hhh]h)}(hj# h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj ubj)}(hhh]h)}(hj# h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj ubj)}(hhh]h)}(hj# h]h0}(hj0 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhj- ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hN (Nullify next instruction)h]hN (Nullify next instruction)}(hjO hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhjL ubah}(h]h ]h"]h$]h&]uh1jhjI ubj)}(hhh]h)}(hused by C codeh]hused by C code}(hjf hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhjc ubah}(h]h ]h"]h$]h&]uh1jhjI ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj ubj)}(hhh]h)}(hj# h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKIhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj 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&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj 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&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj$ ubj)}(hhh]h)}(hused by C codeh]hused by C code}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKLhj> ubah}(h]h ]h"]h$]h&]uh1jhj$ ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h M (HPMC mask)h]h M (HPMC mask)}(hja hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKMhj^ ubah}(h]h ]h"]h$]h&]uh1jhj[ ubj)}(hhh]h)}(h"0, 1 while executing HPMC handler*h]h"0, 1 while executing HPMC handler*}(hjx hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKMhju ubah}(h]h ]h"]h$]h&]uh1jhj[ ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj 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&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj ubj)}(hhh]h)}(h1*h]h1*}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj ubj)}(hhh]h)}(hj# h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hR (Recovery Counter trap)h]hR (Recovery Counter trap)}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhj9 ubah}(h]h ]h"]h$]h&]uh1jhj6 ubj)}(hhh]h)}(hj# h]h0}(hjS hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhjP ubah}(h]h ]h"]h$]h&]uh1jhj6 ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hQ (collect interruption state)h]hQ (collect interruption state)}(hjr hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjo ubah}(h]h ]h"]h$]h&]uh1jhjl 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&]uh1jhjl ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj ubj)}(hhh]h)}(h1*h]h1*}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj 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&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj ubj)}(hhh]h)}(hused by cli()/sti() macrosh]hused by cli()/sti() macros}(hj. hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhj+ ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1hhjubah}(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}(hjf hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjc hhhhhKYubh)}(hhh]h)}(hhh](h)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1hhjw ubh)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1hhjw 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&]uh1jhj ubj)}(hhh]h)}(hj# h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]uh1jhj ubj)}(hhh]h)}(hj# h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hShadow Registersh]hShadow Registers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK^hjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h!used by interruption handler codeh]h!used by interruption handler code}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK^hjubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(hTOC enable bith]hTOC enable bit}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hj7ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h1h]h1}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjNubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j hjw ubeh}(h]h ]h"]h$]h&]colsKuh1hhjt ubah}(h]h ]h"]h$]h&]uh1hhjc hhhhhNubh transition)}(hI-------------------------------------------------------------------------h]h}(h]h ]h"]h$]h&]uh1j~hhhKbhjc 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&]uh1hhhhKdhjc hhubj)}(hI-------------------------------------------------------------------------h]h}(h]h ]h"]h$]h&]uh1j~hhhKjhjc 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&]uh1hhhhKlhjc hhubh)}(hFor the general registers:h]hFor the general registers:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohjc 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&]uh1hhhhKqhjc 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:}(hjhhhNhNubah}(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.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK{hjubah}(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:}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhj;ubj)}(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.}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjMubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(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:}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjjubj)}(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&]uh1hhhhKhj|ubah}(h]h ]h"]h$]h&]uh1jhjjubeh}(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&]uh1jhhhKhjubj)}(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&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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&]uh1jhhhKvhjc 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_backlinksjfootnote_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_handlerjzerror_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}(jUjRjMjJjjjwjtjjj` j] jEjBu nametypes}(jUjMjjwjj` jEuh}(jRhjJhjhjtjjjzj] jjBjc 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.