From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Leonard Subject: [PATCH ARM v3 0/7] mini-os: initial ARM support Date: Wed, 11 Jun 2014 11:30:11 +0100 Message-ID: <1402482618-15269-1-git-send-email-talex5@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WufnN-0002Ut-7V for xen-devel@lists.xenproject.org; Wed, 11 Jun 2014 10:30:17 +0000 Received: by mail-wi0-f169.google.com with SMTP id hi2so5164113wib.2 for ; Wed, 11 Jun 2014 03:30:14 -0700 (PDT) List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Thomas Leonard , Dave.Scott@eu.citrix.com, anil@recoil.org, stefano.stabellini@eu.citrix.com, samuel.thibault@ens-lyon.org List-Id: xen-devel@lists.xenproject.org This series is based on Karim's ARM support commits, further broken up into smaller patches. Unlike the previous series, this set includes the actual ARM support. I removed some patches where there were queries last time and no clear answer for why a change was included. I squashed in a large number of patches from my own later work, to avoid people reviewing code that is known to be buggy and to ensure that people should be able to test the patches as they are. I removed the libfdt code from this series. I'll include it in a future set, where it is actually used. I also removed the division support code (previously copied in from FreeBSD). Linking in libgcc.a seems to provide the missing functions. Another change here is that instead of removing start_info (as Karim's original changes had started to do), I now create one at start-up and populate it with the console and xenstore details. This greatly reduces the changes needed elsewhere in the code, including in programs using Mini-OS (e.g. Mirage), making the ARM and x86 interfaces more similar. Future patches will add FDT support, grant table initialisation and networking support, so don't worry about those things being missing. This patch roll is also available here: https://github.com/talex5/xen/commits/sent-Jun-11 Please include Karim in any reply as I am not the author of most of this code. Karim Raslan (4): mini-os: tidied up code mini-os: moved events code under arch mini-os: switched initial C entry point to arch_init mini-os: initial ARM support Thomas Leonard (3): mini-os: build fixes mini-os: fixed shutdown thread mini-os: don't include queue.h if there's no libc extras/mini-os/ARM-TODO.txt | 17 ++ extras/mini-os/Config.mk | 2 + extras/mini-os/Makefile | 34 +++- extras/mini-os/README | 4 +- extras/mini-os/arch/arm/Makefile | 32 +++ extras/mini-os/arch/arm/arch.mk | 6 + extras/mini-os/arch/arm/arm32.S | 149 ++++++++++++++ extras/mini-os/arch/arm/events.c | 24 +++ extras/mini-os/arch/arm/hypercalls32.S | 88 ++++++++ extras/mini-os/arch/arm/minios-arm32.lds | 73 +++++++ extras/mini-os/arch/arm/mm.c | 44 ++++ extras/mini-os/arch/arm/sched.c | 37 ++++ extras/mini-os/arch/arm/setup.c | 102 ++++++++++ extras/mini-os/arch/arm/time.c | 202 ++++++++++++++++++ extras/mini-os/arch/x86/events.c | 31 +++ extras/mini-os/arch/x86/setup.c | 44 +++- extras/mini-os/arch/x86/time.c | 2 +- extras/mini-os/arch/x86/x86_32.S | 2 +- extras/mini-os/arch/x86/x86_64.S | 2 +- extras/mini-os/console/console.c | 2 +- extras/mini-os/drivers/gic.c | 180 ++++++++++++++++ extras/mini-os/events.c | 31 +-- extras/mini-os/gntmap.c | 35 ++-- extras/mini-os/hypervisor.c | 10 + extras/mini-os/include/arm/arch_limits.h | 9 + extras/mini-os/include/arm/arch_mm.h | 37 ++++ extras/mini-os/include/arm/arch_sched.h | 22 ++ extras/mini-os/include/arm/arch_spinlock.h | 49 +++++ extras/mini-os/include/arm/hypercall-arm32.h | 173 ++++++++++++++++ extras/mini-os/include/arm/os.h | 294 +++++++++++++++++++++++++++ extras/mini-os/include/arm/traps.h | 20 ++ extras/mini-os/include/events.h | 3 + extras/mini-os/include/gic.h | 1 + extras/mini-os/include/hypervisor.h | 4 + extras/mini-os/include/kernel.h | 6 +- extras/mini-os/include/lib.h | 2 +- extras/mini-os/include/mm.h | 2 + extras/mini-os/include/types.h | 12 +- extras/mini-os/include/x86/arch_spinlock.h | 2 +- extras/mini-os/include/x86/os.h | 2 - extras/mini-os/kernel.c | 56 ++--- extras/mini-os/main.c | 2 +- extras/mini-os/sched.c | 6 + extras/mini-os/xenbus/xenbus.c | 2 +- 44 files changed, 1745 insertions(+), 112 deletions(-) create mode 100644 extras/mini-os/ARM-TODO.txt create mode 100755 extras/mini-os/arch/arm/Makefile create mode 100644 extras/mini-os/arch/arm/arch.mk create mode 100644 extras/mini-os/arch/arm/arm32.S create mode 100644 extras/mini-os/arch/arm/events.c create mode 100644 extras/mini-os/arch/arm/hypercalls32.S create mode 100755 extras/mini-os/arch/arm/minios-arm32.lds create mode 100644 extras/mini-os/arch/arm/mm.c create mode 100644 extras/mini-os/arch/arm/sched.c create mode 100644 extras/mini-os/arch/arm/setup.c create mode 100644 extras/mini-os/arch/arm/time.c create mode 100644 extras/mini-os/arch/x86/events.c create mode 100644 extras/mini-os/drivers/gic.c create mode 100644 extras/mini-os/include/arm/arch_limits.h create mode 100644 extras/mini-os/include/arm/arch_mm.h create mode 100644 extras/mini-os/include/arm/arch_sched.h create mode 100755 extras/mini-os/include/arm/arch_spinlock.h create mode 100644 extras/mini-os/include/arm/hypercall-arm32.h create mode 100644 extras/mini-os/include/arm/os.h create mode 100644 extras/mini-os/include/arm/traps.h create mode 100644 extras/mini-os/include/gic.h -- 2.0.0