| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 Re: [Minios-devel] [UNIKRAFT PATCHv3 00/25] Follow up patches for Arm64 support series#1
 
To: Wei Chen <wei.chen@xxxxxxx>, <minios-devel@xxxxxxxxxxxxxxxxxxxx>, <simon.kuenzer@xxxxxxxxx>, <florian.schmidt@xxxxxxxxx>, <yuri.volchkov@xxxxxxxxx>, <Felipe.Huici@xxxxxxxxx>From: Sharan Santhanam <sharan.santhanam@xxxxxxxxx>Date: Thu, 17 Jan 2019 13:19:16 +0100Cc: Kaly.Xin@xxxxxxx, nd@xxxxxxx, Jianyong.Wu@xxxxxxx, Justin.He@xxxxxxxDelivery-date: Thu, 17 Jan 2019 12:21:44 +0000List-id: Mini-os development list <minios-devel.lists.xenproject.org> 
 
Hello Wei Chen,
Thank you for this patch series. The following patches needs some rework.
* 01 (typo to be fixed)
* 04
* 05
* 07
* 09
* 10
* 15
* 19
The following patches are under discussion
* 20 (under discussion)
* 23 (under discussion)
* 24 (under discussion)
Thanks & Regards
Sharan
On 12/13/18 10:15 AM, Wei Chen wrote:
 
As I promised in Arm64 support series, I will send follow up patches
to address some comments.
This series address following comments:
01: Remove the check of '--enable-default-pie' in Makefile.uk,
02: Use macro-ed helper to simplify ioreg_read/write,
03: Use the same declaration for _text and _end,
04: Address comments for D-Cache operation function,
05: Get virtual address bits from id_aa64mmfr0_el1.PARange,
06: Ensure stack alignment for exceptions from EL1,
07: Invalidate D-Cache for modified area only,
08: Disable D-Cache before doing any change,
09: Calculate L3 table and page table size by image size,
10: Remove a -Wstringop-overflow warning for strncpy,
11: Remove useless blank line,
12: Do obfuscates arithmetic for kernel image symbols.
Some comments that haven't been addressed:
01: Check the MIDR and avoid the erratum on affected platform
     via an alternative or jump table. -- This erreta framework
     is not only for Arm but also for x86. I think we'd better
     to discuss in community.
02: Enable FIFO support for PL011. My team mate Justin will
     handle it.
If I forgot anything please remind me.
---
v2 -> v3: Rebase to the latest upstream base.
v1 -> v2:
1. Add URL link for "Use macro-ed helper to simplify ioreg_read/write",
2. Invalidate & clean Cache for memory that would be used,
3. Improve code and commit comments for calculate pagebable size,
4. Use macros to replace hardcode values,
5. Use lsr/lsl to simplify 2MB round up,
6. Do obfuscates arithmetic for kernel image symbols,
7. Clean up kernel image symbols for C files.
Wei Chen (25):
   build: Remove the check of '--enable-default-pie' in Makefile.uk
   plat/include: Use macro-ed helper to simplify ioreg_read/write for
     Arm64
   plat/common: Move global variables defined in link scripts to a header
   plat/common: Do obfuscates arithmetic for kernel image symbols
   plat: Clean up kernel image symbols
   plat/common: Remove earlycloberr from SYSREG_READ32 for Arm64
   plat/common: Clean and invalidate D-Cache only when boot for Arm64
   plat/common: Use correct dsb operation flag for Arm64
   plat/common: Add referred source code URL for cache operation
   plat/kvm: Correct invalid indent character for Arm64
   plat/kvm: Get VIRT_BITS from id_aa64mmfr0_el1.PARange for Arm64
   arch/include: Add a _regs member to save origial stack pointer
   plat/kvm: Add __TRAP_STACK_SIZE for stack pointer while exiting trap
   plat/kvm: Remove redundant space while entering trap for Arm
   plat/kvm: Force align the stack pointer for Arm64 EL1 exceptions
   plat/kvm: Rename pagetable.S to pagetable64.S for Arm64
   plat/kvm: Invalidate D-Cache that may have been modified for Arm64
   plat/kvm: arm64: Clear pagetable memory with boot stack
   plat/kvm: arm64: Calculate pagetable size dynamically by image size
   plat/kvm: arm64: Build L3 page table for range greater than 2MB
   plat/kvm: arm64: Support build L3 table for large image size
   plat/kvm: arm64: Remove needless semicolons in assembly
   plat/kvm: arm64: Ensure there is no stall data in cache when boot
   nolibc: Clear a -Wstringop-overflow warning for strncpy
   plat/kvm: arm64: Remove superfluous blank line
  Makefile.uk                                 |   8 +-
  arch/arm/arm64/include/uk/asm/lcpu.h        |  16 ++-
  lib/nolibc/string.c                         |   2 +-
  plat/common/arm/cache64.S                   |  31 ++---
  plat/common/include/arm/arm64/cpu.h         |  58 ++++-----
  plat/common/include/arm/arm64/cpu_defs.h    |  16 ++-
  plat/common/include/sections.h              | 128 ++++++++++++++++++++
  plat/kvm/Makefile.uk                        |   2 +-
  plat/kvm/arm/entry64.S                      |  77 +++++++++---
  plat/kvm/arm/exceptions.S                   |  69 +++++++++--
  plat/kvm/arm/{pagetable.S => pagetable64.S} | 115 +++++++++++-------
  plat/kvm/arm/setup.c                        |  12 +-
  plat/kvm/include/kvm-arm/arm64/mm.h         |  14 ++-
  plat/kvm/memory.c                           |  23 ++--
  plat/kvm/x86/setup.c                        |   6 +-
  plat/xen/arm/setup.c                        |   6 +-
  plat/xen/include/xen-arm/mm.h               |   3 +-
  plat/xen/include/xen-x86/mm.h               |  21 ++--
  plat/xen/memory.c                           |  22 ++--
  plat/xen/x86/mm.c                           |  17 ++-
  plat/xen/x86/setup.c                        |   2 +-
  21 files changed, 435 insertions(+), 213 deletions(-)
  create mode 100644 plat/common/include/sections.h
  rename plat/kvm/arm/{pagetable.S => pagetable64.S} (84%)
 
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel 
 |