[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH v2 00/17] Prepare for enabling scheduling on KVM
Hey,thanks a lot for this patch series. I integrated it on a separate branch called "staging-sched" since it breaks KVM and linux builds. I am going to review your other two patch series and see if those targets build again. In this case I am going to put all your patches onto staging. Thanks, Simon On 05.04.2018 14:12, Costin Lupu wrote: The current patch series break the builds for KVM and linuxu platforms and are supposed to be accepted back-to-back with the patch series enabling interrupts for those platforms. Thanks, Costin On 04/04/2018 04:53 PM, Costin Lupu wrote:The current patch series include refactorizations that integrate functionality for both Xen and KVM platforms. We are introducing common CPU related definitions, trap handling and thread switching abstractizations. The scheduling API is revisited for inlining with the platform changes. The current changes are needed in order to efficiently reuse the scheduling functionality on KVM as well. Costin Lupu (17): plat/common: Common x86 CPU definitions plat/common: Common x86 segment descriptors definitions plat/common: x86 hardware context definition plat/common: Common x86 CPU interrupt flag handling plat/common: Common x86 CPU functions plat/common: Common x86 tracing functions plat/common: Common x86 traps definitions and functions plat/common: Add ukplat_lcpu_{enable,disable}_irq functions plat/common: Halting functions plat/common: Common x86 threading code arch/x86_64: Add nop() macro arch/x86_64: Add function for stack pointer retrieval lib/uksched: Updates for inlining with plat/common changes lib/ukschedcoop: Updates for inlining with uksched API changes plat/xen: Remove events enabling from platform code plat/xen: Add IRQ subsystem initialization function lib/ukboot: Updates for inlining with platform and scheduling changes include/uk/arch/thread.h | 53 ----- include/uk/arch/x86_64/lcpu.h | 40 +--- include/uk/plat/irq.h | 54 +++++ include/uk/plat/lcpu.h | 25 ++- include/uk/plat/thread.h | 70 +++++- lib/ukboot/boot.c | 21 +- lib/uksched/include/uk/sched.h | 120 ++++++---- lib/uksched/include/uk/thread.h | 39 ++-- lib/uksched/sched.c | 124 ++++++++--- lib/uksched/thread.c | 76 ++++++- lib/ukschedcoop/schedcoop.c | 45 ++-- plat/common/include/_time.h | 42 ++++ plat/common/include/cpu.h | 46 ++++ plat/common/include/sw_ctx.h | 56 +++++ plat/common/include/trace.h | 48 ++++ plat/common/include/x86/cpu.h | 109 +++++++++ plat/common/include/x86/cpu_defs.h | 76 +++++++ plat/common/include/x86/desc.h | 197 +++++++++++++++++ plat/common/include/x86/irq.h | 87 ++++++++ plat/common/include/x86/regs.h | 94 ++++++++ plat/common/include/x86/traps.h | 115 ++++++++++ plat/common/lcpu.c | 60 +++++ plat/common/sw_ctx.c | 97 ++++++++ plat/common/thread.c | 66 ++++++ plat/common/x86/cpu_native.c | 49 +++++ plat/common/x86/thread_start.S | 65 ++++++ plat/common/x86/trace.c | 92 ++++++++ plat/common/x86/traps.c | 116 ++++++++++ plat/kvm/Makefile.uk | 8 + plat/kvm/include/kvm-x86/cpu_x86_64.h | 5 - plat/kvm/include/kvm-x86/cpu_x86_64_defs.h | 46 +--- plat/kvm/shutdown.c | 2 +- plat/kvm/x86/console.c | 2 +- plat/kvm/x86/cpu_x86_64.c | 11 +- plat/kvm/x86/entry64.S | 2 +- plat/kvm/x86/lcpu.c | 6 - plat/xen/Makefile.uk | 16 +- plat/xen/events.c | 8 + plat/xen/include/common/sched.h | 52 ----- plat/xen/include/xen-x86/arch_sched.h | 55 ----- plat/xen/include/xen-x86/cpu.h | 103 --------- plat/xen/include/xen-x86/irq.h | 55 +---- plat/xen/include/xen-x86/os.h | 46 +--- plat/xen/include/xen-x86/traps.h | 23 +- plat/xen/lcpu.c | 27 +-- plat/xen/sched.c | 106 --------- plat/xen/thread.c | 66 ------ plat/xen/x86/arch_events.c | 2 +- plat/xen/x86/arch_thread.c | 93 -------- plat/xen/x86/arch_time.c | 17 +- plat/xen/x86/cpu_pv.c | 47 ++++ plat/xen/x86/entry64.S | 231 +++++++------------ plat/xen/x86/setup.c | 8 +- plat/xen/x86/traps.c | 342 ++++++----------------------- 54 files changed, 2138 insertions(+), 1323 deletions(-) delete mode 100644 include/uk/arch/thread.h create mode 100644 include/uk/plat/irq.h create mode 100644 plat/common/include/_time.h create mode 100644 plat/common/include/cpu.h create mode 100644 plat/common/include/sw_ctx.h create mode 100644 plat/common/include/trace.h create mode 100644 plat/common/include/x86/cpu.h create mode 100644 plat/common/include/x86/cpu_defs.h create mode 100644 plat/common/include/x86/desc.h create mode 100644 plat/common/include/x86/irq.h create mode 100644 plat/common/include/x86/regs.h create mode 100644 plat/common/include/x86/traps.h create mode 100644 plat/common/lcpu.c create mode 100644 plat/common/sw_ctx.c create mode 100644 plat/common/thread.c create mode 100644 plat/common/x86/cpu_native.c create mode 100644 plat/common/x86/thread_start.S create mode 100644 plat/common/x86/trace.c create mode 100644 plat/common/x86/traps.c delete mode 100644 plat/xen/include/common/sched.h delete mode 100644 plat/xen/include/xen-x86/arch_sched.h delete mode 100644 plat/xen/include/xen-x86/cpu.h delete mode 100644 plat/xen/sched.c delete mode 100644 plat/xen/thread.c delete mode 100644 plat/xen/x86/arch_thread.c create mode 100644 plat/xen/x86/cpu_pv.c _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |