scheduler: continue rework

This commit is contained in:
Matheus
2025-08-20 22:00:25 -03:00
parent 5098c09f26
commit 136c86354c
26 changed files with 348 additions and 154 deletions
+10 -1
View File
@@ -24,7 +24,8 @@ typedef struct cpu_t {
vmmcontext_t *vmmctx; // expected to be here by other code
long id; // expected to be here by other code
long hardware_id; // expected to be here by other code
long internal_id;
timekeeper_source_t *timekeeper_source;
timekeeper_source_info_t *timekeeper_source_info;
@@ -49,6 +50,14 @@ typedef struct cpu_t {
dpc_t reschedule_dpc;
isr_t *reschedule_isr;
sched_run_queue_t rt_queue;
sched_calendar_queue_t ts_queue;
sched_run_queue_t idle_queue;
spinlock_t sched_lock;
long calendar_ticks;
timerentry_t calendar_tick_timer_entry;
// architecture specific, does not need to be exposed
uint64_t gdt[7];
+3 -2
View File
@@ -11,8 +11,9 @@
extern size_t arch_smp_cpusawake;
extern cpu_t **smp_cpus;
void arch_smp_wakeup();
void arch_smp_wakeup(void);
void arch_smp_sendipi(cpu_t *targcpu, isr_t *isr, int target, bool nmi);
void arch_smp_haltallothers();
void arch_smp_haltallothers(void);
size_t arch_smp_get_cpu_count(void);
#endif