Hi Julien,
On Tue, May 31, 2016 at 12:07:58PM +0100, Julien Grall wrote:
>Hi Peng,
>
>On 27/05/16 11:23, Peng Fan wrote:
>>To ARM64, we should use '(VMAP_VIRT_START + GB(1))' as VMAP_VIRT_END,
>
>s/To/For/
Fix in V2.
>
>>but not '(VMAP_VIRT_START + GB(1) - 1)'.
>>
>>Seeing 'vm_end[type] = PFN_DOWN(end - start);' in vm_init_type,
>>if not correct VMAP_VIRT_END, one page is wasted.
>
>I find difficult to parse the commit message. How about:
Sorry (:
>
>"xen/arm64: config: Correctly define VMAP_VIRT_END
>
>The vmap initialization code (vm_init_type) will round down the end of the
>region to a page-aligned address.
>
>On ARM64, the default vmap region is located between 1G and 2G. Based on the
>initialization code, the end address is excluded of the region.
>
>Therefore the current definition of VMAP_VIRT_END will lead the vmap code to
>not use the last 4K of the region.
>
>Fix it by defining VMAP_VIRT_END as "VMAP_VIRT_START + GB(1)".
>"
Thanks for your good description.
Thanks,
Peng.
>
>>
>>Signed-off-by: Peng Fan
>>Cc: Julien Grall
>>Cc: Stefano Stabellini
>>---
>>
>>I found X86 use '(VMAP_VIRT_START + GB(64))' and ARM32 use XENHEAP_VIRT_START,
>>both are aligned address. So, I think ARM64 may also need to use aligned
>>address. I am not very sure (:
>
>Correct, this should be aligned to avoid wasting a page.
>
>>
>> xen/include/asm-arm/config.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>>diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h
>>index 2d11b62..f92c0a0 100644
>>--- a/xen/include/asm-arm/config.h
>>+++ b/xen/include/asm-arm/config.h
>>@@ -147,7 +147,7 @@
>> #define SLOT0_ENTRY_SIZE SLOT0(1)
>>
>> #define VMAP_VIRT_START GB(1)
>>-#define VMAP_VIRT_END(VMAP_VIRT_START + GB(1) - 1)
>>+#define VMAP_VIRT_END(VMAP_VIRT_START + GB(1))
>>
>> #define FRAMETABLE_VIRT_START GB(32)
>> #define FRAMETABLE_SIZEGB(32)
>>
>
>Regards,
>
>--
>Julien Grall
___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel