Spinlock save cpu flags

This commit is contained in:
2026-03-12 22:48:34 +01:00
parent 19793e9126
commit 4760818118
50 changed files with 704 additions and 461 deletions

View File

@@ -13,17 +13,25 @@
#define MM_PG_USER (1 << 2)
uintptr_t mm_alloc_user_pd_phys (void);
void mm_kernel_lock (void);
void mm_kernel_unlock (void);
void mm_map_page (struct pd* pd, uintptr_t paddr, uintptr_t vaddr, uint32_t flags);
void mm_map_kernel_page (uintptr_t paddr, uintptr_t vaddr, uint32_t flags);
void mm_unmap_page (struct pd* pd, uintptr_t vaddr);
void mm_unmap_kernel_page (uintptr_t vaddr);
bool mm_validate (struct pd* pd, uintptr_t vaddr);
bool mm_validate_buffer (struct pd* pd, uintptr_t vaddr, size_t size);
uintptr_t mm_p2v (struct pd* pd, uintptr_t paddr);
uintptr_t mm_v2p (struct pd* pd, uintptr_t vaddr);
struct pd* mm_get_kernel_pd (void);
void mm_init (void);
#endif // _KERNEL_SYS_MM_H

View File

@@ -4,6 +4,6 @@
#include <libk/std.h>
#include <proc/proc.h>
void do_sched (struct proc* proc, spin_lock_t* cpu_lock);
void do_sched (struct proc* proc, spin_lock_t* cpu_lock, uint64_t lockflags);
#endif // _KERNEL_SYS_SCHED_H

View File

@@ -5,4 +5,8 @@
void spin_lock_relax (void);
void spin_lock_save_flags (uint64_t* flags);
void spin_lock_restore_flags (uint64_t flags);
#endif // _KERNEL_SYS_SPIN_LOCK_H