[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH ARM v3 0/7] mini-os: initial ARM support



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


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.