[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Minios-devel] [PATCH v3 28/43] arm64: init the memory system
- To: Huang Shijie <shijie.huang@xxxxxxx>, wei.liu2@xxxxxxxxxx
- From: Julien Grall <julien.grall@xxxxxxx>
- Date: Thu, 26 Apr 2018 14:19:52 +0100
- Cc: jgross@xxxxxxxx, wei.chen@xxxxxxx, steve.capper@xxxxxxx, vlad.babchuk@xxxxxxxxx, minios-devel@xxxxxxxxxxxxxxxxxxxx, kaly.xin@xxxxxxx, samuel.thibault@xxxxxxxxxxxx, baozich@xxxxxxxxx, nd@xxxxxxx
- Delivery-date: Thu, 26 Apr 2018 13:19:59 +0000
- List-id: Mini-os development list <minios-devel.lists.xenproject.org>
On 16/04/18 07:32, Huang Shijie wrote:
+void arch_mm_preinit(void *dtb_pointer)
+{
+ paddr_t **dtb_p = dtb_pointer;
+ paddr_t *dtb = *dtb_p;
+ uintptr_t end = (uintptr_t) &_end;
+
+ dtb = to_virt(((paddr_t)dtb));
+ first_free_pfn = PFN_UP(to_phys(end));
+ min_mem_pfn = PFN_UP(to_phys(_text) + MIN_MEM_SIZE);
+
+ /*
+ * Setup the mapping for Device Tree, only map 2M(L2_SIZE) size.
+ *
+ * Note: The early_alloc_page() will increase @first_free_pfn.
+ */
+ build_pagetable((unsigned long)dtb, virt_to_pfn((unsigned long)dtb),
+ PHYS_PFN(L2_SIZE), MEM_DEF_ATTR, early_alloc_page, 2);
I forgot to comment on this. You can't assume the DTB will be 2MB
aligned and the interface of build_pagetable is somewhat quite confusing
to use. So are you going to map 2 2MB section? Or only one?
Cheers,
--
Julien Grall
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|