Skip to content

Commit

Permalink
deps: V8: cherry-pick 9ab40592f697
Browse files Browse the repository at this point in the history
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) <[email protected]>
    Reviewed-by: Ji Qiu <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#97673}

Refs: v8/v8@9ab4059
PR-URL: #56781
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Debadree Chatterjee <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
  • Loading branch information
kxxt authored Feb 4, 2025
1 parent c4fb331 commit c889b85
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 7 deletions.
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

0 comments on commit c889b85

Please sign in to comment.