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

[Xen-devel] [PATCH ARM v7 00/13] mini-os: initial ARM support



This series is based on Karim's ARM support commits, further broken up into
smaller patches.

Changes since v6:

- Added missing includes in stubdom code.
- Move poor rand function to test.c.
- Fixed printk format types.
- Only build libfdt with read support, since that's all we need.
- Compiling with debug=n now works.

Addressed Andrew Cooper's comment:
- Use Xen's existing copy of libfdt instead of including our own copy.

Addressed Ian Campbell's comments:
- ARMv7 A8.8.247 says udf should not be used conditionally, so use
  a branch instead.
- Enable caching earlier (required setting the cacheability for the
  translation table walks).
- Added some extra dsb instructions to protect against reordering.
- Replace "mov pc" with "bx".
- Preserve all callee-saved registers on thread switch.

Addressed Julien Grall's comments:
- Note that TTBCR is zero (using short-descriptors, TTBR0 only).
- Note about relying on 0x8000 load offset.
- Remove wall-clock time support (doesn't work on ARM anyway).
- Converted an ?: to an if.
- paddr_t is now uint64_t.


Karim Raslan (2):
  mini-os: arm: add header files
  mini-os: arm: events

Thomas Leonard (11):
  mini-os: don't include lib.h from mm.h
  mini-os: added HYPERVISOR_xsm_op
  mini-os: move poor rand function to test.c
  mini-os: arm: boot code
  mini-os: arm: memory management
  mini-os: arm: scheduling
  mini-os: arm: time
  mini-os: arm: interrupt controller
  mini-os: arm: build system
  mini-os: arm: show registers, stack and exception vector on fault
  mini-os: fixed compiling with debug=n

 .gitignore                                       |   3 +
 extras/mini-os/ARM-TODO.txt                      |   4 +
 extras/mini-os/COPYING                           |  27 +++
 extras/mini-os/Config.mk                         |   2 +
 extras/mini-os/Makefile                          |  38 ++-
 extras/mini-os/arch/arm/Makefile                 |  32 +++
 extras/mini-os/arch/arm/arch.mk                  |   7 +
 extras/mini-os/arch/arm/arm32.S                  | 294 +++++++++++++++++++++++
 extras/mini-os/arch/arm/events.c                 |  31 +++
 extras/mini-os/arch/arm/gic.c                    | 237 ++++++++++++++++++
 extras/mini-os/arch/arm/hypercalls32.S           |  64 +++++
 extras/mini-os/arch/arm/minios-arm32.lds         |  83 +++++++
 extras/mini-os/arch/arm/mm.c                     | 139 +++++++++++
 extras/mini-os/arch/arm/panic.c                  |  98 ++++++++
 extras/mini-os/arch/arm/sched.c                  |  47 ++++
 extras/mini-os/arch/arm/setup.c                  | 119 +++++++++
 extras/mini-os/arch/arm/time.c                   | 141 +++++++++++
 extras/mini-os/events.c                          |   4 +-
 extras/mini-os/include/arm/arch_endian.h         |   7 +
 extras/mini-os/include/arm/arch_limits.h         |   9 +
 extras/mini-os/include/arm/arch_mm.h             |  38 +++
 extras/mini-os/include/arm/arch_sched.h          |  19 ++
 extras/mini-os/include/arm/arch_spinlock.h       |  36 +++
 extras/mini-os/include/arm/arm32/arch_wordsize.h |   1 +
 extras/mini-os/include/arm/gic.h                 |   1 +
 extras/mini-os/include/arm/hypercall-arm.h       |  98 ++++++++
 extras/mini-os/include/arm/os.h                  | 216 +++++++++++++++++
 extras/mini-os/include/arm/traps.h               |  20 ++
 extras/mini-os/include/hypervisor.h              |   2 +
 extras/mini-os/include/lib.h                     |   4 +-
 extras/mini-os/include/libfdt_env.h              |  29 +++
 extras/mini-os/include/mm.h                      |   5 +-
 extras/mini-os/include/types.h                   |  10 +-
 extras/mini-os/include/x86/os.h                  |   7 +
 extras/mini-os/lib/math.c                        |  13 -
 extras/mini-os/lib/memmove.c                     |  45 ++++
 extras/mini-os/lib/string.c                      |  12 +
 extras/mini-os/lock.c                            |   1 +
 extras/mini-os/main.c                            |   1 +
 extras/mini-os/minios.mk                         |   2 +-
 extras/mini-os/test.c                            |  13 +
 extras/mini-os/tpm_tis.c                         |   1 +
 extras/mini-os/tpmfront.c                        |   1 +
 stubdom/vtpmmgr/disk_tpm.c                       |   1 +
 stubdom/vtpmmgr/vtpm_cmd_handler.c               |   1 +
 xen/common/libfdt/fdt_ro.c                       |   2 +-
 46 files changed, 1938 insertions(+), 27 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/gic.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/panic.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/include/arm/arch_endian.h
 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/arm32/arch_wordsize.h
 create mode 100644 extras/mini-os/include/arm/gic.h
 create mode 100644 extras/mini-os/include/arm/hypercall-arm.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/libfdt_env.h
 create mode 100644 extras/mini-os/lib/memmove.c

-- 
2.0.3


_______________________________________________
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®.