123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #pragma once
- #include <common/glib.h>
- struct mm_struct;
- typedef struct
- {
- unsigned long pml4t;
- } pml4t_t;
- typedef struct
- {
- unsigned long pdpt;
- } pdpt_t;
- typedef struct
- {
- unsigned long pdt;
- } pdt_t;
- typedef struct
- {
- unsigned long pt;
- } pt_t;
- struct vm_area_struct
- {
- struct List list;
-
- uint64_t vm_start;
- uint64_t vm_end;
- struct mm_struct *vm_mm;
- uint64_t vm_flags;
- struct vm_operations_t *vm_ops;
- uint64_t ref_count;
- void *private_data;
- };
- struct mm_struct
- {
- pml4t_t *pgd;
- struct vm_area_struct *vmas;
-
- uint64_t code_addr_start, code_addr_end;
-
- uint64_t data_addr_start, data_addr_end;
-
- uint64_t rodata_addr_start, rodata_addr_end;
-
- uint64_t bss_start, bss_end;
-
- uint64_t brk_start, brk_end;
-
- uint64_t stack_start;
- };
|