[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [PATCH v3 32/43] arm64: add the virtual address layout description



Hi,

On 16/04/18 07:32, Huang Shijie wrote:
This patch describes the virtual address layout for 48bit arm64:
   memory area (0xffff000000000000 ~ VIRT_KERNEL_AREA)   : used for linear 
physical memory mapping
   kernel area (VIRT_KERNEL_AREA   ~ VIRT_DEMAND_AREA)   : used for 
map_frame_virt
   demand area (VIRT_DEMAND_AREA   ~ VIRT_HEAP_AREA)     : used for ioremap
   heap area   (VIRT_HEAP_AREA     ~ 0xffffffffffffffff) : used for heap

It would be better if the documentation is added where the macro where first defined. This would improve the understanding of the values.

Cheers,


Signed-off-by: Huang Shijie <shijie.huang@xxxxxxx>
---
  include/arm/arch_mm.h | 19 +++++++++++++++++++
  1 file changed, 19 insertions(+)

diff --git a/include/arm/arch_mm.h b/include/arm/arch_mm.h
index 09a19c0..150259a 100644
--- a/include/arm/arch_mm.h
+++ b/include/arm/arch_mm.h
@@ -9,6 +9,25 @@ typedef uint64_t paddr_t;
  #define VIRT_DEMAND_AREA        (VIRT_KERNEL_AREA + MAX_MEM_SIZE)
  #define VIRT_HEAP_AREA          (VIRT_DEMAND_AREA + MAX_MEM_SIZE)
+/*
+ * The virtual address layout for arm64(48bit):
+ *
+ *      
--------------------------------------------------------------------------
+ *     |                                                                       
   |
+ *      
--------------------------------------------------------------------------
+ *     ^                   ^                   ^                 ^             
   ^
+ *     |<-- memory area -->|<-- kernel area -->|<- demand area ->|<- heap area 
-> |
+ *     ^
+ *     ^
+ *     |
+ * (0xffff000000000000, when TCR.T0SZ == 16)
+ *
+ * memory area (0xffff000000000000 ~ VIRT_KERNEL_AREA)   : used for linear 
physical memory mapping
+ * kernel area (VIRT_KERNEL_AREA   ~ VIRT_DEMAND_AREA)   : used for 
map_frame_virt
+ * demand area (VIRT_DEMAND_AREA   ~ VIRT_HEAP_AREA)     : used for ioremap
+ * heap area   (VIRT_HEAP_AREA     ~ 0xffffffffffffffff) : used for heap
+ */
+
  typedef uint64_t lpae_t;
extern char _text, _etext, _erodata, _edata, _end, __bss_start;


--
Julien Grall

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.