#
ebfc2fd8 |
| 29-Mar-2024 |
Bjorn Helgaas <bhelgaas@google.com> |
ARC: Fix typos
Fix typos, most reported by "codespell arch/arc". Only touches comments, no code changes.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Vineet Gupta <vgupta@kern
ARC: Fix typos
Fix typos, most reported by "codespell arch/arc". Only touches comments, no code changes.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Vineet Gupta <vgupta@kernel.org>
show more ...
|
#
4eb69d00 |
| 09-Dec-2023 |
Vineet Gupta <vgupta@kernel.org> |
ARC: fix smatch warning
Reported-by: kernel test robot <lkp@intel.com> Reported-by: Dan Carpenter <error27@gmail.com> Closes: https://lore.kernel.org/r/202311280906.VAIwEAfT-lkp@intel.com/ Signed-of
ARC: fix smatch warning
Reported-by: kernel test robot <lkp@intel.com> Reported-by: Dan Carpenter <error27@gmail.com> Closes: https://lore.kernel.org/r/202311280906.VAIwEAfT-lkp@intel.com/ Signed-off-by: Vineet Gupta <vgupta@kernel.org>
show more ...
|
#
c40cad3b |
| 23-Aug-2023 |
Vineet Gupta <vgupta@kernel.org> |
ARC: boot log: fix warning
Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202308221549.XKufWEWp-lkp@intel.com/ Signed-off-by: Vineet Gupta <vgupta@kerne
ARC: boot log: fix warning
Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202308221549.XKufWEWp-lkp@intel.com/ Signed-off-by: Vineet Gupta <vgupta@kernel.org>
show more ...
|
#
fad84e39 |
| 11-Jun-2020 |
Vineet Gupta <vgupta@kernel.org> |
ARC: boot log: eliminate struct cpuinfo_arc #4: boot log per ISA
- boot log now clearly per ISA - global struct cpuinfo_arc[] elimiated - local struct struct arcinfo kept for passing info betw
ARC: boot log: eliminate struct cpuinfo_arc #4: boot log per ISA
- boot log now clearly per ISA - global struct cpuinfo_arc[] elimiated - local struct struct arcinfo kept for passing info between functions
Tested-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202308162101.Ve5jBg80-lkp@intel.com Signed-off-by: Vineet Gupta <vgupta@kernel.org>
show more ...
|
#
17a5ed56 |
| 11-Jun-2020 |
Vineet Gupta <vgupta@kernel.org> |
ARC: boot log: eliminate struct cpuinfo_arc #2: cache
Signed-off-by: Vineet Gupta <vgupta@kernel.org>
|
#
72d861f2 |
| 11-Jun-2020 |
Vineet Gupta <vgupta@kernel.org> |
ARC: boot log: eliminate struct cpuinfo_arc #1: mm
This is first step in eliminating struct cpuinfo_arc[NR_CPUS]
Back when we had just ARCompact ISA, the idea was to read/bit-fiddle the BCRs once a
ARC: boot log: eliminate struct cpuinfo_arc #1: mm
This is first step in eliminating struct cpuinfo_arc[NR_CPUS]
Back when we had just ARCompact ISA, the idea was to read/bit-fiddle the BCRs once and and cache decoded information in a global struct ready to use.
With ARCv2 it was modified to contained abstract / ISA agnostic information.
However with ARCv3 there 's too much disparity to abstract in common structures. So drop the entire decode once and store paradigm. Afterall there's only 2 users of this machinery anyways: boot printing and cat /proc/cpuinfo. None is performance critical to warrant locking away resident memory per cpu.
This patch is first step in that direction - decouples struct cpuinfo_arc_mmu from global struct cpuinfo_arc - mmu code still has a trimmed down static version of struct cpuinfo_arc_mmu to cache information needed in performance critical code such as tlb flush routines - folds read_decode_mmu_bcr() into arc_mmu_mumbojumbo() - setup_processor() directly calls arc_mmu_init() and not via arc_cpu_init()
Tested-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202308151213.qKZPMiyz-lkp@intel.com/ Signed-off-by: Vineet Gupta <vgupta@kernel.org>
show more ...
|
#
97d0b5d0 |
| 10-Jun-2020 |
Vineet Gupta <vgupta@synopsys.com> |
ARCv2: boot log: detect newer/upconing HS3x/HS4x releases
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
|
#
43900edf |
| 02-Apr-2020 |
Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> |
ARC: Fix ICCM & DCCM runtime size checks
As of today the ICCM and DCCM size checks are incorrectly using mismatched units (KiB checked against bytes). The CONFIG_ARC_DCCM_SZ and CONFIG_ARC_ICCM_SZ a
ARC: Fix ICCM & DCCM runtime size checks
As of today the ICCM and DCCM size checks are incorrectly using mismatched units (KiB checked against bytes). The CONFIG_ARC_DCCM_SZ and CONFIG_ARC_ICCM_SZ are in KiB, but the size calculated in runtime and stored in cpu->dccm.sz and cpu->iccm.sz is in bytes.
Fix that.
Reported-by: Paul Greco <pmgreco@us.ibm.com> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
show more ...
|
#
f09d3174 |
| 05-Mar-2020 |
Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> |
ARC: allow userspace DSP applications to use AGU extensions
To be able to run DSP-enabled userspace applications with AGU (address generation unit) extensions we additionally need to save and restor
ARC: allow userspace DSP applications to use AGU extensions
To be able to run DSP-enabled userspace applications with AGU (address generation unit) extensions we additionally need to save and restore following registers at context switch: * AGU_AP* * AGU_OS* * AGU_MOD*
Reviewed-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
show more ...
|
#
4827d0cf |
| 05-Mar-2020 |
Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> |
ARC: handle DSP presence in HW
When DSP extensions are present, some of the regular integer instructions such as DIV, MACD etc are executed in the DSP unit with semantics alterable by flags in DSP_C
ARC: handle DSP presence in HW
When DSP extensions are present, some of the regular integer instructions such as DIV, MACD etc are executed in the DSP unit with semantics alterable by flags in DSP_CTRL aux register. This register is writable by userspace and thus can potentially affect corresponding instructions in kernel code, intentionally or otherwise. So safegaurd kernel by effectively disabling DSP_CTRL upon bootup and every entry to kernel.
Do note that for this config we simply zero out the DSP_CTRL reg assuming userspace doesn't really care about DSP. The next patch caters to the DSP aware userspace where this reg is saved/restored upon kernel entry/exit.
Reviewed-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
show more ...
|
#
240c84b1 |
| 05-Mar-2020 |
Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> |
ARC: add helpers to sanitize config options
We'll use this macro in coming patches extensively.
Reviewed-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synop
ARC: add helpers to sanitize config options
We'll use this macro in coming patches extensively.
Reviewed-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
show more ...
|
#
3b00b042 |
| 12-Feb-2020 |
Geert Uytterhoeven <geert+renesas@glider.be> |
ARC: Replace <linux/clk-provider.h> by <linux/of_clk.h>
The ARC platform code is not a clock provider, and just needs to call of_clk_init().
Hence it can include <linux/of_clk.h> instead of <linux/
ARC: Replace <linux/clk-provider.h> by <linux/of_clk.h>
The ARC platform code is not a clock provider, and just needs to call of_clk_init().
Hence it can include <linux/of_clk.h> instead of <linux/clk-provider.h>.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Stephen Boyd <sboyd@kernel.org> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
show more ...
|
#
61f23e65 |
| 18-Dec-2019 |
Arvind Sankar <nivedita@alum.mit.edu> |
arch/arc/setup: Drop dummy_con initialization
con_init in tty/vt.c will now set conswitchp to dummy_con if it's unset. Drop it from arch setup code.
Signed-off-by: Arvind Sankar <nivedita@alum.mit.
arch/arc/setup: Drop dummy_con initialization
con_init in tty/vt.c will now set conswitchp to dummy_con if it's unset. Drop it from arch setup code.
Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu> Link: https://lore.kernel.org/r/20191218214506.49252-5-nivedita@alum.mit.edu Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
d2912cb1 |
| 04-Jun-2019 |
Thomas Gleixner <tglx@linutronix.de> |
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
Based on 2 normalized pattern(s):
this program is free software you can redistribute it and or modify it under the terms of th
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
Based on 2 normalized pattern(s):
this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation
this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation #
extracted by the scancode license scanner the SPDX license identifier
GPL-2.0-only
has been chosen to replace the boilerplate/reference in 4122 file(s).
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Enrico Weigelt <info@metux.net> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
6dd356d8 |
| 05-Mar-2019 |
Vineet Gupta <vgupta@synopsys.com> |
ARC: unaligned: relax the check for gcc supporting -mno-unaligned-access
Without bleeding edge gcc, kernel builds were tripping everywhere.
So current gcc will generate unaligned code despite !CONF
ARC: unaligned: relax the check for gcc supporting -mno-unaligned-access
Without bleeding edge gcc, kernel builds were tripping everywhere.
So current gcc will generate unaligned code despite !CONFIG_ARC_USE_UNALIGNED_MEM_ACCESS but that is something we have to live with.
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
show more ...
|
#
85d6adcb |
| 25-Feb-2019 |
Vineet Gupta <vgupta@synopsys.com> |
ARC: boot log: cut down on verbosity
The syscall ABI has long been fixed, so no need to call that out now.
Also, there's no need to print really fine details such as norm, barrel-shifter etc. Those
ARC: boot log: cut down on verbosity
The syscall ABI has long been fixed, so no need to call that out now.
Also, there's no need to print really fine details such as norm, barrel-shifter etc. Those are given in a Linux enabled hardware config. So now we print just 1 line for all optional "instruction" related hardware features
| | ISA Extn : atomic ll64 unalign mpy[opt 9] div_rem
vs. 2 before
| |ISA Extn : atomic ll64 unalign | : mpy[opt 9] div_rem norm barrel-shift swap minmax swape
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
show more ...
|
#
00a4ae65 |
| 25-Feb-2019 |
Vineet Gupta <vgupta@synopsys.com> |
ARCv2: boot log: refurbish HS core/release identification
HS core names and releases have so far been identified based solely on IDENTIFY.ARCVER field. With the future HS releases this will not be s
ARCv2: boot log: refurbish HS core/release identification
HS core names and releases have so far been identified based solely on IDENTIFY.ARCVER field. With the future HS releases this will not be sufficient as same ARCVER 0x54 could be an HS38 or HS48.
So rewrite the code to use a new BCR to identify the cores properly.
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
show more ...
|
#
edb64bca |
| 25-Feb-2019 |
Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> |
ARC: u-boot args: check that magic number is correct
In case of devboards we really often disable bootloader and load Linux image in memory via JTAG. Even if kernel tries to verify uboot_tag and ubo
ARC: u-boot args: check that magic number is correct
In case of devboards we really often disable bootloader and load Linux image in memory via JTAG. Even if kernel tries to verify uboot_tag and uboot_arg there is sill a chance that we treat some garbage in registers as valid u-boot arguments in JTAG case. E.g. it is enough to have '1' in r0 to treat any value in r2 as a boot command line.
So check that magic number passed from u-boot is correct and drop u-boot arguments otherwise. That helps to reduce the possibility of using garbage as u-boot arguments in JTAG case.
We can safely check U-boot magic value (0x0) in linux passed via r1 register as U-boot pass it from the beginning. So there is no backward-compatibility issues.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
show more ...
|
#
76551468 |
| 30-Jan-2019 |
Eugeniy Paltsev <eugeniy.paltsev@synopsys.com> |
ARCv2: Add explcit unaligned access support (and ability to disable too)
As of today we enable unaligned access unconditionally on ARCv2. Do this under a Kconfig option to allow disable it for test,
ARCv2: Add explcit unaligned access support (and ability to disable too)
As of today we enable unaligned access unconditionally on ARCv2. Do this under a Kconfig option to allow disable it for test, benchmarking etc. Also while at it
- Select HAVE_EFFICIENT_UNALIGNED_ACCESS - Although gcc defaults to unaligned access (since GNU 2018.03), add the right toggles for enabling or disabling as appropriate - update bootlog to prints both HW feature status (exists, enabled/disabled) and SW status (used / not used). - wire up the relaxed memcpy for unaligned access
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com> [vgupta: squashed patches, handle gcc -mno-unaligned-access quick]
show more ...
|
#
7b2e932f |
| 21-Feb-2019 |
Vineet Gupta <vgupta@synopsys.com> |
ARCv2: don't assume core 0x54 has dual issue
The first release of core4 (0x54) was dual issue only (HS4x). Newer releases allow hardware to be configured as single issue (HS3x) or dual issue.
Preve
ARCv2: don't assume core 0x54 has dual issue
The first release of core4 (0x54) was dual issue only (HS4x). Newer releases allow hardware to be configured as single issue (HS3x) or dual issue.
Prevent accessing a HS4x only aux register in HS3x, which otherwise leads to illegal instruction exceptions
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
show more ...
|
#
493a2f81 |
| 14-Feb-2019 |
Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> |
ARC: enable uboot support unconditionally
After reworking U-boot args handling code and adding paranoid arguments check we can eliminate CONFIG_ARC_UBOOT_SUPPORT and enable uboot support uncondition
ARC: enable uboot support unconditionally
After reworking U-boot args handling code and adding paranoid arguments check we can eliminate CONFIG_ARC_UBOOT_SUPPORT and enable uboot support unconditionally.
For JTAG case we can assume that core registers will come up reset value of 0 or in worst case we rely on user passing '-on=clear_regs' to Metaware debugger.
Cc: stable@vger.kernel.org Tested-by: Corentin LABBE <clabbe@baylibre.com> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
show more ...
|
#
a66f2e57 |
| 14-Feb-2019 |
Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> |
ARC: U-boot: check arguments paranoidly
Handle U-boot arguments paranoidly: * don't allow to pass unknown tag. * try to use external device tree blob only if corresponding tag (TAG_DTB) is set.
ARC: U-boot: check arguments paranoidly
Handle U-boot arguments paranoidly: * don't allow to pass unknown tag. * try to use external device tree blob only if corresponding tag (TAG_DTB) is set. * don't check uboot_tag if kernel build with no ARC_UBOOT_SUPPORT.
NOTE: If U-boot args are invalid we skip them and try to use embedded device tree blob. We can't panic on invalid U-boot args as we really pass invalid args due to bug in U-boot code. This happens if we don't provide external DTB to U-boot and don't set 'bootargs' U-boot environment variable (which is default case at least for HSDK board) In that case we will pass {r0 = 1 (bootargs in r2); r1 = 0; r2 = 0;} to linux which is invalid.
While I'm at it refactor U-boot arguments handling code.
Cc: stable@vger.kernel.org Tested-by: Corentin LABBE <clabbe@baylibre.com> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
show more ...
|
#
cdf92962 |
| 04-Feb-2019 |
Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> |
ARC: fix actionpoints configuration detection
Fix reversed logic while actionpoints configuration (full/min) detection.
Fixies: 7dd380c338f1e ("ARC: boot log: print Action point details") Signed-of
ARC: fix actionpoints configuration detection
Fix reversed logic while actionpoints configuration (full/min) detection.
Fixies: 7dd380c338f1e ("ARC: boot log: print Action point details") Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
show more ...
|
#
7dd380c3 |
| 09-Jan-2019 |
Vineet Gupta <vgupta@synopsys.com> |
ARC: boot log: print Action point details
This now prints the number of action points {2,4,8} and {min,full} targets supported.
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
|
#
97e98132 |
| 06-Dec-2018 |
Vineet Gupta <vgupta@synopsys.com> |
ARCv2: boot log: BPU return stack depth
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
|