This website requires JavaScript.
Explore
Help
Sign In
hollalinux
/
linux-sg2042
mirror of
https://github.com/sophgo/linux-riscv.git
Watch
1
Star
0
Fork
You've already forked linux-sg2042
0
Code
Issues
Packages
Projects
Releases
Wiki
Activity
1995d28f84
linux-sg2042
/
arch
/
riscv
/
mm
/
Makefile
6 lines
93 B
Makefile
Raw
Normal View
History
Unescape
Escape
RISC-V: Build Infrastructure This patch contains all the build infrastructure that actually enables the RISC-V port. This includes Makefiles, linker scripts, and Kconfig files. It also contains the only top-level change, which adds RISC-V to the list of architectures that need a sed run to produce the ARCH variable when building locally. Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
2017-07-11 09:08:08 +08:00
obj-y
+=
init.o
obj-y
+=
fault.o
obj-y
+=
extable.o
obj-y
+=
ioremap.o
RISC-V: Flush I$ when making a dirty page executable The RISC-V ISA allows for instruction caches that are not coherent WRT stores, even on a single hart. As a result, we need to explicitly flush the instruction cache whenever marking a dirty page as executable in order to preserve the correct system behavior. Local instruction caches aren't that scary (our implementations actually flush the cache, but RISC-V is defined to allow higher-performance implementations to exist), but RISC-V defines no way to perform an instruction cache shootdown. When explicitly asked to do so we can shoot down remote instruction caches via an IPI, but this is a bit on the slow side. Instead of requiring an IPI to all harts whenever marking a page as executable, we simply flush the currently running harts. In order to maintain correct behavior, we additionally mark every other hart as needing a deferred instruction cache which will be taken before anything runs on it. Signed-off-by: Andrew Waterman <andrew@sifive.com> Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
2017-10-26 05:30:32 +08:00
obj-y
+=
cacheflush.o