From: Sergiy Kibrik' via OSv Development <osv-dev@googlegroups.com>
Committer: Nadav Har'El <n...@scylladb.com>
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 <sergiy.kib...@globallogic.com>
Message-Id: <1488534351-8263-7-git-send-email-sergiy.kib...@globallogic.com>

---
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 osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to