All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Leonard <talex5@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Thomas Leonard <talex5@gmail.com>,
	Dave.Scott@eu.citrix.com, anil@recoil.org,
	stefano.stabellini@eu.citrix.com, samuel.thibault@ens-lyon.org
Subject: [PATCH ARM v7 00/13] mini-os: initial ARM support
Date: Fri,  8 Aug 2014 16:47:29 +0100	[thread overview]
Message-ID: <1407512862-9373-1-git-send-email-talex5@gmail.com> (raw)

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

             reply	other threads:[~2014-08-08 15:47 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-08 15:47 Thomas Leonard [this message]
2014-08-08 15:47 ` [PATCH ARM v7 01/13] mini-os: don't include lib.h from mm.h Thomas Leonard
2014-08-08 15:47 ` [PATCH ARM v7 02/13] mini-os: added HYPERVISOR_xsm_op Thomas Leonard
2014-08-08 15:47 ` [PATCH ARM v7 03/13] mini-os: move poor rand function to test.c Thomas Leonard
2014-08-08 16:37   ` Samuel Thibault
2014-08-11  7:59     ` Thomas Leonard
2014-08-11  9:29       ` Samuel Thibault
2014-08-28 15:07         ` Thomas Leonard
2014-08-08 15:47 ` [PATCH ARM v7 04/13] mini-os: arm: add header files Thomas Leonard
2014-08-08 15:47 ` [PATCH ARM v7 05/13] mini-os: arm: boot code Thomas Leonard
2014-08-08 15:47 ` [PATCH ARM v7 06/13] mini-os: arm: memory management Thomas Leonard
2014-08-08 15:47 ` [PATCH ARM v7 07/13] mini-os: arm: scheduling Thomas Leonard
2014-08-08 15:47 ` [PATCH ARM v7 08/13] mini-os: arm: events Thomas Leonard
2014-09-08 11:52   ` Ian Campbell
2014-08-08 15:47 ` [PATCH ARM v7 09/13] mini-os: arm: time Thomas Leonard
2014-09-08 10:59   ` Ian Campbell
2014-09-08 16:08     ` Thomas Leonard
2014-09-22 10:35       ` Dave Scott
2014-09-23 16:53         ` Stefano Stabellini
2014-09-26 10:01         ` Thomas Leonard
2014-10-01 11:10         ` Thomas Leonard
2014-10-01 11:10         ` Thomas Leonard
2014-10-01 11:31           ` Ian Campbell
2014-08-08 15:47 ` [PATCH ARM v7 10/13] mini-os: arm: interrupt controller Thomas Leonard
2014-09-08 11:01   ` Ian Campbell
2014-08-08 15:47 ` [PATCH ARM v7 11/13] mini-os: arm: build system Thomas Leonard
2014-09-08 11:05   ` Ian Campbell
2014-08-08 15:47 ` [PATCH ARM v7 12/13] mini-os: arm: show registers, stack and exception vector on fault Thomas Leonard
2014-09-08 11:06   ` Ian Campbell
2014-08-08 15:47 ` [PATCH ARM v7 13/13] mini-os: fixed compiling with debug=n Thomas Leonard
2014-09-08 11:08   ` Ian Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1407512862-9373-1-git-send-email-talex5@gmail.com \
    --to=talex5@gmail.com \
    --cc=Dave.Scott@eu.citrix.com \
    --cc=anil@recoil.org \
    --cc=samuel.thibault@ens-lyon.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.