summaryrefslogtreecommitdiffstats
path: root/arch/kvx
Commit message (Collapse)AuthorAgeFilesLines
* clk: select CLKDEV_LOOKUP from COMMON_CLKAhmad Fatoum2024-01-191-1/+0
| | | | | | | | | | All platforms that select COMMON_CLK also select CLKDEV_LOOKUP, therefore just select it in drivers/clk/Kconfig and drop the CLKDEV_LOOKUP all over the place. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20240118090718.1314156-2-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: set DMA_ALIGNMENT instead of defining dma_allocAhmad Fatoum2024-01-111-5/+1
| | | | | | | | | | | <dma.h> will take care to define dma_alloc with DMA_ALIGNMENT as alignment. As 32 is the default and we for need 64 for kvx, define DMA_ALIGNMENT and drop the now duplicate code. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Reviewed-by: Yann Sionneau <ysionneau@kalrayinc.com> Link: https://lore.barebox.org/20240108102438.1318473-2-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* include: import Linux word-at-a-time.hAhmad Fatoum2023-11-231-0/+2
| | | | | | | | | | | | | | | | | | | The Linux <linux/word-at-a-time.h> interface is used to optimize searching for bytes in strings by doing word-size comparisons. This will be used in the implementation of strscpy in a follow-up commit, so import the generic version here. A good overview on the interface is available at LWN[1]. Note that it discuss Linux v3.5. The asm-generic version imported here works also on little-endian and not only big-endian[2]. [1]: https://lwn.net/Articles/501492/ [2]: Linux kernel commit a6e2f029ae34 ("Make asm/word-at-a-time.h available on all architectures"). Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20231122172951.376531-9-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* treewide: switch regmap.h include to linux/regmap.hAhmad Fatoum2023-10-261-1/+1
| | | | | | | | | | | | | | | Now that there are no longer any users of regmap.h in headers, let's switch all users in the source files to linux/regmap.h. That way, the only users of regmap.h whether directly or indirectly will be out-of-tree code, which will fail with an error if they are dependent on the old semantics of regmap_bulk_read and regmap_bulk_write. After a transitory period, we can then drop regmap.h. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20231020071853.2826528-12-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: Remove unused definesJules Maselbas2023-07-261-4/+0
| | | | | | | | | Since commit f6dcd5c03b ("kvx: dma: Remove arch dma_map/unmap_single"), theses defines are not used anymore, remove them. Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Link: https://lore.barebox.org/20230711090841.18373-1-jmaselbas@kalray.eu Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: Fix asm syntax in start.SPaul Iannetta2023-06-281-13/+13
| | | | | | | | | | | Previously our assembler considered all separators (",", "?", "=", "[]") to be the same, this is not the case anymore hence we need to fix all the misformed assembly. Signed-off-by: Paul Iannetta <piannetta@kalray.eu> Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Link: https://lore.barebox.org/20230627154202.8976-3-oss@kalray.eu Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: Replace dinval alias with d1invalJulien Villette2023-06-281-1/+1
| | | | | | | | | | | | | The coolidge ISA has been updated for better compatibility for kv3-1 and kv3-2, the dinval instruction is now an alias of d1inval for backward compatibility and should be replaced by the new name d1inval. Replace dinval/iinval instructions with d1inval/i1inval respectively. Signed-off-by: Julien Villette <jvillette@kalray.eu> Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Link: https://lore.barebox.org/20230627154202.8976-2-oss@kalray.eu Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: Add missing include/asm/mmu.hJules Maselbas2023-06-281-0/+8
| | | | | | | | | | | | | | | | | | | | | Since the rework of remap_range each architecture is expected to have the asm/mmu.h header, this wasn't the case for kvx, fix this. By default the KV3-1 cpu (as found in Coolidge SoC) starts with all memory uncached and MMU disabled. Data and instruction L1-caches are enabled very early during barebox start code, see arch/kvx/cpu/start.S, using the wfxl instruction to modify DCE and ICE (resp. Data and Instruction Cache Enable) bits in PS (Processor Status) of the system register file. The core MMU is not used by barebox, however there is a default mapping of the memory when the MMU is disabled where only the SMEM and DDR memory are cached and device-memory isn't. Fixes b792124a7d ("rework remap_range") Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Link: https://lore.barebox.org/20230627154202.8976-1-oss@kalray.eu Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2023-06-221-2/+0
|\
| * include: const: make UL/ULL() macros commonly availableDenis Orlov2023-06-091-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Import the definitions from Linux. Some code actually used those already, defining them locally. As these are not needed now that there are common ones available, remove the duplicate definitions. While at it, also update _BITUL/_BITULL() definitions to align more with the latest Linux sources. Signed-off-by: Denis Orlov <denorl2009@gmail.com> Link: https://lore.barebox.org/20230609045829.2225-2-denorl2009@gmail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/dma-streaming-interface'Sascha Hauer2023-06-221-6/+10
|\ \
| * | dma: rework dma_sync_single_for_*() interfaceDenis Orlov2023-06-061-6/+10
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, a lot of code handles dma_addr_t values as if they actually hold CPU addresses. However, this is not always true. For example, MIPS architecture requires an explicit conversion from the physical address space to some virtual address space segment to get a valid CPU-side pointer. Another issue is that DMA ranges that may be specified in a device tree will not work this way. To get from a virtual address to a dma handle and vice versa we need to add/subtract some offset, which is calculated from "dma-ranges" property. Only dma_map_single() was doing this, but dma_sync_single_for_*() also should. Improve the interface by adding 'struct device' as the first argument to the dma_sync_single_for_*(). This allows to do cpu_to_dma/dma_to_cpu() conversions in common code and call into arch-specific code with proper cpu-side addresses. To make things more clear, make the virtual address argument of those arch-side functions be properly represented with a void* type. Apply the required changes in device drivers that use the affected functions, making them pass the appropriate device pointer. Signed-off-by: Denis Orlov <denorl2009@gmail.com> Link: https://lore.barebox.org/20230604215002.20240-2-denorl2009@gmail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* / treewide: add MODULE_DEVICE_TABLE markersAhmad Fatoum2023-06-131-0/+1
|/ | | | | | | | | | | | | | | | Syncing device trees with Linux upstream can lead to breakage, when the device trees are switched to newer bindings, which are not yet supported in barebox. To make it easier to spot such issues, we want to start applying some heuristics to flag possibly problematic DT changes. One step towards being able to do that is to know what nodes barebox actually consumes. Most of the nodes have a compatible entry, which is matched by an array of of_device_id, so let's have MODULE_DEVICE_TABLE point at it for future extraction. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230612125908.1087340-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Rename struct driver_d to driverSascha Hauer2023-01-101-1/+1
| | | | | | | | | | | The '_d' suffix was originally meant to distinguish barebox struct names from Linux struct names. struct driver doesn't exist in Linux, so we can rename it and remove the meaningless suffix. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20221214123512.189688-4-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Rename struct device_d to deviceSascha Hauer2023-01-101-1/+1
| | | | | | | | | | | | | The '_d' suffix was originally introduced in case we want to import Linux struct device as a separate struct into barebox. Over time it became clear that this won't happen, instead barebox struct device_d is basically the same as Linux struct device. Rename the struct name accordingly to make porting Linux code easier. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20221214123512.189688-3-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* treewide: rename CONFIG_HAS_ARCH_SJLJ to CONFIG_ARCH_HAS_SJLJAhmad Fatoum2022-12-071-1/+1
| | | | | | | | | We have 9 symbols beginning with ARCH_HAS, but only with HAS_ARCH. Change it over for symmetry. No functional change. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20221205133033.3008535-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx,openrisc,riscv,sandbox/dts: harmonize clean-files definitionUwe Kleine-König2022-12-021-1/+1
| | | | | | | | | | | | I noticed while playing around with the sandbox that the mrproper make target doesn't remove arch/sandbox/dts/sandbox.dtb.z. Fix all dts clean-files defintion to match arm's defintion which seems to be the most complete one. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.barebox.org/20221202082954.3413605-1-u.kleine-koenig@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* lds: move OUTPUT_FORMAT/ARCH definition into headerAhmad Fatoum2022-10-111-0/+3
| | | | | | | | | | In order to allow us having architecture-indepenent linker scripts, move the definition for the format and the architecture into the new <asm/barebox.lds.h> header file. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20221010061122.2084009-7-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* lds: introduce <asm/barebox.lds.h>Ahmad Fatoum2022-10-112-1/+4
| | | | | | | | | | | | | | We have a separate linker script for each architecture and one more for PBL if supported. All linker scripts include <asm-generic/barebox.lds.h>. In future, we may want to use a linker script common to more than one architecture. Prepare for this by having each architecture define a <asm/barebox.lds.h>. Currently, these files contain little more than 1-2 #include directives, but this will change in later commits. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20221010061122.2084009-6-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* dma: avoid clash between static inline and extern dma_alloc declarationsAhmad Fatoum2022-06-171-0/+2
| | | | | | | | | | | | | | dma_alloc/dma_sync/dma_free can be either either static inline definitions usually supplied per arch or extern definitions that can be either generic or supplied per arch. To avoid clashes, expect static inline definitions to define a preprocessor symbol for now. There is much duplication in the static inline helpers, which we can remove in future. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220614091556.1018102-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: remove unused CONFIG_ARCHINFOMasahiro Yamada2022-02-081-7/+0
| | | | | | | | | | | This is defined, but not used anywhere. $ git grep ARCHINFO arch/kvx/Kconfig:config ARCHINFO Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Link: https://lore.barebox.org/20220207134743.1775403-1-masahiroy@kernel.org Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/spdx'Sascha Hauer2022-01-193-0/+6
|\
| * treewide: add SPDX-License-Identifier for Kbuild/KconfigAhmad Fatoum2022-01-053-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To verify only Kconfig/Makefile is touched: git show --numstat --format=oneline HEAD | grep -v 'Kconfig\|Makefile' will print only arch/powerpc/Kbuild. To verify nothing unexpected is added: git show -U0 | grep '^-[^-]\|^+[^+]' | sort -u Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220103120539.1730644-3-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | kvx: add kvx_sfr_field_valClement Leger2022-01-181-0/+4
| | | | | | | | | | | | | | | | | | | | Add this macro for upcoming socinfo driver. This extract a sfr field using only its name. Signed-off-by: Clement Leger <clement.leger@bootlin.com> Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Link: https://lore.barebox.org/20220117221917.26970-10-jmaselbas@kalray.eu Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | kvx: enable FITIMAGE supportClement Leger2022-01-182-1/+32
| | | | | | | | | | | | | | | | | | | | | | Enable FITIMAGE support in kvx defconfig and add code to handle fit boot from bootm command. This is rather a simple addition and it allow to boot a fit image containing an ELF file as the kernel. Signed-off-by: Clement Leger <clement.leger@bootlin.com> Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Link: https://lore.barebox.org/20220117221917.26970-6-jmaselbas@kalray.eu Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | kvx: Accept LINUX_BOOT_PARAM_MAGIC as a valid magic valueJules Maselbas2022-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | Both defines FSBL_PARAM_MAGIC and LINUX_BOOT_PARAM_MAGIC have a similar uses and yet have different values. Making barebox accept both as valid magic boot param will make it possible to use qemu-system-kvx to boot a barebox image as a normal kernel. Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Link: https://lore.barebox.org/20220117221917.26970-4-jmaselbas@kalray.eu Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | kvx: Move LINUX_BOOT_PARAM_MAGIC in asm/common.hJules Maselbas2022-01-183-13/+2
| | | | | | | | | | | | | | | | | | Declare both defines FSBL_PARAM_MAGIC and LINUX_BOOT_PARAM_MAGIC in the same header file, as they both have a very similar uses and value. Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Link: https://lore.barebox.org/20220117221917.26970-3-jmaselbas@kalray.eu Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | kvx: dma: Remove arch dma_map/unmap_singleJules Maselbas2022-01-181-38/+0
|/ | | | | | | | | | | | Since dma_map/unmap_single functions have been moved to common, barebox doesn't compile for kvx anymore. The original functions were doing some magic to support 32bits dma buffer addresses. The original behavior can be replaced by a device-tree dma-range property. Fixes: 3f975f810 ("dma: move dma_map/unmap_single from ARM to common code") Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Link: https://lore.barebox.org/20220117221917.26970-2-jmaselbas@kalray.eu Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/x86'Sascha Hauer2021-12-151-1/+1
|\
| * kbuild: remove unneeded -nostdlib flagMasahiro Yamada2021-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The -nostdlib option requests the compiler to not use the standard system startup files or libraries when linking. arch/kvm/Makefile adds it to KBUILD_CFLAGS/AFLAGS, but it does not make sense because those are unrelated to linking. arch/{mips,riscv,x86}/Makefile passes it to the linker, but it is not sensible either. As noted above, adding -nostdlib makes sense only when $(CC) is used as a linker driver, but $(LD) is directly used for linking barebox. (ld.bfd/ld.lld recognizes the -nostdlib flag, but its behavior is obscure, and unneeded here.) Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Link: https://lore.barebox.org/20211117034918.1226358-2-masahiroy@kernel.org Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | asm-generic: move sync_caches_for_execution declaration to <asm/cache.h>Ahmad Fatoum2021-11-251-0/+3
|/ | | | | | | | | | We have three architectures defining sync_caches_for_execution(). Have them all do so in a header of the same name to allow using it in common code later on, like in an EFI image loading routine. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20211122084732.2597109-8-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* blspec: Rework firmware loadSascha Hauer2021-06-281-0/+6
| | | | | | | | | | | | | | | | Applying overlays in blspec currently works in two steps. First of_firmware_load_overlay() is called which doesn't load an overlay, but instead loads firmware when one is needed by the overlay. This is done on the live tree, because that was needed to find the firmware manager. The second step is to call of_register_overlay() to apply the overlay to the kernel device tree when the fixups are executed. Instead of using a separate step to load the firmware, load the firmware as part of the of_fixups. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20210624085223.14616-14-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: propagate errors inside barebox_register_{of, fdt} into initcallsAhmad Fatoum2021-06-021-3/+1
| | | | | | | | | | | | | | | Errors during device tree registration, while uncommon, are really annoying, because the system may limp along and it's not clear where the misbehavior originates from. Failing the initcall of the device tree would improve user experience in that error case. There is intentionally no early exit on error cases to give barebox a chance to probe the serial driver to actually report errors when DEBUG_LL is disabled. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210531071239.30653-4-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: lib: dtb: Remove unused variableJules Maselbas2021-03-171-3/+0
| | | | | | | Local variables `root` and `ret` are not used anymore, remove them. Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: Request enough privilege to boot LinuxJules Maselbas2021-03-172-0/+20
| | | | | | | | At startup barebox must take all the privileges that will be requested by Linux. Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: Implement dma handling primitivesYann Sionneau2021-03-175-1/+131
| | | | | Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: Implement dcache invalidation primitiveYann Sionneau2021-03-174-1/+40
| | | | | Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: Implement setjmp/longjmp/initjmpJules Maselbas2021-03-174-1/+102
| | | | | Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: Add common device tree register functionSascha Hauer2020-10-121-11/+1
| | | | | | | | The different architectures duplicate some code around unflattening and registering the device tree. Add common functions to reduce this duplication. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc' into masterSascha Hauer2020-09-252-8/+6
|\
| * Regenerate defconfig filesUwe Kleine-König2020-09-231-7/+5
| | | | | | | | | | | | | | | | Done with the same script used to generate commit d952a0eeba37 ("Regenerate defconfig files"). Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * restart: give all restart handlers a descriptive nameAhmad Fatoum2020-09-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | With incoming changes to choose a specific reset method, give all currently unnamed "default" reset handlers a name: - soc reset via SoC-specific means - soc-wdt reset via SoC watchdog timer - vector reset via jump to reset vector - efi reset via EFI firmware Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | kvx,riscv: remove unused $(dtb-y) assignmentMasahiro Yamada2020-08-191-1/+0
|/ | | | | | | dtb-y is not defined in these Makefiles. Remove the meaningless code. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: exclude dtb from malloc zoneClement Leger2020-08-111-2/+41
| | | | | | | | | | | | | | When dtb is provided by the FSBL (first stage bootloader), it might end up in the malloc zone initialized by barebox. While the dtb is discarded after being unflatten, if the dtb is provided right after barebox elf, then the malloc can overwrite it while unflattening it when allocating nodes. To avoid that, exclude the dtb from the malloc zone by checking if it overlaps it. If so, determine the largest zone for the allocation and modify the memory area to use that. Signed-off-by: Clement Leger <cleger@kalray.eu> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: remove duplicated dtb symbolsClement Leger2020-07-011-9/+0
| | | | | | | | | | dtb symbols (__dtb_start, __dtb_end) are already defined using RO_DATA_SECTION. This duplicated dtb section is a leftover used by Kalray internal tools to patch the dtb when loading the elf on a target. Remove it to keep only one symbol definition. Signed-off-by: Clement Leger <cleger@kalray.eu> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: add support for elf loading using bootmClement Leger2020-07-016-2/+155
| | | | | | | | | In order to boot elfs files, add bootm command support for kvx. This support can boot elf files using bootm elf support. initrd and device-tree handling is also included and loads them after the elf file load address. Signed-off-by: Clement Leger <cleger@kalray.eu> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kvx: add I-cache and D-cache synchronisationClement Leger2020-07-011-0/+18
| | | | | | | | | | | Before booting, we must make sure the I-cache is synchronized with the D-cache to execute loaded instructions. In order to do that, add a function which execute a fence to ensure every memory accesses have been committed out of processor pipeline to memory and then invalidate I-cache to reload from memory. Signed-off-by: Clement Leger <cleger@kalray.eu> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kbuild: fix typo in --no-whole-archive flagClement Leger2020-06-241-1/+1
| | | | | | | | | "whole" was replaced with "while" during a previous patch. Fix this flag to allow building correctly. Fixes 0a78b33954 ("kbuild: switch over to thin archive") Signed-off-by: Clement Leger <cleger@kalray.eu> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/kvx'Sascha Hauer2020-06-113-4/+0
|\
| * kvx: do not include empty <config.h>Masahiro Yamada2020-05-183-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <config.h> is per-board config file, which is only allowed for old boards. For new boards, the top Makefile creates an empty include/config.h kvx does not have config.h, so #include <config.h> is useless. Also, remove meaningless board-$(CONFIG_GENERIC). Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-By: Clement Leger <cleger@kalray.eu> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>