On 10/16/26 08:54, Yao Zi wrote:
Add a brief introduction to LoongArch architecture, some notes on the
implementation, and the toolchain supporting status.

Signed-off-by: Yao Zi <[email protected]>
---

New patch, no changes since v3
---
  doc/arch/index.rst     |  1 +
  doc/arch/loongarch.rst | 30 ++++++++++++++++++++++++++++++
  2 files changed, 31 insertions(+)
  create mode 100644 doc/arch/loongarch.rst

diff --git a/doc/arch/index.rst b/doc/arch/index.rst
index 60c93b3b6640..10903b806d2c 100644
--- a/doc/arch/index.rst
+++ b/doc/arch/index.rst
@@ -9,6 +9,7 @@ Architecture-specific doc
     arc
     arm64
     arm64.ffa
+   loongarch
     m68k
     mips
     nios2
diff --git a/doc/arch/loongarch.rst b/doc/arch/loongarch.rst
new file mode 100644
index 000000000000..d744db6a4999
--- /dev/null
+++ b/doc/arch/loongarch.rst
@@ -0,0 +1,30 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+.. Copyright (C) 2026 Yao Zi <[email protected]>
+
+LoongArch
+=========
+
+LoongArch is a RISC ISA developed by Loongson Technology. It currently defines
+three variants: a reduced 32-bit version (LA32R), a standard 32-bit version
+(LA32S) for embedded devices, and a 64-bit version (LA64).
+
+Notes
+-----
+
+1. Currently U-Boot only runs on LA64 variant with the highest privilege level
+   (PLV0).
+
+2. LA64 is distinguished with 32-bit LoongArch with CONFIG_ARCH_LA64.

Thank you for the helpful documentation. Just some nits.

The prepositions should be

LA64 is distinguished from 32-bit LoongArch by CONFIG_ARCH_LA64.

Maybe:

"CONFIG_ARCH_LA64=y selects support for the LA64 instruction set architecture."

+
+3. U-Boot expects hardware-maintained coherency between I-D cache. Cache

Maybe

"U-Boot requires hardware-maintained coherency of different levels of instruction and data caches."

+   topology is probed through CPUCFG; L2 and L3 caches, if present, must be

Maybe

"It determines the cache topology by reading CPUCFG registers before enabling the caches."

Best regards

Heinrich

+   unified or instruction-only. This is true for all commercial LA64 hardware.
+   Refer to arch/loongarch/lib/cache.c for further description.
+
+Toolchain
+---------
+
+LoongArch is supported in upstream binutils, gcc, and LLVM. GCC 12.1 started to
+support LA64, and GCC 16 started to support LA32.
+`kernel.org <https://mirrors.edge.kernel.org/pub/tools/crosstool/>`_ provides
+pre-built toolchain for both 32-bit and 64-bit LoongArch.

Reply via email to