port apic and hpet to mmio API, apic_msis
This commit is contained in:
@@ -5,3 +5,4 @@
|
||||
bool arch_irq_set_state(bool state);
|
||||
bool arch_irq_get_state();
|
||||
void arch_irq_wait();
|
||||
errno_t arch_irq_alloc_msi(struct msi_line** out);
|
||||
|
||||
@@ -3,8 +3,11 @@
|
||||
#include <zinnia/errno.h>
|
||||
#include <zinnia/sched.h>
|
||||
|
||||
struct percpu;
|
||||
|
||||
void arch_sched_preempt_disable();
|
||||
bool arch_sched_preempt_enable();
|
||||
void arch_sched_kick(struct percpu* cpu);
|
||||
struct task* arch_sched_switch(struct task* from, struct task* to);
|
||||
errno_t arch_task_init(
|
||||
struct arch_task_context* context,
|
||||
@@ -14,6 +17,8 @@ errno_t arch_task_init(
|
||||
bool is_user
|
||||
);
|
||||
void arch_task_fini(struct arch_task_context* context);
|
||||
void arch_task_fork(struct arch_task_context* dst);
|
||||
void arch_context_init_user(struct arch_context* ctx, uintptr_t ip, uintptr_t sp);
|
||||
[[noreturn]]
|
||||
void arch_sched_jump_to_context(struct arch_context* context);
|
||||
[[noreturn]]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <zinnia/compiler.h>
|
||||
#include <zinnia/errno.h>
|
||||
#include <zinnia/list.h>
|
||||
#include <zinnia/types.h>
|
||||
#include <stddef.h>
|
||||
|
||||
Reference in New Issue
Block a user