Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
deps: V8: cherry-pick 9ab40592f697
Original commit message:

    [riscv] Flush icache in both local and remote harts

    Fix the I-Cache flush flag according to the implementation of flush_icache_mm in Linux kernel.

    Change-Id: I6e6b1f56c377c2c0a629e170737bfac6c357ce8d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6080611
    Commit-Queue: Yahan Lu (LuYahan) <yahan@iscas.ac.cn>
    Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn>
    Cr-Commit-Position: refs/heads/main@{#97673}

Refs: v8/v8@9ab4059
  • Loading branch information
luyahan authored and kxxt committed Feb 3, 2025
commit 52e322b3b01f8bbb5fdebb9770e25eafdf322b6e
2 changes: 1 addition & 1 deletion common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@

# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
'v8_embedder_string': '-node.10',
'v8_embedder_string': '-node.11',

##### V8 defaults for Node.js #####

Expand Down
8 changes: 2 additions & 6 deletions deps/v8/src/codegen/riscv/cpu-riscv.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,12 @@ namespace internal {
void CpuFeatures::FlushICache(void* start, size_t size) {
#if !defined(USE_SIMULATOR)
char* end = reinterpret_cast<char*>(start) + size;
// The definition of this syscall is equal to
// SYSCALL_DEFINE3(riscv_flush_icache, uintptr_t, start,
// uintptr_t, end, uintptr_t, flags)
// The flag here is set to be SYS_RISCV_FLUSH_ICACHE_LOCAL, which is
// defined as 1 in the Linux kernel.
// SYS_riscv_flush_icache is a symbolic constant used in user-space code to
// identify the flush_icache system call, while __NR_riscv_flush_icache is the
// corresponding system call number used in the kernel to dispatch the system
// call.
syscall(__NR_riscv_flush_icache, start, end, 1);
// The flag set to zero will flush all cpu cores.
syscall(__NR_riscv_flush_icache, start, end, 0);
#endif // !USE_SIMULATOR.
}

Expand Down