All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH ARM v4 00/12] mini-os: initial ARM support
@ 2014-06-18 15:08 Thomas Leonard
  2014-06-18 15:08 ` [PATCH ARM v4 01/12] mini-os: build fixes Thomas Leonard
                   ` (11 more replies)
  0 siblings, 12 replies; 41+ messages in thread
From: Thomas Leonard @ 2014-06-18 15:08 UTC (permalink / raw)
  To: xen-devel
  Cc: Thomas Leonard, Dave.Scott, anil, stefano.stabellini,
	samuel.thibault

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

The comments from last time should be addressed too, plus a few other things:

- the series is rebased onto the patches that Ian already applied
- removing the "link" make target broke stubdom, so I brought that back
- the x86 stack address printk is back, and I moved all the other x86 printks
  to after the "WARN: don't do printk before here" line
- the TODOs in arm/os.h have been implemented (mainly using GCC intrinsics)
- added clrex to the IRQ handler return in case these get interrupted
- added an explicit -march=armv7-a to cope with other compiler defaults
- the zImage header now works with the XSA-95 fix to "xl create"
- added fixes for unbinding ports (also useful on x86)
- configued ARM not to fault on unaligned word accessess (useful for lwIP)
- fixed the off_t type to match POSIX (maybe Mini-OS shouldn't be defining it
  in the first place, but since it is, it should do it correctly).
- there are also some new patches adding support for using the FDT to
  initialise the MM, GIC and grant tables.

This patch roll is also available here:

  https://github.com/talex5/xen/commits/sent-Jun-18

Please include Karim in any reply as I am not the author of much of this code.

Karim Raslan (3):
  mini-os: switched initial C entry point to arch_init
  mini-os: initial ARM support
  mini-os: import libfdt

Thomas Leonard (9):
  mini-os: build fixes
  mini-os: fixed shutdown thread
  mini-os: fixed format string error in unbind_evtchn
  mini-os: use unbind_evtchn in unbind_all_ports
  mini-os: made off_t type signed
  mini-os: arm: show registers, stack and exception vector on fault
  mini-os: get RAM base and size from the FDT
  mini-os: get GIC addresses from FDT
  mini-os: added ARM grant table initialisation

 extras/mini-os/ARM-TODO.txt                      |   10 +
 extras/mini-os/COPYING                           |   27 +
 extras/mini-os/Config.mk                         |    2 +
 extras/mini-os/Makefile                          |   48 +-
 extras/mini-os/arch/arm/Makefile                 |   32 +
 extras/mini-os/arch/arm/arch.mk                  |    7 +
 extras/mini-os/arch/arm/arm32.S                  |  222 ++++
 extras/mini-os/arch/arm/events.c                 |   30 +
 extras/mini-os/arch/arm/hypercalls32.S           |   88 ++
 extras/mini-os/arch/arm/minios-arm32.lds         |   75 ++
 extras/mini-os/arch/arm/mm.c                     |  162 +++
 extras/mini-os/arch/arm/panic.c                  |   99 ++
 extras/mini-os/arch/arm/sched.c                  |   37 +
 extras/mini-os/arch/arm/setup.c                  |  112 ++
 extras/mini-os/arch/arm/time.c                   |  202 +++
 extras/mini-os/arch/x86/events.c                 |    4 +
 extras/mini-os/arch/x86/mm.c                     |   13 +
 extras/mini-os/arch/x86/setup.c                  |   44 +-
 extras/mini-os/arch/x86/x86_32.S                 |    2 +-
 extras/mini-os/arch/x86/x86_64.S                 |    2 +-
 extras/mini-os/drivers/gic.c                     |  217 ++++
 extras/mini-os/events.c                          |   39 +-
 extras/mini-os/gnttab.c                          |   11 +-
 extras/mini-os/hypervisor.c                      |   12 +-
 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             |   37 +
 extras/mini-os/include/arm/arch_sched.h          |   22 +
 extras/mini-os/include/arm/arch_spinlock.h       |   49 +
 extras/mini-os/include/arm/arm32/arch_wordsize.h |    1 +
 extras/mini-os/include/arm/hypercall-arm32.h     |  173 +++
 extras/mini-os/include/arm/os.h                  |  232 ++++
 extras/mini-os/include/arm/traps.h               |   20 +
 extras/mini-os/include/events.h                  |    4 +
 extras/mini-os/include/fdt.h                     |   60 +
 extras/mini-os/include/gic.h                     |    1 +
 extras/mini-os/include/gnttab.h                  |    1 +
 extras/mini-os/include/hypervisor.h              |    4 +
 extras/mini-os/include/kernel.h                  |    6 +-
 extras/mini-os/include/lib.h                     |    4 +-
 extras/mini-os/include/libfdt.h                  | 1478 ++++++++++++++++++++++
 extras/mini-os/include/libfdt_env.h              |   37 +
 extras/mini-os/include/mm.h                      |    2 +
 extras/mini-os/include/types.h                   |   14 +-
 extras/mini-os/include/x86/os.h                  |    2 -
 extras/mini-os/kernel.c                          |   55 +-
 extras/mini-os/lib/fdt/fdt.c                     |  222 ++++
 extras/mini-os/lib/fdt/fdt_empty_tree.c          |   84 ++
 extras/mini-os/lib/fdt/fdt_ro.c                  |  574 +++++++++
 extras/mini-os/lib/fdt/fdt_rw.c                  |  492 +++++++
 extras/mini-os/lib/fdt/fdt_strerror.c            |   96 ++
 extras/mini-os/lib/fdt/fdt_sw.c                  |  256 ++++
 extras/mini-os/lib/fdt/fdt_wip.c                 |  118 ++
 extras/mini-os/lib/fdt/libfdt_internal.h         |   95 ++
 extras/mini-os/lib/memmove.c                     |   45 +
 extras/mini-os/lib/string.c                      |   12 +
 extras/mini-os/main.c                            |    2 +-
 extras/mini-os/mm.c                              |    4 +-
 extras/mini-os/sched.c                           |   29 +-
 59 files changed, 5632 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/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/drivers/gic.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/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/fdt.h
 create mode 100644 extras/mini-os/include/gic.h
 create mode 100644 extras/mini-os/include/libfdt.h
 create mode 100644 extras/mini-os/include/libfdt_env.h
 create mode 100644 extras/mini-os/lib/fdt/fdt.c
 create mode 100644 extras/mini-os/lib/fdt/fdt_empty_tree.c
 create mode 100644 extras/mini-os/lib/fdt/fdt_ro.c
 create mode 100644 extras/mini-os/lib/fdt/fdt_rw.c
 create mode 100644 extras/mini-os/lib/fdt/fdt_strerror.c
 create mode 100644 extras/mini-os/lib/fdt/fdt_sw.c
 create mode 100644 extras/mini-os/lib/fdt/fdt_wip.c
 create mode 100644 extras/mini-os/lib/fdt/libfdt_internal.h
 create mode 100644 extras/mini-os/lib/memmove.c

-- 
2.0.0

^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2014-07-02 15:55 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-18 15:08 [PATCH ARM v4 00/12] mini-os: initial ARM support Thomas Leonard
2014-06-18 15:08 ` [PATCH ARM v4 01/12] mini-os: build fixes Thomas Leonard
2014-06-18 16:26   ` Ian Campbell
2014-06-18 17:41   ` Samuel Thibault
2014-06-18 15:08 ` [PATCH ARM v4 02/12] mini-os: fixed shutdown thread Thomas Leonard
2014-06-18 15:08 ` [PATCH ARM v4 03/12] mini-os: fixed format string error in unbind_evtchn Thomas Leonard
2014-06-18 16:28   ` Ian Campbell
2014-06-18 17:42   ` Samuel Thibault
2014-06-18 15:08 ` [PATCH ARM v4 04/12] mini-os: use unbind_evtchn in unbind_all_ports Thomas Leonard
2014-06-18 16:30   ` Ian Campbell
2014-06-18 17:44   ` Samuel Thibault
2014-06-18 15:08 ` [PATCH ARM v4 05/12] mini-os: made off_t type signed Thomas Leonard
2014-06-18 16:31   ` Ian Campbell
2014-06-18 17:44   ` Samuel Thibault
2014-06-18 15:08 ` [PATCH ARM v4 06/12] mini-os: switched initial C entry point to arch_init Thomas Leonard
2014-06-18 15:08 ` [PATCH ARM v4 07/12] mini-os: initial ARM support Thomas Leonard
2014-06-18 17:48   ` Samuel Thibault
2014-06-18 22:40   ` Julien Grall
2014-06-23 15:10     ` Thomas Leonard
2014-06-23 16:55       ` Julien Grall
2014-06-23 22:33         ` Samuel Thibault
2014-06-18 15:08 ` [PATCH ARM v4 08/12] mini-os: arm: show registers, stack and exception vector on fault Thomas Leonard
2014-06-18 15:08 ` [PATCH ARM v4 09/12] mini-os: import libfdt Thomas Leonard
2014-06-18 18:02   ` Samuel Thibault
2014-06-18 15:08 ` [PATCH ARM v4 10/12] mini-os: get RAM base and size from the FDT Thomas Leonard
2014-06-18 17:38   ` Julien Grall
2014-06-19  8:39     ` Thomas Leonard
2014-06-19 11:24       ` Julien Grall
2014-07-02 15:51         ` Ian Campbell
2014-06-18 15:08 ` [PATCH ARM v4 11/12] mini-os: get GIC addresses from FDT Thomas Leonard
2014-06-18 17:25   ` Julien Grall
2014-06-19  8:50     ` Thomas Leonard
2014-06-19 10:58       ` Julien Grall
2014-06-19 16:14         ` Thomas Leonard
2014-06-19 16:20           ` Julien Grall
2014-07-02 15:55       ` Ian Campbell
2014-06-18 15:08 ` [PATCH ARM v4 12/12] mini-os: added ARM grant table initialisation Thomas Leonard
2014-06-18 17:27   ` Julien Grall
2014-06-25 16:41     ` Thomas Leonard
2014-06-25 16:50       ` Ian Campbell
2014-06-18 18:05   ` Samuel Thibault

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.