vasilito
|
660e3e001d
|
Merge upstream/master into submodule/kernel
Sync the kernel fork with 10 upstream commits (context timer-separation
with unblock_context/wakeup_context, dtb MMIO/bus-address translation
+ tests, event read_with_timeout support, proc wakeup paths, dup2
rewrite with rollback, futex Weak context_lock + unblock_context,
memory/init ordering, and more). Satisfies the verify-fork-functions
gate (11 previously-missing upstream functions now present).
Conflicts resolved (5 files; 9 auto-merged):
- src/syscall/futex.rs: took upstream's version wholesale (Weak
context_lock, upgrade+unblock_context, TimeSpec::to_nanos,
get_futex_stat, addr_space strong_count cleanup); re-applied the RB
FUTEX_WAIT_MULTIPLE/FUTEX_REQUEUE implementations adapted to the
Weak API, with wake-index bookkeeping preserved
(Context::futex_wake_index survives in context.rs).
- src/event.rs: merged EventQueue with both RB's fd-refcount refs and
upstream's timeout_opt (init in new()); kept RB's EventCounter/
eventfd block; added upstream's read_with_timeout +
EVENT_TIMEOUT_ID write handling; deduplicated EAGAIN/EINTR imports.
- src/scheme/proc.rs: upstream imports minus UnmapVec (RB deleted that
machinery from context/memory.rs — import-only dependency);
ContextHandle::Start keeps RB's require_zero_offset + upstream's
wakeup_context; FORCEKILL region takes upstream's
is_dead()/being_sigkilled form.
- src/syscall/fs.rs: took upstream's dup2 structure (natural
self-dup-with-buf handling — preserves the relibc dup2(ft,ft,
"refresh") semantic — plus rollback on insert failure), adapted to
the fork's 4-arg duplicate_file and read/token_split conventions.
- src/arch/aarch64/start.rs: kept upstream's new PageMapper/
acpi::init_before_mem/memory::init_mm init block.
Verified: repo cook kernel --force-rebuild successful;
verify-fork-functions.sh --no-fetch kernel passes.
|
2026-07-19 07:02:19 +09:00 |
|