.. SPDX-License-Identifier: GPL-2.0 .. include:: ../../disclaimer-zh_CN.rst :Original: Documentation/arch/loongarch/introduction.rst :Translator: Huacai Chen <chenhuacai@loongson.cn> ============= LoongArchä»‹ç» ============= LoongArch是一ç§æ–°çš„RISC ISA,在一定程度上类似于MIPSå’ŒRISC-V。LoongArch指令集 包括一个精简32ä½ç‰ˆï¼ˆLA32R)ã€ä¸€ä¸ªæ ‡å‡†32ä½ç‰ˆï¼ˆLA32S)ã€ä¸€ä¸ª64ä½ç‰ˆï¼ˆLA64)。 LoongArch定义了四个特æƒçº§ï¼ˆPLV0~PLV3),其ä¸PLV0是最高特æƒçº§ï¼Œç”¨äºŽå†…æ ¸ï¼›è€ŒPLV3 是最低特æƒçº§ï¼Œç”¨äºŽåº”用程åºã€‚本文档介ç»äº†LoongArch的寄å˜å™¨ã€åŸºç¡€æŒ‡ä»¤é›†ã€è™šæ‹Ÿå†… å˜ä»¥åŠå…¶ä»–一些主题。 寄å˜å™¨ ====== LoongArch的寄å˜å™¨åŒ…括通用寄å˜å™¨ï¼ˆGPRs)ã€æµ®ç‚¹å¯„å˜å™¨ï¼ˆFPRs)ã€å‘é‡å¯„å˜å™¨ï¼ˆVRs) 和用于特æƒæ¨¡å¼ï¼ˆPLV0)的控制状æ€å¯„å˜å™¨ï¼ˆCSRs)。 通用寄å˜å™¨ ---------- LoongArch包括32个通用寄å˜å™¨ï¼ˆ ``$r0`` ~ ``$r31`` ),LA32ä¸æ¯ä¸ªå¯„å˜å™¨ä¸º32ä½å®½ï¼Œ LA64ä¸æ¯ä¸ªå¯„å˜å™¨ä¸º64ä½å®½ã€‚ ``$r0`` 的内容总是固定为0,而其他寄å˜å™¨åœ¨ä½“ç³»ç»“æž„å±‚é¢ æ²¡æœ‰ç‰¹æ®ŠåŠŸèƒ½ã€‚ï¼ˆ ``$r1`` 算是一个例外,在BL指令ä¸å›ºå®šç”¨ä½œé“¾æŽ¥è¿”回寄å˜å™¨ã€‚) å†…æ ¸ä½¿ç”¨äº†ä¸€å¥—LoongArch寄å˜å™¨çº¦å®šï¼Œå®šä¹‰åœ¨LoongArch ELF psABI规范ä¸ï¼Œè¯¦ç»†æè¿°å‚è§ :ref:`å‚考文献 <loongarch-references-zh_CN>`: ================= =============== =================== ========== 寄å˜å™¨å 别å 用途 跨调用ä¿æŒ ================= =============== =================== ========== ``$r0`` ``$zero`` 常é‡0 ä¸ä½¿ç”¨ ``$r1`` ``$ra`` è¿”å›žåœ°å€ å¦ ``$r2`` ``$tp`` TLS/线程信æ¯æŒ‡é’ˆ ä¸ä½¿ç”¨ ``$r3`` ``$sp`` æ ˆæŒ‡é’ˆ 是 ``$r4``-``$r11`` ``$a0``-``$a7`` å‚数寄å˜å™¨ å¦ ``$r4``-``$r5`` ``$v0``-``$v1`` 返回值 å¦ ``$r12``-``$r20`` ``$t0``-``$t8`` 临时寄å˜å™¨ å¦ ``$r21`` ``$u0`` æ¯CPUå˜é‡åŸºåœ°å€ ä¸ä½¿ç”¨ ``$r22`` ``$fp`` 帧指针 是 ``$r23``-``$r31`` ``$s0``-``$s8`` é™æ€å¯„å˜å™¨ 是 ================= =============== =================== ========== .. note:: 注æ„: ``$r21`` 寄å˜å™¨åœ¨ELF psABIä¸ä¿ç•™æœªä½¿ç”¨ï¼Œä½†æ˜¯åœ¨Linuxå†…æ ¸ç”¨äºŽä¿ å˜æ¯CPUå˜é‡åŸºåœ°å€ã€‚该寄å˜å™¨æ²¡æœ‰ABI命å,ä¸è¿‡åœ¨å†…æ ¸ä¸ç§°ä¸º ``$u0`` 。在 一些é—留代ç ä¸æœ‰æ—¶å¯èƒ½è§åˆ° ``$v0`` å’Œ ``$v1`` ,它们是 ``$a0`` å’Œ ``$a1`` 的别å,属于已ç»åºŸå¼ƒçš„用法。 浮点寄å˜å™¨ ---------- 当系统ä¸å˜åœ¨FPU时,LoongArch有32个浮点寄å˜å™¨ï¼ˆ ``$f0`` ~ ``$f31`` )。在LA64 çš„CPUæ ¸ä¸Šï¼Œæ¯ä¸ªå¯„å˜å™¨å‡ä¸º64ä½å®½ã€‚ 浮点寄å˜å™¨çš„使用约定与LoongArch ELF psABI规范的æ述相åŒï¼š ================= ================== =================== ========== 寄å˜å™¨å 别å 用途 跨调用ä¿æŒ ================= ================== =================== ========== ``$f0``-``$f7`` ``$fa0``-``$fa7`` å‚数寄å˜å™¨ å¦ ``$f0``-``$f1`` ``$fv0``-``$fv1`` 返回值 å¦ ``$f8``-``$f23`` ``$ft0``-``$ft15`` 临时寄å˜å™¨ å¦ ``$f24``-``$f31`` ``$fs0``-``$fs7`` é™æ€å¯„å˜å™¨ 是 ================= ================== =================== ========== .. note:: 注æ„:在一些é—留代ç ä¸æœ‰æ—¶å¯èƒ½è§åˆ° ``$fv0`` å’Œ ``$fv1`` ,它们是 ``$fa0`` å’Œ ``$fa1`` 的别å,属于已ç»åºŸå¼ƒçš„用法。 å‘é‡å¯„å˜å™¨ ---------- LoongArch现有两ç§å‘é‡æ‰©å±•ï¼š - 128ä½å‘é‡æ‰©å±•LSX(全称Loongson SIMD eXtention), - 256ä½å‘é‡æ‰©å±•LASX(全称Loongson Advanced SIMD eXtention)。 LSX使用 ``$v0`` ~ ``$v31`` å‘é‡å¯„å˜å™¨ï¼Œè€ŒLASX则使用 ``$x0`` ~ ``$x31`` 。 浮点寄å˜å™¨å’Œå‘é‡å¯„å˜å™¨æ˜¯å¤ç”¨çš„,比如:在一个实现了LSXå’ŒLASXçš„æ ¸ä¸Šï¼Œ ``$x0`` çš„ 低128ä½ä¸Ž ``$v0`` 共用, ``$v0`` 的低64ä½ä¸Ž ``$f0`` 共用,其他寄å˜å™¨ä¾æ¤ç±»æŽ¨ã€‚ 控制状æ€å¯„å˜å™¨ -------------- 控制状æ€å¯„å˜å™¨åªèƒ½åœ¨ç‰¹æƒæ¨¡å¼ï¼ˆPLV0)下访问: ================= ==================================== ========== åœ°å€ å…¨ç§°æè¿° 简称 ================= ==================================== ========== 0x0 当å‰æ¨¡å¼ä¿¡æ¯ CRMD 0x1 异常å‰æ¨¡å¼ä¿¡æ¯ PRMD 0x2 扩展部件使能 EUEN 0x3 æ‚项控制 MISC 0x4 异常é…ç½® ECFG 0x5 å¼‚å¸¸çŠ¶æ€ ESTAT 0x6 å¼‚å¸¸è¿”å›žåœ°å€ ERA 0x7 出错(Faulting)è™šæ‹Ÿåœ°å€ BADV 0x8 出错(Faulting)æŒ‡ä»¤å— BADI 0xC 异常入å£åœ°å€ EENTRY 0x10 TLB索引 TLBIDX 0x11 TLBè¡¨é¡¹é«˜ä½ TLBEHI 0x12 TLB表项低ä½0 TLBELO0 0x13 TLB表项低ä½1 TLBELO1 0x18 地å€ç©ºé—´æ ‡è¯†ç¬¦ ASID 0x19 低åŠåœ°å€ç©ºé—´é¡µå…¨å±€ç›®å½•åŸºå€ PGDL 0x1A 高åŠåœ°å€ç©ºé—´é¡µå…¨å±€ç›®å½•åŸºå€ PGDH 0x1B é¡µå…¨å±€ç›®å½•åŸºå€ PGD 0x1C 页表é历控制低åŠéƒ¨åˆ† PWCL 0x1D 页表é历控制高åŠéƒ¨åˆ† PWCH 0x1E STLBé¡µå¤§å° STLBPS 0x1F 缩å‡è™šåœ°å€é…ç½® RVACFG 0x20 CPUç¼–å· CPUID 0x21 特æƒèµ„æºé…置信æ¯1 PRCFG1 0x22 特æƒèµ„æºé…置信æ¯2 PRCFG2 0x23 特æƒèµ„æºé…置信æ¯3 PRCFG3 0x30+n (0≤n≤15) æ•°æ®ä¿å˜å¯„å˜å™¨ SAVEn 0x40 å®šæ—¶å™¨ç¼–å· TID 0x41 定时器é…ç½® TCFG 0x42 定时器值 TVAL 0x43 è®¡æ—¶å™¨è¡¥å¿ CNTC 0x44 定时器ä¸æ–清除 TICLR 0x60 LLBit相关控制 LLBCTL 0x80 实现相关控制1 IMPCTL1 0x81 实现相关控制2 IMPCTL2 0x88 TLBé‡å¡«å¼‚常入å£åœ°å€ TLBRENTRY 0x89 TLBé‡å¡«å¼‚常出错(Faulting)è™šåœ°å€ TLBRBADV 0x8A TLBé‡å¡«å¼‚å¸¸è¿”å›žåœ°å€ TLBRERA 0x8B TLBé‡å¡«å¼‚常数æ®ä¿å˜ TLBRSAVE 0x8C TLBé‡å¡«å¼‚常表项低ä½0 TLBRELO0 0x8D TLBé‡å¡«å¼‚常表项低ä½1 TLBRELO1 0x8E TLBé‡å¡«å¼‚å¸¸è¡¨é¡¹é«˜ä½ TLBEHI 0x8F TLBé‡å¡«å¼‚常å‰æ¨¡å¼ä¿¡æ¯ TLBRPRMD 0x90 机器错误控制 MERRCTL 0x91 机器错误信æ¯1 MERRINFO1 0x92 机器错误信æ¯2 MERRINFO2 0x93 机器错误异常入å£åœ°å€ MERRENTRY 0x94 æœºå™¨é”™è¯¯å¼‚å¸¸è¿”å›žåœ°å€ MERRERA 0x95 机器错误异常数æ®ä¿å˜ MERRSAVE 0x98 高速缓å˜æ ‡ç¾ CTAG 0x180+n (0≤n≤3) ç›´æŽ¥æ˜ å°„é…置窗å£n DMWn 0x200+2n (0≤n≤31) 性能监测é…ç½®n PMCFGn 0x201+2n (0≤n≤31) 性能监测计数器n PMCNTn 0x300 内å˜è¯»å†™ç›‘视点整体控制 MWPC 0x301 内å˜è¯»å†™ç›‘è§†ç‚¹æ•´ä½“çŠ¶æ€ MWPS 0x310+8n (0≤n≤7) 内å˜è¯»å†™ç›‘视点né…ç½®1 MWPnCFG1 0x311+8n (0≤n≤7) 内å˜è¯»å†™ç›‘视点né…ç½®2 MWPnCFG2 0x312+8n (0≤n≤7) 内å˜è¯»å†™ç›‘视点né…ç½®3 MWPnCFG3 0x313+8n (0≤n≤7) 内å˜è¯»å†™ç›‘视点né…ç½®4 MWPnCFG4 0x380 å–指监视点整体控制 FWPC 0x381 å–æŒ‡ç›‘è§†ç‚¹æ•´ä½“çŠ¶æ€ FWPS 0x390+8n (0≤n≤7) å–指监视点né…ç½®1 FWPnCFG1 0x391+8n (0≤n≤7) å–指监视点né…ç½®2 FWPnCFG2 0x392+8n (0≤n≤7) å–指监视点né…ç½®3 FWPnCFG3 0x393+8n (0≤n≤7) å–指监视点né…ç½®4 FWPnCFG4 0x500 调试寄å˜å™¨ DBG 0x501 è°ƒè¯•å¼‚å¸¸è¿”å›žåœ°å€ DERA 0x502 调试数æ®ä¿å˜ DSAVE ================= ==================================== ========== ERA,TLBRERA,MERRERAå’ŒDERA有时也分别称为EPC,TLBREPC,MERREPCå’ŒDEPC。 基础指令集 ========== æŒ‡ä»¤æ ¼å¼ -------- LoongArch的指令å—长为32ä½ï¼Œä¸€å…±æœ‰9ç§åŸºæœ¬æŒ‡ä»¤æ ¼å¼ï¼ˆä»¥åŠä¸€äº›å˜ä½“): =========== ========================== æ ¼å¼å称 æŒ‡ä»¤æž„æˆ =========== ========================== 2R Opcode + Rj + Rd 3R Opcode + Rk + Rj + Rd 4R Opcode + Ra + Rk + Rj + Rd 2RI8 Opcode + I8 + Rj + Rd 2RI12 Opcode + I12 + Rj + Rd 2RI14 Opcode + I14 + Rj + Rd 2RI16 Opcode + I16 + Rj + Rd 1RI21 Opcode + I21L + Rj + I21H I26 Opcode + I26L + I26H =========== ========================== Opcode是指令æ“作ç ,Rjå’ŒRk是æºæ“作数(寄å˜å™¨ï¼‰ï¼ŒRdæ˜¯ç›®æ ‡æ“作数(寄å˜å™¨ï¼‰ï¼ŒRa是 4R-typeæ ¼å¼ç‰¹æœ‰çš„é™„åŠ æ“作数(寄å˜å™¨ï¼‰ã€‚I8/I12/I14/I16/I21/I26分别是8ä½/12ä½/14ä½/ 16ä½/21ä½/26ä½çš„ç«‹å³æ•°ã€‚å…¶ä¸è¾ƒé•¿çš„21ä½å’Œ26ä½ç«‹å³æ•°åœ¨æŒ‡ä»¤å—ä¸è¢«åˆ†å‰²ä¸ºé«˜ä½éƒ¨åˆ†ä¸Žä½Žä½ éƒ¨åˆ†ï¼Œæ‰€ä»¥ä½ ä»¬åœ¨è¿™é‡Œçš„æ ¼å¼æè¿°ä¸èƒ½å¤Ÿçœ‹åˆ°I21L/I21Hå’ŒI26L/I26Hè¿™æ ·å¸¦åŽç¼€çš„表述。 指令列表 -------- 为了简便起è§ï¼Œæˆ‘们在æ¤åªç½—列一下指令å称(助记符),需è¦è¯¦ç»†ä¿¡æ¯è¯·é˜…读 :ref:`å‚考文献 <loongarch-references-zh_CN>` ä¸çš„文档。 1. 算术è¿ç®—指令:: ADD.W SUB.W ADDI.W ADD.D SUB.D ADDI.D SLT SLTU SLTI SLTUI AND OR NOR XOR ANDN ORN ANDI ORI XORI MUL.W MULH.W MULH.WU DIV.W DIV.WU MOD.W MOD.WU MUL.D MULH.D MULH.DU DIV.D DIV.DU MOD.D MOD.DU PCADDI PCADDU12I PCADDU18I LU12I.W LU32I.D LU52I.D ADDU16I.D 2. 移ä½è¿ç®—指令:: SLL.W SRL.W SRA.W ROTR.W SLLI.W SRLI.W SRAI.W ROTRI.W SLL.D SRL.D SRA.D ROTR.D SLLI.D SRLI.D SRAI.D ROTRI.D 3. ä½åŸŸæ“作指令:: EXT.W.B EXT.W.H CLO.W CLO.D SLZ.W CLZ.D CTO.W CTO.D CTZ.W CTZ.D BYTEPICK.W BYTEPICK.D BSTRINS.W BSTRINS.D BSTRPICK.W BSTRPICK.D REVB.2H REVB.4H REVB.2W REVB.D REVH.2W REVH.D BITREV.4B BITREV.8B BITREV.W BITREV.D MASKEQZ MASKNEZ 4. 分支转移指令:: BEQ BNE BLT BGE BLTU BGEU BEQZ BNEZ B BL JIRL 5. 访å˜è¯»å†™æŒ‡ä»¤:: LD.B LD.BU LD.H LD.HU LD.W LD.WU LD.D ST.B ST.H ST.W ST.D LDX.B LDX.BU LDX.H LDX.HU LDX.W LDX.WU LDX.D STX.B STX.H STX.W STX.D LDPTR.W LDPTR.D STPTR.W STPTR.D PRELD PRELDX 6. 原åæ“作指令:: LL.W SC.W LL.D SC.D AMSWAP.W AMSWAP.D AMADD.W AMADD.D AMAND.W AMAND.D AMOR.W AMOR.D AMXOR.W AMXOR.D AMMAX.W AMMAX.D AMMIN.W AMMIN.D 7. æ …éšœæŒ‡ä»¤:: IBAR DBAR 8. 特殊指令:: SYSCALL BREAK CPUCFG NOP IDLE ERTN(ERET) DBCL(DBGCALL) RDTIMEL.W RDTIMEH.W RDTIME.D ASRTLE.D ASRTGT.D 9. 特æƒæŒ‡ä»¤:: CSRRD CSRWR CSRXCHG IOCSRRD.B IOCSRRD.H IOCSRRD.W IOCSRRD.D IOCSRWR.B IOCSRWR.H IOCSRWR.W IOCSRWR.D CACOP TLBP(TLBSRCH) TLBRD TLBWR TLBFILL TLBCLR TLBFLUSH INVTLB LDDIR LDPTE è™šæ‹Ÿå†…å˜ ======== LoongArchå¯ä»¥ä½¿ç”¨ç›´æŽ¥æ˜ 射虚拟内å˜å’Œåˆ†é¡µæ˜ 射虚拟内å˜ã€‚ ç›´æŽ¥æ˜ å°„è™šæ‹Ÿå†…å˜é€šè¿‡CSR.DMWn(n=0~3)æ¥è¿›è¡Œé…置,虚拟地å€ï¼ˆVA)和物ç†åœ°å€ï¼ˆPA) 之间有简å•çš„æ˜ å°„å…³ç³»:: VA = PA + 固定å移 åˆ†é¡µæ˜ å°„çš„è™šæ‹Ÿåœ°å€ï¼ˆVA)和物ç†åœ°å€ï¼ˆPA)有任æ„çš„æ˜ å°„å…³ç³»ï¼Œè¿™ç§å…³ç³»è®°å½•åœ¨TLB和页 表ä¸ã€‚LoongArchçš„TLB包括一个全相è”çš„MTLB(Multiple Page Size TLBï¼Œå¤šæ ·é¡µå¤§å°TLB) 和一个组相è”çš„STLB(Single Page Size TLB,å•ä¸€é¡µå¤§å°TLB)。 缺çœçŠ¶æ€ä¸‹ï¼ŒLA32的整个虚拟地å€ç©ºé—´é…置如下: ============ =========================== =========================== 区段å 地å€èŒƒå›´ 属性 ============ =========================== =========================== ``UVRANGE`` ``0x00000000 - 0x7FFFFFFF`` åˆ†é¡µæ˜ å°„, å¯ç¼“å˜, PLV0~3 ``KPRANGE0`` ``0x80000000 - 0x9FFFFFFF`` ç›´æŽ¥æ˜ å°„, éžç¼“å˜, PLV0 ``KPRANGE1`` ``0xA0000000 - 0xBFFFFFFF`` ç›´æŽ¥æ˜ å°„, å¯ç¼“å˜, PLV0 ``KVRANGE`` ``0xC0000000 - 0xFFFFFFFF`` åˆ†é¡µæ˜ å°„, å¯ç¼“å˜, PLV0 ============ =========================== =========================== 用户æ€ï¼ˆPLV3)åªèƒ½è®¿é—®UVRANGEï¼Œå¯¹äºŽç›´æŽ¥æ˜ å°„çš„KPRANGE0å’ŒKPRANGE1,将虚拟地å€çš„第 30~31ä½æ¸…零就ç‰äºŽç‰©ç†åœ°å€ã€‚例如:物ç†åœ°å€0x00001000对应的éžç¼“å˜ç›´æŽ¥æ˜ å°„è™šæ‹Ÿåœ°å€ æ˜¯0x80001000,而其å¯ç¼“å˜ç›´æŽ¥æ˜ 射虚拟地å€æ˜¯0xA0001000。 缺çœçŠ¶æ€ä¸‹ï¼ŒLA64的整个虚拟地å€ç©ºé—´é…置如下: ============ ====================== ================================== 区段å 地å€èŒƒå›´ 属性 ============ ====================== ================================== ``XUVRANGE`` ``0x0000000000000000 - åˆ†é¡µæ˜ å°„, å¯ç¼“å˜, PLV0~3 0x3FFFFFFFFFFFFFFF`` ``XSPRANGE`` ``0x4000000000000000 - ç›´æŽ¥æ˜ å°„, å¯ç¼“å˜ / éžç¼“å˜, PLV0 0x7FFFFFFFFFFFFFFF`` ``XKPRANGE`` ``0x8000000000000000 - ç›´æŽ¥æ˜ å°„, å¯ç¼“å˜ / éžç¼“å˜, PLV0 0xBFFFFFFFFFFFFFFF`` ``XKVRANGE`` ``0xC000000000000000 - åˆ†é¡µæ˜ å°„, å¯ç¼“å˜, PLV0 0xFFFFFFFFFFFFFFFF`` ============ ====================== ================================== 用户æ€ï¼ˆPLV3)åªèƒ½è®¿é—®XUVRANGEï¼Œå¯¹äºŽç›´æŽ¥æ˜ å°„çš„XSPRANGEå’ŒXKPRANGE,将虚拟地å€çš„第 60~63ä½æ¸…零就ç‰äºŽç‰©ç†åœ°å€ï¼Œè€Œå…¶ç¼“å˜å±žæ€§æ˜¯é€šè¿‡è™šæ‹Ÿåœ°å€çš„第60~61ä½é…置的(0è¡¨ç¤ºå¼ºåº éžç¼“å˜ï¼Œ1表示一致å¯ç¼“å˜ï¼Œ2表示弱åºéžç¼“å˜ï¼‰ã€‚ ç›®å‰ï¼Œæˆ‘们仅用XKPRANGEæ¥è¿›è¡Œç›´æŽ¥æ˜ 射,XSPRANGEä¿ç•™ç»™ä»¥åŽç”¨ã€‚ æ¤å¤„ç»™å‡ºä¸€ä¸ªç›´æŽ¥æ˜ å°„çš„ä¾‹å:物ç†åœ°å€0x00000000_00001000的强åºéžç¼“å˜ç›´æŽ¥æ˜ å°„è™šæ‹Ÿåœ°å€ ï¼ˆåœ¨XKPRANGEä¸ï¼‰æ˜¯0x80000000_00001000,其一致å¯ç¼“å˜ç›´æŽ¥æ˜ 射虚拟地å€ï¼ˆåœ¨XKPRANGEä¸ï¼‰ 是0x90000000_00001000,而其弱åºéžç¼“å˜ç›´æŽ¥æ˜ 射虚拟地å€ï¼ˆåœ¨XKPRANGEä¸ï¼‰æ˜¯0xA0000000_ 00001000。 Loongson与LoongArch的关系 ========================= LoongArch是一ç§RISC指令集架构(ISA),ä¸åŒäºŽçŽ°å˜çš„任何一ç§ISA,而Loongson(å³é¾™ 芯)是一个处ç†å™¨å®¶æ—。龙芯包括三个系列:Loongson-1(龙芯1å·ï¼‰æ˜¯32ä½å¤„ç†å™¨ç³»åˆ—, Loongson-2(龙芯2å·ï¼‰æ˜¯ä½Žç«¯64ä½å¤„ç†å™¨ç³»åˆ—,而Loongson-3(龙芯3å·ï¼‰æ˜¯é«˜ç«¯64ä½å¤„ç† å™¨ç³»åˆ—ã€‚æ—§çš„é¾™èŠ¯å¤„ç†å™¨åŸºäºŽMIPS架构,而新的龙芯处ç†å™¨åŸºäºŽLoongArch架构。以龙芯3å· ä¸ºä¾‹ï¼šé¾™èŠ¯3A1000/3B1500/3A2000/3A3000/3A4000都是兼容MIPS的,而龙芯3A5000(以åŠå°† æ¥çš„åž‹å·ï¼‰éƒ½æ˜¯åŸºäºŽLoongArch的。 .. _loongarch-references-zh_CN: å‚考文献 ======== Loongson官方网站(龙芯ä¸ç§‘技术股份有é™å…¬å¸ï¼‰ï¼š http://www.loongson.cn/ Loongson与LoongArchçš„å¼€å‘者网站(软件与文档资æºï¼‰ï¼š http://www.loongnix.cn/ https://github.com/loongson/ https://loongson.github.io/LoongArch-Documentation/ LoongArch指令集架构的文档: https://github.com/loongson/LoongArch-Documentation/releases/latest/download/LoongArch-Vol1-v1.10-CN.pdf (ä¸æ–‡ç‰ˆï¼‰ https://github.com/loongson/LoongArch-Documentation/releases/latest/download/LoongArch-Vol1-v1.10-EN.pdf (英文版) LoongArchçš„ELF psABI文档: https://github.com/loongson/LoongArch-Documentation/releases/latest/download/LoongArch-ELF-ABI-v2.01-CN.pdf (ä¸æ–‡ç‰ˆï¼‰ https://github.com/loongson/LoongArch-Documentation/releases/latest/download/LoongArch-ELF-ABI-v2.01-EN.pdf (英文版) Loongson与LoongArchçš„Linuxå†…æ ¸æºç 仓库: https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson.git