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
next 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.