~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/arch/arc/arc.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0
  2 
  3 Linux kernel for ARC processors
  4 *******************************
  5 
  6 Other sources of information
  7 ############################
  8 
  9 Below are some resources where more information can be found on
 10 ARC processors and relevant open source projects.
 11 
 12 - `<https://embarc.org>`_ - Community portal for open source on ARC.
 13   Good place to start to find relevant FOSS projects, toolchain releases,
 14   news items and more.
 15 
 16 - `<https://github.com/foss-for-synopsys-dwc-arc-processors>`_ -
 17   Home for all development activities regarding open source projects for
 18   ARC processors. Some of the projects are forks of various upstream projects,
 19   where "work in progress" is hosted prior to submission to upstream projects.
 20   Other projects are developed by Synopsys and made available to community
 21   as open source for use on ARC Processors.
 22 
 23 - `Official Synopsys ARC Processors website
 24   <https://www.synopsys.com/designware-ip/processor-solutions.html>`_ -
 25   location, with access to some IP documentation (`Programmer's Reference
 26   Manual, AKA PRM for ARC HS processors
 27   <https://www.synopsys.com/dw/doc.php/ds/cc/programmers-reference-manual-ARC-HS.pdf>`_)
 28   and free versions of some commercial tools (`Free nSIM
 29   <https://www.synopsys.com/cgi-bin/dwarcnsim/req1.cgi>`_ and
 30   `MetaWare Light Edition <https://www.synopsys.com/cgi-bin/arcmwtk_lite/reg1.cgi>`_).
 31   Please note though, registration is required to access both the documentation and
 32   the tools.
 33 
 34 Important note on ARC processors configurability
 35 ################################################
 36 
 37 ARC processors are highly configurable and several configurable options
 38 are supported in Linux. Some options are transparent to software
 39 (i.e cache geometries, some can be detected at runtime and configured
 40 and used accordingly, while some need to be explicitly selected or configured
 41 in the kernel's configuration utility (AKA "make menuconfig").
 42 
 43 However not all configurable options are supported when an ARC processor
 44 is to run Linux. SoC design teams should refer to "Appendix E:
 45 Configuration for ARC Linux" in the ARC HS Databook for configurability
 46 guidelines.
 47 
 48 Following these guidelines and selecting valid configuration options
 49 up front is critical to help prevent any unwanted issues during
 50 SoC bringup and software development in general.
 51 
 52 Building the Linux kernel for ARC processors
 53 ############################################
 54 
 55 The process of kernel building for ARC processors is the same as for any other
 56 architecture and could be done in 2 ways:
 57 
 58 - Cross-compilation: process of compiling for ARC targets on a development
 59   host with a different processor architecture (generally x86_64/amd64).
 60 - Native compilation: process of compiling for ARC on a ARC platform
 61   (hardware board or a simulator like QEMU) with complete development environment
 62   (GNU toolchain, dtc, make etc) installed on the platform.
 63 
 64 In both cases, up-to-date GNU toolchain for ARC for the host is needed.
 65 Synopsys offers prebuilt toolchain releases which can be used for this purpose,
 66 available from:
 67 
 68 - Synopsys GNU toolchain releases:
 69   `<https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases>`_
 70 
 71 - Linux kernel compilers collection:
 72   `<https://mirrors.edge.kernel.org/pub/tools/crosstool>`_
 73 
 74 - Bootlin's toolchain collection: `<https://toolchains.bootlin.com>`_
 75 
 76 Once the toolchain is installed in the system, make sure its "bin" folder
 77 is added in your ``PATH`` environment variable. Then set ``ARCH=arc`` &
 78 ``CROSS_COMPILE=arc-linux`` (or whatever matches installed ARC toolchain prefix)
 79 and then as usual ``make defconfig && make``.
 80 
 81 This will produce "vmlinux" file in the root of the kernel source tree
 82 usable for loading on the target system via JTAG.
 83 If you need to get an image usable with U-Boot bootloader,
 84 type ``make uImage`` and ``uImage`` will be produced in ``arch/arc/boot``
 85 folder.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php