#include <uk/assert.h>
#include <uk/arch/limits.h>
#include <uk/arch/lcpu.h>
+#include <uk/arch/paging.h>
#if CONFIG_HAVE_MEMTAG
#include <uk/arch/memtag.h>
#endif
#define size_to_num_pages(size) \
- (ALIGN_UP((unsigned long)(size), __PAGE_SIZE) / __PAGE_SIZE)
+ (PAGE_ALIGN_UP((unsigned long)(size)) / __PAGE_SIZE)
#define page_off(x) ((unsigned long)(x) & (__PAGE_SIZE - 1))
struct uk_alloc *_uk_alloc_head;
UK_ASSERT((__uptr) ptr >= __PAGE_SIZE +
METADATA_IFPAGES_SIZE_POW2);
- metadata = ALIGN_DOWN((__uptr) ptr, (__uptr) __PAGE_SIZE);
+ metadata = PAGE_ALIGN_DOWN((__uptr)ptr);
if (metadata == (__uptr) ptr) {
/* special case: the memory was page-aligned.
* In this case the metadata lies at the start of the
#include <arm/arm64/cpu.h>
#include <arm/smccc.h>
#include <uk/arch/limits.h>
+#include <uk/arch/paging.h>
#ifdef CONFIG_ARM64_FEAT_PAUTH
#include <arm/arm64/pauth.h>
_libkvmplat_cfg.bstack.start = _libkvmplat_cfg.bstack.end
- _libkvmplat_cfg.bstack.len;
- _libkvmplat_cfg.heap.start = ALIGN_DOWN((uintptr_t)__END, __PAGE_SIZE);
+ _libkvmplat_cfg.heap.start = PAGE_ALIGN_DOWN((uintptr_t)__END);
_libkvmplat_cfg.heap.end = _libkvmplat_cfg.bstack.start;
_libkvmplat_cfg.heap.len = _libkvmplat_cfg.heap.end
- _libkvmplat_cfg.heap.start;
void _init_mem_set_readonly(void *text, void *etext)
{
unsigned long start_address =
- ((unsigned long) text + PAGE_SIZE - 1) & PAGE_MASK;
+ PAGE_ALIGN((unsigned long)text);
unsigned long end_address = (unsigned long) etext;
pgentry_t *tab = pt_base, page;
unsigned long mfn;