Skip to content

Commit

Permalink
platform: rename several platform APIs
Browse files Browse the repository at this point in the history
  • Loading branch information
moodyhunter committed Jan 21, 2024
1 parent 95ca281 commit 212b119
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions arch/x86_64/x86_platform_api.c
Original file line number Diff line number Diff line change
Expand Up @@ -248,13 +248,13 @@ void platform_dump_regs(platform_regs_t *frame)
);
}

void platform_syscall_restart(platform_regs_t *regs, reg_t syscall_nr)
void platform_syscall_setup_restart_context(platform_regs_t *regs, reg_t syscall_nr)
{
regs->ax = syscall_nr;
regs->ip -= 2; // replay the 'syscall' or 'int 0x88' instruction
}

void platform_syscall_result(platform_regs_t *regs, reg_t result)
void platform_syscall_store_retval(platform_regs_t *regs, reg_t result)
{
regs->ax = result;
}
4 changes: 2 additions & 2 deletions kernel/include/private/mos/platform/platform.h
Original file line number Diff line number Diff line change
Expand Up @@ -261,5 +261,5 @@ void platform_ipi_send(u8 target_cpu, ipi_type_t type);
typedef struct _sigreturn_data sigreturn_data_t;
noreturn void platform_jump_to_signal_handler(const platform_regs_t *regs, const sigreturn_data_t *sigreturn_data, const sigaction_t *sa);
noreturn void platform_restore_from_signal_handler(void *sp);
void platform_syscall_restart(platform_regs_t *regs, reg_t syscall_nr);
void platform_syscall_result(platform_regs_t *regs, reg_t result);
void platform_syscall_setup_restart_context(platform_regs_t *regs, reg_t syscall_nr);
void platform_syscall_store_retval(platform_regs_t *regs, reg_t result);
4 changes: 2 additions & 2 deletions kernel/tasks/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -243,13 +243,13 @@ void signal_exit_to_user_prepare_syscall(platform_regs_t *regs, reg_t syscall_nr
if (action.sa_flags & SA_RESTART)
{
pr_dinfo2(signal, "thread %pt will restart syscall %lu after signal %d", (void *) current_thread, syscall_nr, next_signal);
platform_syscall_restart(regs, syscall_nr);
platform_syscall_setup_restart_context(regs, syscall_nr);
goto really_prepare;
}
// else: fall through, return -EINTR
}

platform_syscall_result(regs, real_ret);
platform_syscall_store_retval(regs, real_ret);

if (!next_signal)
return; // no pending signal, leave asap
Expand Down

0 comments on commit 212b119

Please sign in to comment.