build: add a "user" arch to allow the kernel to run as a program on the host machine

This commit is contained in:
2023-02-25 17:58:23 +00:00
parent 8c87e78797
commit eed73e2414
21 changed files with 286 additions and 26 deletions

View File

@@ -0,0 +1,26 @@
#ifndef SOCKS_USER_VM_H_
#define SOCKS_USER_VM_H_
#include <stdint.h>
extern uintptr_t __pagemap_base(void);
extern uintptr_t __pagemap_limit(void);
/* kernel higher-half base virtual address. */
#define VM_KERNEL_VOFFSET (__pagemap_base())
/* direct page-mapping region.
NOTE that these are the maximum bounds of this region.
the actual size depends on the amount of physical
memory present. */
#define VM_PAGEMAP_BASE (__pagemap_base())
#define VM_PAGEMAP_LIMIT (__pagemap_limit())
#define VM_PAGE_SIZE 0x1000
#define VM_PAGE_MASK (VM_PAGE_SIZE-1)
#define VM_PAGE_SHIFT 12
#define VM_PAGE_MIN_ORDER VM_PAGE_4K
#define VM_PAGE_MAX_ORDER VM_PAGE_8M
#endif