Implement proc_spawn_thread syscall, fix proc_resume and proc_suspend
All checks were successful
Build documentation / build-and-deploy (push) Successful in 35s
All checks were successful
Build documentation / build-and-deploy (push) Successful in 35s
This commit is contained in:
@@ -11,12 +11,10 @@
|
||||
#include <sys/mm.h>
|
||||
#include <sys/smp.h>
|
||||
|
||||
/* Present flag */
|
||||
#define AMD64_PG_PRESENT (1 << 0)
|
||||
/* Writable flag */
|
||||
#define AMD64_PG_RW (1 << 1)
|
||||
/* User-accessible flag */
|
||||
#define AMD64_PG_USER (1 << 2)
|
||||
#define AMD64_PG_RW (1 << 1)
|
||||
#define AMD64_PG_USER (1 << 2)
|
||||
#define AMD64_PG_HUGE (1 << 7)
|
||||
|
||||
/* Auxilary struct for page directory walking */
|
||||
struct pg_index {
|
||||
@@ -64,9 +62,12 @@ static uint64_t* amd64_mm_next_table (uint64_t* table, uint64_t entry_idx, bool
|
||||
|
||||
struct limine_hhdm_response* hhdm = limine_hhdm_request.response;
|
||||
|
||||
if (entry & AMD64_PG_PRESENT)
|
||||
if (entry & AMD64_PG_PRESENT) {
|
||||
if (entry & AMD64_PG_HUGE)
|
||||
return NULL;
|
||||
|
||||
paddr = entry & ~0xFFFULL;
|
||||
else {
|
||||
} else {
|
||||
if (!alloc)
|
||||
return NULL;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user