/trunk/kernel/generic/include/ddi/ddi.h |
---|
39,8 → 39,19 |
#include <arch/types.h> |
#include <typedefs.h> |
unative_t sys_physmem_map(unative_t phys_base, unative_t virt_base, unative_t pages, |
unative_t flags); |
/** Structure representing contiguous physical memory area. */ |
typedef struct { |
uintptr_t pbase; /**< Physical base of the area. */ |
uintptr_t vbase; /**< Virtual base of the area. */ |
count_t frames; /**< Number of frames in the area. */ |
bool cacheable; /**< Cacheability. */ |
} parea_t; |
extern void ddi_init(void); |
extern void ddi_parea_register(parea_t *parea); |
extern unative_t sys_physmem_map(unative_t phys_base, unative_t virt_base, |
unative_t pages, unative_t flags); |
extern unative_t sys_iospace_enable(ddi_ioarg_t *uspace_io_arg); |
extern unative_t sys_preempt_control(int enable); |
/trunk/kernel/generic/include/mm/page.h |
---|
82,7 → 82,8 |
/** Operations to manipulate page mappings. */ |
struct page_mapping_operations { |
void (* mapping_insert)(as_t *as, uintptr_t page, uintptr_t frame, int flags); |
void (* mapping_insert)(as_t *as, uintptr_t page, uintptr_t frame, int |
flags); |
void (* mapping_remove)(as_t *as, uintptr_t page); |
pte_t *(* mapping_find)(as_t *as, uintptr_t page); |
}; |
93,7 → 94,8 |
extern void page_init(void); |
extern void page_table_lock(as_t *as, bool lock); |
extern void page_table_unlock(as_t *as, bool unlock); |
extern void page_mapping_insert(as_t *as, uintptr_t page, uintptr_t frame, int flags); |
extern void page_mapping_insert(as_t *as, uintptr_t page, uintptr_t frame, int |
flags); |
extern void page_mapping_remove(as_t *as, uintptr_t page); |
extern pte_t *page_mapping_find(as_t *as, uintptr_t page); |
extern pte_t *page_table_create(int flags); |
/trunk/kernel/generic/include/mm/as.h |
---|
94,11 → 94,6 |
/** Address space identifier. Constant on architectures that do not support ASIDs.*/ |
asid_t asid; |
#ifdef CONFIG_VIRT_IDX_DCACHE |
bool dcache_flush_on_install; |
bool dcache_flush_on_deinstall; |
#endif /* CONFIG_VIRT_IDX_DCACHE */ |
/** Architecture specific content. */ |
as_arch_t arch; |
}; |
165,12 → 160,6 |
/** Data to be used by the backend. */ |
mem_backend_data_t backend_data; |
/** |
* Virtual color of the original address space area that was at the beginning |
* of the share chain. |
*/ |
int orig_color; |
}; |
extern as_t *AS_KERNEL; |