From: kosmirror <kos...@us...> - 2025-05-16 04:31:17
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "A pseudo Operating System for the Dreamcast.". The branch, master has been updated via b330b2ff5affef7ff4b632947ecbf0c623dc7b1d (commit) via 81e507fdbd5f31b5feb5b30c29c604027d736f6c (commit) from 51a8350bf00e3172b9a713487fe6763d0200a81b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b330b2ff5affef7ff4b632947ecbf0c623dc7b1d Author: DC-SWAT <sw...@21...> Date: Fri May 16 08:55:48 2025 +0700 init: Fix fs_pty shutdown order to prevent bugs during filesystem shutdown. commit 81e507fdbd5f31b5feb5b30c29c604027d736f6c Author: DC-SWAT <sw...@21...> Date: Thu May 15 11:17:58 2025 +0700 exec: Fixed pointer to values ââin arch_exec_at() ----------------------------------------------------------------------- Summary of changes: kernel/arch/dreamcast/kernel/exec.c | 2 +- kernel/arch/dreamcast/kernel/init.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/kernel/arch/dreamcast/kernel/exec.c b/kernel/arch/dreamcast/kernel/exec.c index 15fb9155..a788b686 100644 --- a/kernel/arch/dreamcast/kernel/exec.c +++ b/kernel/arch/dreamcast/kernel/exec.c @@ -33,7 +33,7 @@ void arch_exec_at(const void *image, uint32_t length, uint32_t address) { tvals = (uintptr_t)_arch_exec_template_values; size_t tcount = (tend - tstart) / 4; uint32_t buffer[tcount]; - uint32_t *values = buffer + (_arch_exec_template_values - _arch_exec_template); + uint32_t *values = &buffer[(tvals - tstart) / 4]; size_t i; assert((tend - tstart) % 4 == 0); diff --git a/kernel/arch/dreamcast/kernel/init.c b/kernel/arch/dreamcast/kernel/init.c index 00313378..c9f6ccfc 100644 --- a/kernel/arch/dreamcast/kernel/init.c +++ b/kernel/arch/dreamcast/kernel/init.c @@ -260,13 +260,16 @@ void __weak arch_auto_shutdown(void) { KOS_INIT_FLAG_CALL(fs_ramdisk_shutdown); KOS_INIT_FLAG_CALL(fs_romdisk_shutdown); - KOS_INIT_FLAG_CALL(fs_pty_shutdown); KOS_INIT_FLAG_CALL(fs_null_shutdown); KOS_INIT_FLAG_CALL(fs_dev_shutdown); + /* As a workaround, shut down the base FS before fs_pty + to avoid triggering bugs. */ if(__kos_init_flags & INIT_FS_ALL) fs_shutdown(); + KOS_INIT_FLAG_CALL(fs_pty_shutdown); + thd_shutdown(); rtc_shutdown(); } hooks/post-receive -- A pseudo Operating System for the Dreamcast. |