16#include <linux/kernel.h>
40#define VMA_NORESERVE_BIT 0
42static inline vma_flags_t mk_vma_flags(
unsigned int bit)
50#define min(a, b) (((a) < (b)) ? (a) : (b))
53#define min_t(type, a, b) ((type)(a) < (type)(b) ? (type)(a) : (type)(b))
56#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
59#define fallthrough __attribute__((fallthrough))
73#define ERESTARTSYS 512
81#define need_resched() 0
84#define cond_resched() ((void)0)
87#define signal_pending(p) 0
90#define current ((void*)0)
117 unsigned int count,
const char*
name,
120 unsigned int count,
const char*
name);
122static inline int register_chrdev(
unsigned int major,
const char*
name,
127static inline void unregister_chrdev(
unsigned int major,
const char*
name) {
132static inline void* iomem_get_mapping(
void) {
return (
void*)0; }
135#define FMODE_NOWAIT 0x00080000
136#define FOP_UNSIGNED_OFFSET 0x0001
206#define VM_PFNMAP 0x00000400
213#define VM_MIXEDMAP 0x00000100
214#define VM_IO 0x00004000
215#define VM_DONTEXPAND 0x00080000
216#define VM_DONTDUMP 0x02000000
237static inline unsigned long vma_pages(
const struct vm_area_struct *vma)
251#define PAGE_ALIGNED(addr) (((uintptr_t)(addr) & (PAGE_SIZE - 1)) == 0)
267static inline bool is_vmalloc_addr(
const void* addr)
273static inline struct page* vmalloc_to_page(
const void* addr)
291static inline pgprot_t vm_get_page_prot(
unsigned long vm_flags)
342 unsigned long addr,
unsigned long pfn,
365#define VMA_SHARED_BIT 3
367static inline size_t vma_desc_size(
const struct vm_area_desc* desc) {
368 return (
size_t)desc->
len;
370static inline int vma_desc_test(
const struct vm_area_desc* desc,
int bit) {
375static inline void vma_desc_set_anonymous(
struct vm_area_desc* desc) {
378static inline void mmap_action_remap_full(
struct vm_area_desc* desc,
unsigned long pgoff) {
389 unsigned long len,
unsigned long pgoff,
390 unsigned long flags);
#define PAGE_SHIFT
Definition vmmngr.h:80
uint8_t flags
Definition virtio.h:0
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
#define NULL
Definition actypes.h:561
size_t size
Definition drm_bridge.h:1299
struct drm_crtc struct drm_plane struct drm_plane const struct drm_crtc_funcs const char * name
Definition drm_crtc.h:1242
size_t len
Definition initial.c:23
uintptr_t phys_addr_t
Definition kernel.h:40
#define ENOSYS
Definition kernel.h:310
int __register_chrdev(unsigned int major, unsigned int baseminor, unsigned int count, const char *name, const void *fops)
t t typedef unsigned long vma_flags_t
Definition mm.h:38
vma_flags_t vm_flags_t
Definition mm.h:180
int valid_mmap_phys_addr_range(unsigned long pfn, size_t size)
int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn, unsigned long size, pgprot_t *vma_prot)
uint64_t pgprot_t
Definition mm.h:143
int range_is_allowed(unsigned long pgoff, unsigned long size)
const struct file_operations kmsg_fops
unsigned long mm_get_unmapped_area(struct file *file, unsigned long addr, unsigned long len, unsigned long pgoff, unsigned long flags)
void __unregister_chrdev(unsigned int major, unsigned int baseminor, unsigned int count, const char *name)
int valid_phys_addr_range(phys_addr_t addr, size_t count)
pgprot_t page_prot
Definition mm.h:358
int error_override
Definition mm.h:361
unsigned long len
Definition mm.h:357
unsigned long vm_flags
Definition mm.h:355
struct vm_area_desc::@81 action
struct file * file
Definition mm.h:354
const struct vm_operations_struct * vm_ops
Definition mm.h:359
unsigned long pgoff
Definition mm.h:356
vm_flags_t vm_flags
Definition mm.h:185
unsigned long vm_start
Definition mm.h:183
const struct vm_operations_struct * vm_ops
Definition mm.h:190
struct file * vm_file
Definition mm.h:189
unsigned long vm_end
Definition mm.h:184
pgprot_t vm_page_prot
Definition mm.h:186
unsigned long vm_pgoff
Definition mm.h:187
void * vm_private_data
Definition mm.h:188
void * open
Definition mm.h:155
void * close
Definition mm.h:147
void * access
Definition mm.h:146