memtest86plus/system/vmem.h
Martin Whitaker 9785d8f8b9 Map USB controller registers into the reserved area of virtual memory.
This ensures they are accessible when the test is running, and if they
are physically mapped above 4GB.
2021-12-23 17:45:26 +00:00

30 lines
580 B
C

// SPDX-License-Identifier: GPL-2.0
#ifndef VMEM_H
#define VMEM_H
/*
* Provides functions to handle physical memory page mapping into virtual
* memory.
*
* Copyright (C) 2020-2021 Martin Whitaker.
*/
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include "memsize.h"
#define VM_WINDOW_SIZE PAGE_C(1,GB)
uintptr_t map_device(uintptr_t base_addr, size_t size);
bool map_window(uintptr_t start_page);
void *first_word_mapping(uintptr_t page);
void *last_word_mapping(uintptr_t page, size_t word_size);
uintptr_t page_of(void *addr);
#endif // VMEM_H