€•üSŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ /translations/zh_CN/arch/arc/arc”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/zh_TW/arch/arc/arc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/it_IT/arch/arc/arc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/ja_JP/arch/arc/arc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/ko_KR/arch/arc/arc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/sp_SP/arch/arc/arc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒ:/var/lib/git/docbuild/linux/Documentation/arch/arc/arc.rst”h KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒLinux kernel for ARC processors”h]”hŒLinux kernel for ARC processors”…””}”(hh»hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hh¶hžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒOther sources of information”h]”hŒOther sources of information”…””}”(hhÌhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hhÉhžhhŸh³h KubhŒ paragraph”“”)”}”(hŒqBelow are some resources where more information can be found on ARC processors and relevant open source projects.”h]”hŒqBelow are some resources where more information can be found on ARC processors and relevant open source projects.”…””}”(hhÜhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K hhÉhžhubhŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ ``_ - Community portal for open source on ARC. Good place to start to find relevant FOSS projects, toolchain releases, news items and more. ”h]”hÛ)”}”(hŒŸ``_ - Community portal for open source on ARC. Good place to start to find relevant FOSS projects, toolchain releases, news items and more.”h]”(hŒ reference”“”)”}”(hŒ``_”h]”hŒhttps://embarc.org”…””}”(hhûhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œhttps://embarc.org”Œrefuri”j uh1hùhhõubhŒtarget”“”)”}”(hŒ”h]”h}”(h]”Œhttps-embarc-org”ah ]”h"]”Œhttps://embarc.org”ah$]”h&]”Œrefuri”j uh1j Œ referenced”KhhõubhŒˆ - Community portal for open source on ARC. Good place to start to find relevant FOSS projects, toolchain releases, news items and more.”…””}”(hhõhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K hhñubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhhìhžhhŸh³h Nubhð)”}”(hX“``_ - 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. ”h]”hÛ)”}”(hX’``_ - 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.”h]”(hú)”}”(hŒ<``_”h]”hŒ7https://github.com/foss-for-synopsys-dwc-arc-processors”…””}”(hj4hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ7https://github.com/foss-for-synopsys-dwc-arc-processors”j jCuh1hùhj0ubj )”}”(hŒ9”h]”h}”(h]”Œ5https-github-com-foss-for-synopsys-dwc-arc-processors”ah ]”h"]”Œ7https://github.com/foss-for-synopsys-dwc-arc-processors”ah$]”h&]”Œrefuri”jCuh1j jKhj0ubhXZ - 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.”…””}”(hj0hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h Khj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhhìhžhhŸh³h Nubhð)”}”(hXZ`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. ”h]”hÛ)”}”(hXY`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.”h]”(hú)”}”(hŒm`Official Synopsys ARC Processors website `_”h]”hŒ(Official Synopsys ARC Processors website”…””}”(hjihžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ(Official Synopsys ARC Processors website”j Œ?https://www.synopsys.com/designware-ip/processor-solutions.html”uh1hùhjeubj )”}”(hŒB ”h]”h}”(h]”Œ(official-synopsys-arc-processors-website”ah ]”h"]”Œ(official synopsys arc processors website”ah$]”h&]”Œrefuri”jyuh1j jKhjeubhŒ3 - location, with access to some IP documentation (”…””}”(hjehžhhŸNh Nubhú)”}”(hŒ“`Programmer's Reference Manual, AKA PRM for ARC HS processors `_”h]”hŒ>Programmer’s Reference Manual, AKA PRM for ARC HS processors”…””}”(hj‹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ”h]”h}”(h]”Œ;programmer-s-reference-manual-aka-prm-for-arc-hs-processors”ah ]”h"]”Œ`_”h]”hŒ Free nSIM”…””}”(hj­hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ Free nSIM”j Œ3https://www.synopsys.com/cgi-bin/dwarcnsim/req1.cgi”uh1hùhjeubj )”}”(hŒ6 ”h]”h}”(h]”Œ free-nsim”ah ]”h"]”Œ free nsim”ah$]”h&]”Œrefuri”j½uh1j jKhjeubhŒ and ”…””}”(hjehžhhŸNh Nubhú)”}”(hŒR`MetaWare Light Edition `_”h]”hŒMetaWare Light Edition”…””}”(hjÏhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒMetaWare Light Edition”j Œ6https://www.synopsys.com/cgi-bin/arcmwtk_lite/reg1.cgi”uh1hùhjeubj )”}”(hŒ9 ”h]”h}”(h]”Œmetaware-light-edition”ah ]”h"]”Œmetaware light edition”ah$]”h&]”Œrefuri”jßuh1j jKhjeubhŒ_). Please note though, registration is required to access both the documentation and the tools.”…””}”(hjehžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h Khjaubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhhìhžhhŸh³h Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1hêhŸh³h K hhÉhžhubeh}”(h]”Œother-sources-of-information”ah ]”h"]”Œother sources of information”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒ0Important note on ARC processors configurability”h]”hŒ0Important note on ARC processors configurability”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hj hžhhŸh³h K#ubhÛ)”}”(hX[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").”h]”hXaARC 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â€).”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K%hj hžhubhÛ)”}”(hŒÛ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.”h]”hŒß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.”…””}”(hj,hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K+hj hžhubhÛ)”}”(hŒµ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.”h]”hŒµ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.”…””}”(hj:hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K0hj hžhubeh}”(h]”Œ0important-note-on-arc-processors-configurability”ah ]”h"]”Œ0important note on arc processors configurability”ah$]”h&]”uh1h´hh¶hžhhŸh³h K#ubhµ)”}”(hhh]”(hº)”}”(hŒ,Building the Linux kernel for ARC processors”h]”hŒ,Building the Linux kernel for ARC processors”…””}”(hjShžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjPhžhhŸh³h K5ubhÛ)”}”(hŒxThe process of kernel building for ARC processors is the same as for any other architecture and could be done in 2 ways:”h]”hŒxThe process of kernel building for ARC processors is the same as for any other architecture and could be done in 2 ways:”…””}”(hjahžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K7hjPhžhubhë)”}”(hhh]”(hð)”}”(hŒCross-compilation: process of compiling for ARC targets on a development host with a different processor architecture (generally x86_64/amd64).”h]”hÛ)”}”(hŒCross-compilation: process of compiling for ARC targets on a development host with a different processor architecture (generally x86_64/amd64).”h]”hŒCross-compilation: process of compiling for ARC targets on a development host with a different processor architecture (generally x86_64/amd64).”…””}”(hjvhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K:hjrubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhjohžhhŸh³h Nubhð)”}”(hŒÍ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. ”h]”hÛ)”}”(hŒÌ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.”h]”hŒÌ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.”…””}”(hjŽhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h K`_ ”h]”hÛ)”}”(hŒpSynopsys GNU toolchain releases: ``_”h]”(hŒ!Synopsys GNU toolchain releases: ”…””}”(hj½hžhhŸNh Nubhú)”}”(hŒO``_”h]”hŒJhttps://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases”…””}”(hjÅhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒJhttps://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases”j jÔuh1hùhj½ubj )”}”(hŒL”h]”h}”(h]”ŒHhttps-github-com-foss-for-synopsys-dwc-arc-processors-toolchain-releases”ah ]”h"]”ŒJhttps://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases”ah$]”h&]”Œrefuri”jÔuh1j jKhj½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h KDhj¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhj¶hžhhŸh³h Nubhð)”}”(hŒ\Linux kernel compilers collection: ``_ ”h]”hÛ)”}”(hŒ[Linux kernel compilers collection: ``_”h]”(hŒ#Linux kernel compilers collection: ”…””}”(hjòhžhhŸNh Nubhú)”}”(hŒ8``_”h]”hŒ3https://mirrors.edge.kernel.org/pub/tools/crosstool”…””}”(hjúhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ3https://mirrors.edge.kernel.org/pub/tools/crosstool”j j uh1hùhjòubj )”}”(hŒ5”h]”h}”(h]”Œ1https-mirrors-edge-kernel-org-pub-tools-crosstool”ah ]”h"]”Œ3https://mirrors.edge.kernel.org/pub/tools/crosstool”ah$]”h&]”Œrefuri”j uh1j jKhjòubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h KGhjîubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhj¶hžhhŸh³h Nubhð)”}”(hŒDBootlin's toolchain collection: ``_ ”h]”hÛ)”}”(hŒCBootlin's toolchain collection: ``_”h]”(hŒ"Bootlin’s toolchain collection: ”…””}”(hj'hžhhŸNh Nubhú)”}”(hŒ#``_”h]”hŒhttps://toolchains.bootlin.com”…””}”(hj/hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œhttps://toolchains.bootlin.com”j j>uh1hùhj'ubj )”}”(hŒ ”h]”h}”(h]”Œhttps-toolchains-bootlin-com”ah ]”h"]”Œhttps://toolchains.bootlin.com”ah$]”h&]”Œrefuri”j>uh1j jKhj'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h KJhj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhj¶hžhhŸh³h Nubeh}”(h]”h ]”h"]”h$]”h&]”jjuh1hêhŸh³h KDhjPhžhubhÛ)”}”(hXOnce 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``.”h]”(hŒ_Once the toolchain is installed in the system, make sure its “bin†folder is added in your ”…””}”(hj^hžhhŸNh NubhŒliteral”“”)”}”(hŒ``PATH``”h]”hŒPATH”…””}”(hjhhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jfhj^ubhŒ environment variable. Then set ”…””}”(hj^hžhhŸNh Nubjg)”}”(hŒ ``ARCH=arc``”h]”hŒARCH=arc”…””}”(hjzhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jfhj^ubhŒ & ”…””}”(hj^hžhhŸNh Nubjg)”}”(hŒ``CROSS_COMPILE=arc-linux``”h]”hŒCROSS_COMPILE=arc-linux”…””}”(hjŒhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jfhj^ubhŒH (or whatever matches installed ARC toolchain prefix) and then as usual ”…””}”(hj^hžhhŸNh Nubjg)”}”(hŒ``make defconfig && make``”h]”hŒmake defconfig && make”…””}”(hjžhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jfhj^ubhŒ.”…””}”(hj^hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h KLhjPhžhubhÛ)”}”(hXThis 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.”h]”(hŒ½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 ”…””}”(hj¶hžhhŸNh Nubjg)”}”(hŒ``make uImage``”h]”hŒ make uImage”…””}”(hj¾hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jfhj¶ubhŒ and ”…””}”(hj¶hžhhŸNh Nubjg)”}”(hŒ ``uImage``”h]”hŒuImage”…””}”(hjÐhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jfhj¶ubhŒ will be produced in ”…””}”(hj¶hžhhŸNh Nubjg)”}”(hŒ``arch/arc/boot``”h]”hŒ arch/arc/boot”…””}”(hjâhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jfhj¶ubhŒ folder.”…””}”(hj¶hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÚhŸh³h KQhjPhžhubeh}”(h]”Œ,building-the-linux-kernel-for-arc-processors”ah ]”h"]”Œ,building the linux kernel for arc processors”ah$]”h&]”uh1h´hh¶hžhhŸh³h K5ubeh}”(h]”Œlinux-kernel-for-arc-processors”ah ]”h"]”Œlinux kernel for arc processors”ah$]”h&]”uh1h´hhhžhhŸh³h Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h³uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(h¹NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j-Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h³Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jjj jjjjMjJjƒj€j¥j¢jÇjÄjéjæjMjJjÿjüjÞjÛjjjHjEuŒ nametypes”}”(j‰j ‰jˆjMˆjƒˆj¥ˆjLjjéˆjM‰jÿ‰jÞˆjˆjHˆuh}”(jh¶jhÉjjjJjDj€jzj¢jœjÄj¾jæjàjJj jüjPjÛjÕjj jEj?uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nhžhub.