|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCHv4 00/23] Follow up patches for Arm64 support series#1/5
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,
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.
03: Compare the pointers of different type is behaviour undefined
04: Do obfuscates arithmetic for kernel image symbols.
If I forgot anything please remind me.
You can get the 1st series by:
git clone https://github.com/hejianet/Unikraft_arm64.git -b \
wei_1st_series_v4
---
Changlog
v3 -> v4:
1. Drop 04 and 24 patches in v3. patch 04 is gcc compiler
optimization related, not a blocking issue. The resolution is
under discussion. Patch 24 is not concerned.
2. Restore x18,x19 after using them in patch v4 14/23.
3. Fix IMAGE_ROUNDUP_SHIFT from 20 to 21 in patch v4 18/23.
4. lots of checkpatch warning.
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.
Jia He (23):
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: 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
plat/kvm: arm64: Remove superfluous blank line
Makefile.uk | 8 +-
arch/arm/arm64/include/uk/asm/lcpu.h | 16 ++-
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 | 96 ++++++++++++++++
plat/kvm/Makefile.uk | 2 +-
plat/kvm/arm/entry64.S | 77 +++++++++----
plat/kvm/arm/exceptions.S | 73 ++++++++++---
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 +-
20 files changed, 405 insertions(+), 213 deletions(-)
create mode 100644 plat/common/include/sections.h
rename plat/kvm/arm/{pagetable.S => pagetable64.S} (84%)
--
2.17.1
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |