* ARM: Major VM work

- This is mostly a copy of the x86 32bit paging method and infrastructure, this was copied for two reasons:
		1) It is the most complete VM arch
		2) The first ARM PAE patches have landed on alkml, so we will have to deal with it in the future as well,
		   and this infrastructure has proven to be ready ;)
	- No protection features, or dirty/accessed tracking yet
	- Lots of #if 0

	but....

	It boots all the way up to init_modules() now, and then dies because of a lack of (ARM) ELF relocation implementation!

	Since at this point the VM can be fully initialised, I'm going to focus on CPU exceptions next, so we can get KDL to trigger
	when it happens, and I can actually debug from there ;)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39206 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ithamar R. Adema
2010-10-30 14:10:30 +00:00
parent 107ce9b0fb
commit c917cd6261
20 changed files with 3197 additions and 106 deletions
@@ -5,20 +5,4 @@
#ifndef _KERNEL_ARCH_ARM_VM_TRANSLATION_MAP_H
#define _KERNEL_ARCH_ARM_VM_TRANSLATION_MAP_H
#include <arch/vm_translation_map.h>
#ifdef __cplusplus
extern "C" {
#endif
status_t arm_map_address_range(addr_t virtualAddress, addr_t physicalAddress,
size_t size);
void arm_unmap_address_range(addr_t virtualAddress, size_t size);
status_t arm_remap_address_range(addr_t *virtualAddress, size_t size,
bool unmap);
#ifdef __cplusplus
}
#endif
#endif /* _KERNEL_ARCH_ARM_VM_TRANSLATION_MAP_H */