All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 00/25] xen: ARMv7 with virtualization extensions
@ 2011-12-06 18:19 Stefano Stabellini
  2011-12-06 18:19 ` [PATCH RFC 01/25] Include some header files that are not automatically included on all archs stefano.stabellini
                   ` (23 more replies)
  0 siblings, 24 replies; 58+ messages in thread
From: Stefano Stabellini @ 2011-12-06 18:19 UTC (permalink / raw)
  To: xen-devel; +Cc: Stefano Stabellini, Ian Campbell, Tim Deegan

Hello everyone,
this is the very first version of the patch series that introduces ARMv7
with virtualization extensions support in Xen.
The series allows Xen and Dom0 to boot on a Cortex-A15 based Versatile
Express simulator.
See the following announce email for more informations about what we
are trying to achieve, as well as the original git history:

See http://marc.info/?l=xen-devel&m=132257857628098&w=2


The first 7 patches affect generic Xen code and are not ARM specific;
often they fix real issues, hidden in the default X86 configuration.

The following 18 patches introduce ARMv7 with virtualization extensions
support: makefiles first, then the asm-arm header files and finally
everything else, ordered in a way that should make the patches easier
to read.

Although I have been working on cleaning these patches for a week now,
this is just the first version of the series, so expect some rough
edges. You have been warned :-)
Also keep in mind that many functions still have only a dummy
implementation; we hope to fill the gaps as soon as possible.

Please read the patch series and let me know if you find any bugs, have
any comments or suggestions. With your help I am looking forward to
improving the quality of this work.


Stefano Stabellini (25):
      Include some header files that are not automatically included on all archs
      A collection of fixes to Xen common files
      Move cpufreq option parsing to cpufreq.c
      Replace "/" operand with div64
      Introduce clear_user
      libelf-loader: introduce elf_load_image and CONFIG_KERNEL_NO_RELOC
      xen/common/Makefile: introduce HAS_CPUFREQ, HAS_PCI, HAS_PASSTHROUGH, HAS_NS16550
      arm: makefiles
      arm: compile tmem
      arm: header files
      arm: bit manipulation, copy and division libraries
      arm: entry.S and head.S
      arm: domain
      arm: domain_build
      arm: driver for CoreLink GIC-400 Generic Interrupt Controller
      arm: mmio handlers
      arm: irq
      arm: mm and p2m
      arm: pl011 UART driver
      arm: early setup code
      arm: shutdown, smp and smpboot
      arm: driver for the generic timer for ARMv7
      arm: trap handlers
      arm: vgic emulation
      arm: vtimer


 config/arm.mk                                  |   18 +
 xen/arch/arm/Makefile                          |   76 +++
 xen/arch/arm/Rules.mk                          |   29 ++
 xen/arch/arm/asm-offsets.c                     |   76 +++
 xen/arch/arm/domain.c                          |  269 +++++++++++
 xen/arch/arm/domain_build.c                    |  211 ++++++++
 xen/arch/arm/dummy.S                           |   72 +++
 xen/arch/arm/entry.S                           |  107 +++++
 xen/arch/arm/gic.c                             |  473 ++++++++++++++++++
 xen/arch/arm/gic.h                             |  154 ++++++
 xen/arch/arm/head.S                            |  298 ++++++++++++
 xen/arch/arm/io.c                              |   51 ++
 xen/arch/arm/io.h                              |   55 +++
 xen/arch/arm/irq.c                             |  180 +++++++
 xen/arch/arm/lib/Makefile                      |    5 +
 xen/arch/arm/lib/assembler.h                   |   49 ++
 xen/arch/arm/lib/bitops.h                      |   36 ++
 xen/arch/arm/lib/changebit.S                   |   18 +
 xen/arch/arm/lib/clearbit.S                    |   19 +
 xen/arch/arm/lib/copy_template.S               |  266 +++++++++++
 xen/arch/arm/lib/div64.S                       |  149 ++++++
 xen/arch/arm/lib/findbit.S                     |  115 +++++
 xen/arch/arm/lib/lib1funcs.S                   |  274 +++++++++++
 xen/arch/arm/lib/memcpy.S                      |   64 +++
 xen/arch/arm/lib/memmove.S                     |  200 ++++++++
 xen/arch/arm/lib/memset.S                      |  129 +++++
 xen/arch/arm/lib/memzero.S                     |  127 +++++
 xen/arch/arm/lib/setbit.S                      |   18 +
 xen/arch/arm/lib/testchangebit.S               |   18 +
 xen/arch/arm/lib/testclearbit.S                |   18 +
 xen/arch/arm/lib/testsetbit.S                  |   18 +
 xen/arch/arm/mm.c                              |  321 +++++++++++++
 xen/arch/arm/p2m.c                             |  214 +++++++++
 xen/arch/arm/setup.c                           |  206 ++++++++
 xen/arch/arm/shutdown.c                        |   23 +
 xen/arch/arm/smp.c                             |   29 ++
 xen/arch/arm/smpboot.c                         |   50 ++
 xen/arch/arm/time.c                            |  181 +++++++
 xen/arch/arm/traps.c                           |  609 ++++++++++++++++++++++++
 xen/arch/arm/usercopy.c                        |   81 ++++
 xen/arch/arm/vgic.c                            |  605 +++++++++++++++++++++++
 xen/arch/arm/vtimer.c                          |  148 ++++++
 xen/arch/arm/vtimer.h                          |   35 ++
 xen/arch/arm/xen.lds.S                         |  141 ++++++
 xen/arch/ia64/Rules.mk                         |    4 +
 xen/arch/ia64/linux/memcpy_mck.S               |  177 +++++++
 xen/arch/x86/Rules.mk                          |    4 +
 xen/arch/x86/usercopy.c                        |   36 ++
 xen/common/Makefile                            |    2 +-
 xen/common/domain.c                            |   37 +--
 xen/common/domctl.c                            |    1 +
 xen/common/grant_table.c                       |    1 +
 xen/common/irq.c                               |    1 +
 xen/common/kernel.c                            |    2 +-
 xen/common/keyhandler.c                        |    5 +-
 xen/common/lib.c                               |    9 +-
 xen/common/libelf/libelf-dominfo.c             |    6 +
 xen/common/libelf/libelf-loader.c              |   21 +-
 xen/common/memory.c                            |    4 +-
 xen/common/sched_credit.c                      |    7 +-
 xen/common/sched_credit2.c                     |   11 +-
 xen/common/sched_sedf.c                        |   30 +-
 xen/common/shutdown.c                          |    4 +
 xen/common/spinlock.c                          |    1 +
 xen/common/timer.c                             |    7 +-
 xen/common/tmem.c                              |    3 +-
 xen/common/tmem_xen.c                          |    6 +-
 xen/common/wait.c                              |    1 +
 xen/drivers/Makefile                           |    6 +-
 xen/drivers/char/Makefile                      |    3 +-
 xen/drivers/char/console.c                     |    5 +
 xen/drivers/char/pl011.c                       |  266 +++++++++++
 xen/drivers/cpufreq/cpufreq.c                  |   31 ++
 xen/include/asm-arm/asm_defns.h                |   18 +
 xen/include/asm-arm/atomic.h                   |  212 ++++++++
 xen/include/asm-arm/bitops.h                   |  195 ++++++++
 xen/include/asm-arm/bug.h                      |   15 +
 xen/include/asm-arm/byteorder.h                |   16 +
 xen/include/asm-arm/cache.h                    |   20 +
 xen/include/asm-arm/config.h                   |  124 +++++
 xen/include/asm-arm/cpregs.h                   |  207 ++++++++
 xen/include/asm-arm/current.h                  |   60 +++
 xen/include/asm-arm/debugger.h                 |   15 +
 xen/include/asm-arm/delay.h                    |   15 +
 xen/include/asm-arm/desc.h                     |   12 +
 xen/include/asm-arm/div64.h                    |  241 ++++++++++
 xen/include/asm-arm/domain.h                   |   82 ++++
 xen/include/asm-arm/elf.h                      |   33 ++
 xen/include/asm-arm/event.h                    |   41 ++
 xen/include/asm-arm/flushtlb.h                 |   31 ++
 xen/include/asm-arm/grant_table.h              |   35 ++
 xen/include/asm-arm/guest_access.h             |  125 +++++
 xen/include/asm-arm/hardirq.h                  |   28 ++
 xen/include/asm-arm/hypercall.h                |   24 +
 xen/include/asm-arm/init.h                     |   12 +
 xen/include/asm-arm/io.h                       |   12 +
 xen/include/asm-arm/iocap.h                    |   20 +
 xen/include/asm-arm/irq.h                      |   30 ++
 xen/include/asm-arm/mm.h                       |  315 ++++++++++++
 xen/include/asm-arm/multicall.h                |   23 +
 xen/include/asm-arm/nmi.h                      |   15 +
 xen/include/asm-arm/numa.h                     |   21 +
 xen/include/asm-arm/p2m.h                      |   88 ++++
 xen/include/asm-arm/page.h                     |  335 +++++++++++++
 xen/include/asm-arm/paging.h                   |   13 +
 xen/include/asm-arm/percpu.h                   |   28 ++
 xen/include/asm-arm/processor.h                |  269 +++++++++++
 xen/include/asm-arm/regs.h                     |   43 ++
 xen/include/asm-arm/setup.h                    |   20 +
 xen/include/asm-arm/smp.h                      |   25 +
 xen/include/asm-arm/softirq.h                  |   15 +
 xen/include/asm-arm/spinlock.h                 |  144 ++++++
 xen/include/asm-arm/string.h                   |   38 ++
 xen/include/asm-arm/system.h                   |  202 ++++++++
 xen/include/asm-arm/time.h                     |   26 +
 xen/include/asm-arm/trace.h                    |   12 +
 xen/include/asm-arm/types.h                    |   57 +++
 xen/include/asm-arm/xenoprof.h                 |   12 +
 xen/include/asm-ia64/linux/asm-generic/div64.h |    6 +
 xen/include/asm-ia64/uaccess.h                 |   12 +
 xen/include/asm-x86/div64.h                    |    6 +
 xen/include/asm-x86/uaccess.h                  |    1 +
 xen/include/public/arch-arm.h                  |  125 +++++
 xen/include/public/xen.h                       |    2 +
 xen/include/xen/domain.h                       |    2 +
 xen/include/xen/grant_table.h                  |    1 +
 xen/include/xen/irq.h                          |   13 +
 xen/include/xen/kernel.h                       |   12 +-
 xen/include/xen/libelf.h                       |    2 +-
 xen/include/xen/list.h                         |    1 +
 xen/include/xen/sched.h                        |    4 +
 xen/include/xen/serial.h                       |    2 +
 xen/include/xen/time.h                         |    1 +
 xen/include/xen/timer.h                        |    1 +
 xen/include/xen/tmem_xen.h                     |    1 +
 135 files changed, 10358 insertions(+), 84 deletions(-)


A git branch is available here, based on xen-unstable (git CS
367ababd691a023944d648a6d980ccf866b01169):

git://xenbits.xen.org/people/sstabellini/xen-unstable.git arm-v1


Cheers,

Stefano

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

end of thread, other threads:[~2011-12-09 12:38 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-06 18:19 [PATCH RFC 00/25] xen: ARMv7 with virtualization extensions Stefano Stabellini
2011-12-06 18:19 ` [PATCH RFC 01/25] Include some header files that are not automatically included on all archs stefano.stabellini
2011-12-07  8:52   ` Jan Beulich
2011-12-07 11:20     ` Stefano Stabellini
2011-12-06 18:19 ` [PATCH RFC 02/25] A collection of fixes to Xen common files stefano.stabellini
2011-12-07  9:00   ` Jan Beulich
2011-12-07 11:14     ` George Dunlap
2011-12-07 11:20     ` Stefano Stabellini
2011-12-07 11:38       ` Ian Campbell
2011-12-07 12:39         ` Stefano Stabellini
2011-12-07 12:47       ` Jan Beulich
2011-12-07 12:43     ` Tim Deegan
2011-12-07 12:49       ` Jan Beulich
2011-12-07 12:53   ` David Vrabel
2011-12-07 12:58     ` Stefano Stabellini
2011-12-06 18:19 ` [PATCH RFC 03/25] Move cpufreq option parsing to cpufreq.c stefano.stabellini
2011-12-07  9:01   ` Jan Beulich
2011-12-07 11:22     ` Stefano Stabellini
2011-12-06 18:19 ` [PATCH RFC 04/25] Replace "/" operand with div64 stefano.stabellini
2011-12-07  7:00   ` Zhang, Xiantao
2011-12-07  9:12     ` Keir Fraser
2011-12-07  9:16       ` Keir Fraser
2011-12-07 12:23     ` Stefano Stabellini
2011-12-07 15:04       ` Keir Fraser
2011-12-07 20:27         ` Stefano Stabellini
2011-12-07  9:24   ` Jan Beulich
2011-12-07 11:35     ` Keir Fraser
2011-12-06 18:19 ` [PATCH RFC 05/25] Introduce clear_user stefano.stabellini
2011-12-07  9:43   ` Jan Beulich
2011-12-07 11:23     ` Stefano Stabellini
2011-12-06 18:19 ` [PATCH RFC 06/25] libelf-loader: introduce elf_load_image and CONFIG_KERNEL_NO_RELOC stefano.stabellini
2011-12-07  9:56   ` Jan Beulich
2011-12-09 12:02     ` Stefano Stabellini
2011-12-06 18:19 ` [PATCH RFC 07/25] xen/common/Makefile: introduce HAS_CPUFREQ, HAS_PCI, HAS_PASSTHROUGH, HAS_NS16550 stefano.stabellini
2011-12-07 10:00   ` Jan Beulich
2011-12-07 11:24     ` Stefano Stabellini
2011-12-07 12:57       ` Jan Beulich
2011-12-09 12:05         ` Stefano Stabellini
2011-12-09 12:38           ` Ian Campbell
2011-12-06 18:19 ` [PATCH RFC 08/25] arm: makefiles stefano.stabellini
2011-12-07 12:59   ` David Vrabel
2011-12-07 13:04     ` Ian Campbell
2011-12-06 18:19 ` [PATCH RFC 09/25] arm: compile tmem stefano.stabellini
2011-12-06 18:19 ` [PATCH RFC 10/25] arm: header files stefano.stabellini
2011-12-06 18:19 ` [PATCH RFC 11/25] arm: bit manipulation, copy and division libraries stefano.stabellini
2011-12-06 18:19 ` [PATCH RFC 12/25] arm: entry.S and head.S stefano.stabellini
2011-12-06 18:19 ` [PATCH RFC 13/25] arm: domain stefano.stabellini
2011-12-06 18:19 ` [PATCH RFC 14/25] arm: domain_build stefano.stabellini
2011-12-06 18:19 ` [PATCH RFC 15/25] arm: driver for CoreLink GIC-400 Generic Interrupt Controller stefano.stabellini
2011-12-06 18:20 ` [PATCH RFC 16/25] arm: mmio handlers stefano.stabellini
2011-12-06 18:20 ` [PATCH RFC 17/25] arm: irq stefano.stabellini
2011-12-06 18:20 ` [PATCH RFC 18/25] arm: mm and p2m stefano.stabellini
2011-12-06 18:20 ` [PATCH RFC 20/25] arm: early setup code stefano.stabellini
2011-12-06 18:20 ` [PATCH RFC 21/25] arm: shutdown, smp and smpboot stefano.stabellini
2011-12-06 18:20 ` [PATCH RFC 22/25] arm: driver for the generic timer for ARMv7 stefano.stabellini
2011-12-06 18:20 ` [PATCH RFC 23/25] arm: trap handlers stefano.stabellini
2011-12-06 18:20 ` [PATCH RFC 24/25] arm: vgic emulation stefano.stabellini
2011-12-06 18:20 ` [PATCH RFC 25/25] arm: vtimer stefano.stabellini

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.