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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).