From: Sergiy Kibrik' via OSv Development <[email protected]>
Committer: Nadav Har'El <[email protected]>
Branch: master
aarch64: mmu: dispose of device address ranges
Each ARM SOCs (System On Chip) family have different address space division
into device and regular memory. So hard-coded ranges forbids passing device
IO
range directly to guest VM.
Also shared Xen pages (console and xenstore shared rings) reside in this
hard-coded device range, so can't be mapped without mangling ranges.
Provided all the above, there seem to be not much value in keeping this
check -- particularly after mattr introduction and OS extention for Xen
support.
Signed-off-by: Sergiy Kibrik <[email protected]>
Message-Id: <[email protected]>
---
diff --git a/arch/aarch64/arch-mmu.hh b/arch/aarch64/arch-mmu.hh
--- a/arch/aarch64/arch-mmu.hh
+++ b/arch/aarch64/arch-mmu.hh
@@ -18,9 +18,6 @@
namespace mmu {
constexpr int max_phys_addr_size = 48;
-// device_range_* are used only for debug purpose
-constexpr int device_range_start = 0x3000000;
-constexpr int device_range_stop = 0x40000000;
extern u64 mem_addr; /* set by the dtb_setup constructor */
enum class mattr {
@@ -144,11 +141,6 @@ inline void pt_element_common<N>::set_pfn(u64 pfn,
bool large) {
set_addr(pfn << page_size_shift, large);
}
-static inline bool dbg_mem_is_dev(phys addr)
-{
- return addr >= mmu::device_range_start && addr <
mmu::device_range_stop;
-}
-
template<int N>
pt_element<N> make_pte(phys addr, bool leaf, unsigned perm = perm_rwx,
mattr mem_attr = mattr_default)
@@ -172,11 +164,9 @@ pt_element<N> make_pte(phys addr, bool leaf, unsigned
perm = perm_rwx,
switch (mem_attr) {
default:
case mattr::normal:
- assert(!dbg_mem_is_dev(addr));
pte.set_attridx(4);
break;
case mattr::dev:
- assert(dbg_mem_is_dev(addr));
pte.set_attridx(0);
break;
}
--
You received this message because you are subscribed to the Google Groups "OSv
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.