2 * Copyright (c) 2018 Virtuozzo International GmbH
4 * This work is licensed under the terms of the GNU GPL, version 2 or later.
13 #define ELF2DMP_PAGE_BITS 12
14 #define ELF2DMP_PAGE_SIZE (1ULL << ELF2DMP_PAGE_BITS)
15 #define ELF2DMP_PFN_MASK (~(ELF2DMP_PAGE_SIZE - 1))
17 #define INVALID_PA UINT64_MAX
27 struct pa_block
*block
;
35 int pa_space_create(struct pa_space
*ps
, QEMU_Elf
*qemu_elf
);
36 void pa_space_destroy(struct pa_space
*ps
);
38 void va_space_create(struct va_space
*vs
, struct pa_space
*ps
, uint64_t dtb
);
39 void va_space_set_dtb(struct va_space
*vs
, uint64_t dtb
);
40 void *va_space_resolve(struct va_space
*vs
, uint64_t va
);
41 int va_space_rw(struct va_space
*vs
, uint64_t addr
,
42 void *buf
, size_t size
, int is_write
);
44 #endif /* ADDRSPACE_H */