From fde2e40fb50bc268889178bcae1f33cbbacf05c7 Mon Sep 17 00:00:00 2001 From: Jonathan Corbet Date: Thu, 30 Mar 2023 13:08:45 -0600 Subject: docs: Move arc architecture docs under Documentation/arch/ Architecture-specific documentation is being moved into Documentation/arch/ as a way of cleaning up the top-level documentation directory and making the docs hierarchy more closely match the source hierarchy. Move Documentation/arc into arch/ and fix all in-tree references. Acked-by: Vineet Gupta Signed-off-by: Jonathan Corbet --- Documentation/arc/arc.rst | 85 ------------------------------------- Documentation/arc/features.rst | 3 -- Documentation/arc/index.rst | 17 -------- Documentation/arch/arc/arc.rst | 85 +++++++++++++++++++++++++++++++++++++ Documentation/arch/arc/features.rst | 3 ++ Documentation/arch/arc/index.rst | 17 ++++++++ Documentation/arch/index.rst | 2 +- MAINTAINERS | 2 +- 8 files changed, 107 insertions(+), 107 deletions(-) delete mode 100644 Documentation/arc/arc.rst delete mode 100644 Documentation/arc/features.rst delete mode 100644 Documentation/arc/index.rst create mode 100644 Documentation/arch/arc/arc.rst create mode 100644 Documentation/arch/arc/features.rst create mode 100644 Documentation/arch/arc/index.rst diff --git a/Documentation/arc/arc.rst b/Documentation/arc/arc.rst deleted file mode 100644 index 6c4d978f3f4e..000000000000 --- a/Documentation/arc/arc.rst +++ /dev/null @@ -1,85 +0,0 @@ -.. SPDX-License-Identifier: GPL-2.0 - -Linux kernel for ARC processors -******************************* - -Other sources of information -############################ - -Below are some resources where more information can be found on -ARC processors and relevant open source projects. - -- ``_ - Community portal for open source on ARC. - Good place to start to find relevant FOSS projects, toolchain releases, - news items and more. - -- ``_ - - Home for all development activities regarding open source projects for - ARC processors. Some of the projects are forks of various upstream projects, - where "work in progress" is hosted prior to submission to upstream projects. - Other projects are developed by Synopsys and made available to community - as open source for use on ARC Processors. - -- `Official Synopsys ARC Processors website - `_ - - location, with access to some IP documentation (`Programmer's Reference - Manual, AKA PRM for ARC HS processors - `_) - and free versions of some commercial tools (`Free nSIM - `_ and - `MetaWare Light Edition `_). - Please note though, registration is required to access both the documentation and - the tools. - -Important note on ARC processors configurability -################################################ - -ARC processors are highly configurable and several configurable options -are supported in Linux. Some options are transparent to software -(i.e cache geometries, some can be detected at runtime and configured -and used accordingly, while some need to be explicitly selected or configured -in the kernel's configuration utility (AKA "make menuconfig"). - -However not all configurable options are supported when an ARC processor -is to run Linux. SoC design teams should refer to "Appendix E: -Configuration for ARC Linux" in the ARC HS Databook for configurability -guidelines. - -Following these guidelines and selecting valid configuration options -up front is critical to help prevent any unwanted issues during -SoC bringup and software development in general. - -Building the Linux kernel for ARC processors -############################################ - -The process of kernel building for ARC processors is the same as for any other -architecture and could be done in 2 ways: - -- Cross-compilation: process of compiling for ARC targets on a development - host with a different processor architecture (generally x86_64/amd64). -- Native compilation: process of compiling for ARC on a ARC platform - (hardware board or a simulator like QEMU) with complete development environment - (GNU toolchain, dtc, make etc) installed on the platform. - -In both cases, up-to-date GNU toolchain for ARC for the host is needed. -Synopsys offers prebuilt toolchain releases which can be used for this purpose, -available from: - -- Synopsys GNU toolchain releases: - ``_ - -- Linux kernel compilers collection: - ``_ - -- Bootlin's toolchain collection: ``_ - -Once the toolchain is installed in the system, make sure its "bin" folder -is added in your ``PATH`` environment variable. Then set ``ARCH=arc`` & -``CROSS_COMPILE=arc-linux`` (or whatever matches installed ARC toolchain prefix) -and then as usual ``make defconfig && make``. - -This will produce "vmlinux" file in the root of the kernel source tree -usable for loading on the target system via JTAG. -If you need to get an image usable with U-Boot bootloader, -type ``make uImage`` and ``uImage`` will be produced in ``arch/arc/boot`` -folder. diff --git a/Documentation/arc/features.rst b/Documentation/arc/features.rst deleted file mode 100644 index b793583d688a..000000000000 --- a/Documentation/arc/features.rst +++ /dev/null @@ -1,3 +0,0 @@ -.. SPDX-License-Identifier: GPL-2.0 - -.. kernel-feat:: $srctree/Documentation/features arc diff --git a/Documentation/arc/index.rst b/Documentation/arc/index.rst deleted file mode 100644 index 7b098d4a5e3e..000000000000 --- a/Documentation/arc/index.rst +++ /dev/null @@ -1,17 +0,0 @@ -=================== -ARC architecture -=================== - -.. toctree:: - :maxdepth: 1 - - arc - - features - -.. only:: subproject and html - - Indices - ======= - - * :ref:`genindex` diff --git a/Documentation/arch/arc/arc.rst b/Documentation/arch/arc/arc.rst new file mode 100644 index 000000000000..6c4d978f3f4e --- /dev/null +++ b/Documentation/arch/arc/arc.rst @@ -0,0 +1,85 @@ +.. SPDX-License-Identifier: GPL-2.0 + +Linux kernel for ARC processors +******************************* + +Other sources of information +############################ + +Below are some resources where more information can be found on +ARC processors and relevant open source projects. + +- ``_ - Community portal for open source on ARC. + Good place to start to find relevant FOSS projects, toolchain releases, + news items and more. + +- ``_ - + Home for all development activities regarding open source projects for + ARC processors. Some of the projects are forks of various upstream projects, + where "work in progress" is hosted prior to submission to upstream projects. + Other projects are developed by Synopsys and made available to community + as open source for use on ARC Processors. + +- `Official Synopsys ARC Processors website + `_ - + location, with access to some IP documentation (`Programmer's Reference + Manual, AKA PRM for ARC HS processors + `_) + and free versions of some commercial tools (`Free nSIM + `_ and + `MetaWare Light Edition `_). + Please note though, registration is required to access both the documentation and + the tools. + +Important note on ARC processors configurability +################################################ + +ARC processors are highly configurable and several configurable options +are supported in Linux. Some options are transparent to software +(i.e cache geometries, some can be detected at runtime and configured +and used accordingly, while some need to be explicitly selected or configured +in the kernel's configuration utility (AKA "make menuconfig"). + +However not all configurable options are supported when an ARC processor +is to run Linux. SoC design teams should refer to "Appendix E: +Configuration for ARC Linux" in the ARC HS Databook for configurability +guidelines. + +Following these guidelines and selecting valid configuration options +up front is critical to help prevent any unwanted issues during +SoC bringup and software development in general. + +Building the Linux kernel for ARC processors +############################################ + +The process of kernel building for ARC processors is the same as for any other +architecture and could be done in 2 ways: + +- Cross-compilation: process of compiling for ARC targets on a development + host with a different processor architecture (generally x86_64/amd64). +- Native compilation: process of compiling for ARC on a ARC platform + (hardware board or a simulator like QEMU) with complete development environment + (GNU toolchain, dtc, make etc) installed on the platform. + +In both cases, up-to-date GNU toolchain for ARC for the host is needed. +Synopsys offers prebuilt toolchain releases which can be used for this purpose, +available from: + +- Synopsys GNU toolchain releases: + ``_ + +- Linux kernel compilers collection: + ``_ + +- Bootlin's toolchain collection: ``_ + +Once the toolchain is installed in the system, make sure its "bin" folder +is added in your ``PATH`` environment variable. Then set ``ARCH=arc`` & +``CROSS_COMPILE=arc-linux`` (or whatever matches installed ARC toolchain prefix) +and then as usual ``make defconfig && make``. + +This will produce "vmlinux" file in the root of the kernel source tree +usable for loading on the target system via JTAG. +If you need to get an image usable with U-Boot bootloader, +type ``make uImage`` and ``uImage`` will be produced in ``arch/arc/boot`` +folder. diff --git a/Documentation/arch/arc/features.rst b/Documentation/arch/arc/features.rst new file mode 100644 index 000000000000..b793583d688a --- /dev/null +++ b/Documentation/arch/arc/features.rst @@ -0,0 +1,3 @@ +.. SPDX-License-Identifier: GPL-2.0 + +.. kernel-feat:: $srctree/Documentation/features arc diff --git a/Documentation/arch/arc/index.rst b/Documentation/arch/arc/index.rst new file mode 100644 index 000000000000..7b098d4a5e3e --- /dev/null +++ b/Documentation/arch/arc/index.rst @@ -0,0 +1,17 @@ +=================== +ARC architecture +=================== + +.. toctree:: + :maxdepth: 1 + + arc + + features + +.. only:: subproject and html + + Indices + ======= + + * :ref:`genindex` diff --git a/Documentation/arch/index.rst b/Documentation/arch/index.rst index ccb4d10fc1b6..2aeff47a0014 100644 --- a/Documentation/arch/index.rst +++ b/Documentation/arch/index.rst @@ -9,7 +9,7 @@ implementation. .. toctree:: :maxdepth: 2 - ../arc/index + arc/index ../arm/index ../arm64/index ../ia64/index diff --git a/MAINTAINERS b/MAINTAINERS index 64ea94536f4c..78ff43f63753 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -20185,7 +20185,7 @@ M: Vineet Gupta L: linux-snps-arc@lists.infradead.org S: Supported T: git git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git -F: Documentation/arc/ +F: Documentation/arch/arc F: Documentation/devicetree/bindings/arc/* F: Documentation/devicetree/bindings/interrupt-controller/snps,arc* F: arch/arc/ -- cgit v1.2.3