All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/23] ia64/xen domU take 4
@ 2008-04-09  4:50 Isaku Yamahata
  2008-04-09  4:50 ` [PATCH 01/23] ia64/xen: introduce synch bitops which is necessary for ia64/xen support Isaku Yamahata
                   ` (23 more replies)
  0 siblings, 24 replies; 31+ messages in thread
From: Isaku Yamahata @ 2008-04-09  4:50 UTC (permalink / raw)
  To: linux-ia64

Hi. This patchset implements ia64/xen domU support based on
ia64/pv_ops frame work which was sent as another patchest.
Please review and comments.

This patchset does the followings.
- Some preparation work. Mainly importing header files to define
  related structures.
- Then, define functions related to hypercall which is the way to
  communicate with Xen hypervisor.
- Add some helper functions which is necessary to utilize 
  xen arch generic portion.
- Next implements the xen instance of pv_ops introducing 
  pv_info, pv_init_ops, pv_cpu_ops and its assembler counter part,
  pv_iosapic_ops, pv_irq_ops and, pv_time_ops step by step.
- Introduce xen machine vector to describe xen platform.
  By using machine vector, xen domU implementation can be simplified.
- Lastly update Kconfig to allow paravirtualization support and
  xen domU support to compile.


The working full source is available from
http://people.valinux.co.jp/~yamahata/xen-ia64/linux-2.6-xen-ia64.git/
branch: xen-ia64-2008apr08

At this phase, we don't address the following issues.
Those will be addressed after the first merge.
- optimization by binary patch
  In fact, we had the patch to do that, but we intentionally dropped
  for patch size/readability/cleanness.
- freeing the unused pages, i.e. pages for unused ivt.S.

Changes from take 3:
- split the patch set into pv_op part and xen domU part.
- many clean ups.
- introduced pv_ops: pv_cpu_ops and pv_time_ops.

Changes from take 2:
- many clean ups following to comments.
- clean up:assembly instruction macro.
- introduced pv_ops: pv_info, pv_init_ops, pv_iosapic_ops, pv_irq_ops.

Changes from take 1:
Single IVT source code. compile multitimes using assembler macros.

thanks,

Diffstat:
 arch/ia64/Kconfig                  |   31 +++
 arch/ia64/Makefile                 |    2 +
 arch/ia64/kernel/acpi.c            |    5 +
 arch/ia64/kernel/asm-offsets.c     |   27 ++
 arch/ia64/kernel/head.S            |    6 +
 arch/ia64/xen/Kconfig              |   21 ++
 arch/ia64/xen/Makefile             |   22 ++
 arch/ia64/xen/grant-table.c        |  155 +++++++++++
 arch/ia64/xen/hypercall.S          |   91 +++++++
 arch/ia64/xen/hypervisor.c         |   96 +++++++
 arch/ia64/xen/irq_xen.c            |  422 ++++++++++++++++++++++++++++++
 arch/ia64/xen/irq_xen.h            |   34 +++
 arch/ia64/xen/machvec.c            |    4 +
 arch/ia64/xen/time.c               |  165 ++++++++++++
 arch/ia64/xen/time.h               |   23 ++
 arch/ia64/xen/xcom_hcall.c         |  424 ++++++++++++++++++++++++++++++
 arch/ia64/xen/xen_pv_ops.c         |  362 ++++++++++++++++++++++++++
 arch/ia64/xen/xencomm.c            |   95 +++++++
 arch/ia64/xen/xenivt.S             |   57 ++++
 arch/ia64/xen/xensetup.S           |   49 ++++
 include/asm-ia64/machvec.h         |    2 +
 include/asm-ia64/machvec_xen.h     |   22 ++
 include/asm-ia64/meminit.h         |    3 +-
 include/asm-ia64/sync_bitops.h     |   59 +++++
 include/asm-ia64/xen/events.h      |   50 ++++
 include/asm-ia64/xen/grant_table.h |   29 ++
 include/asm-ia64/xen/hypercall.h   |  263 +++++++++++++++++++
 include/asm-ia64/xen/hypervisor.h  |   72 +++++
 include/asm-ia64/xen/inst.h        |  504 ++++++++++++++++++++++++++++++++++++
 include/asm-ia64/xen/interface.h   |  320 +++++++++++++++++++++++
 include/asm-ia64/xen/irq.h         |   44 +++
 include/asm-ia64/xen/minstate.h    |  131 ++++++++++
 include/asm-ia64/xen/page.h        |   65 +++++
 include/asm-ia64/xen/privop.h      |  129 +++++++++
 include/asm-ia64/xen/xcom_hcall.h  |   51 ++++
 include/asm-ia64/xen/xencomm.h     |   33 +++
 36 files changed, 3867 insertions(+), 1 deletions(-)

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

end of thread, other threads:[~2008-05-19 23:07 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-09  4:50 [PATCH 00/23] ia64/xen domU take 4 Isaku Yamahata
2008-04-09  4:50 ` [PATCH 01/23] ia64/xen: introduce synch bitops which is necessary for ia64/xen support Isaku Yamahata
2008-04-09  5:09   ` [PATCH 01/23] ia64/xen: introduce synch bitops which is necessary Jeremy Fitzhardinge
2008-04-09  9:01     ` [PATCH 01/23] ia64/xen: introduce synch bitops which is necessary for ia64/xen support Isaku Yamahata
2008-04-09  5:09   ` Jeremy Fitzhardinge
2008-04-09  9:01   ` Isaku Yamahata
2008-04-30 12:30   ` Isaku Yamahata
2008-05-19 23:07   ` Isaku Yamahata
2008-04-09  4:50 ` Isaku Yamahata
2008-04-09  4:50 ` [PATCH 02/23] ia64/xen: increase IA64_MAX_RSVD_REGIONS Isaku Yamahata
2008-04-09  4:50 ` [PATCH 03/23] ia64/xen: introduce definitions necessary for ia64/xen hypercalls Isaku Yamahata
2008-04-09  4:50 ` [PATCH 04/23] ia64/xen: define several constants for ia64/xen Isaku Yamahata
2008-04-09  4:50 ` [PATCH 05/23] ia64/xen: define helper functions for xen related address conversion Isaku Yamahata
2008-04-09  4:50 ` [PATCH 06/23] ia64/xen: define helper functions for xen hypercalls Isaku Yamahata
2008-04-09  4:50 ` [PATCH 07/23] ia64/xen: implement the arch specific part of xencomm Isaku Yamahata
2008-04-09  4:50 ` [PATCH 08/23] ia64/xen: xencomm conversion functions for hypercalls Isaku Yamahata
2008-04-09  4:50 ` [PATCH 09/23] ia64/xen: implement arch specific part of xen grant table Isaku Yamahata
2008-04-09  4:50 ` [PATCH 10/23] ia64/xen: add definitions necessary for xen event channel Isaku Yamahata
2008-04-09  4:50 ` [PATCH 11/23] ia64/xen: detect xen environment and do minimal initialization Isaku Yamahata
2008-04-09  4:50 ` [PATCH 12/23] ia64/pv_ops/xen: define xen pv_init_ops for various xen initialization Isaku Yamahata
2008-04-09  4:50 ` [PATCH 13/23] ia64/pv_ops/xen: define xen pv_cpu_ops Isaku Yamahata
2008-04-09  4:50 ` [PATCH 14/23] ia64/pv_ops/xen: define xen paravirtualized instructions for hand written assembly code Isaku Yamahata
2008-04-09  4:50 ` [PATCH 15/23] ia64/pv_ops/xen: paravirtualize DO_SAVE_MIN for xen Isaku Yamahata
2008-04-09  4:50 ` [PATCH 16/23] ia64/pv_ops/xen: paravirtualize ivt.S " Isaku Yamahata
2008-04-09  4:50 ` [PATCH 17/23] ia64/pv_ops/xen: paravirtualize entry.S for ia64/xen Isaku Yamahata
2008-04-09  4:50 ` [PATCH 18/23] ia64/pv_ops/xen: implement xen pv_iosapic_ops Isaku Yamahata
2008-04-09  4:50 ` [PATCH 19/23] ia64/pv_ops/xen: define the nubmer of irqs which xen needs Isaku Yamahata
2008-04-09  4:50 ` [PATCH 20/23] ia64/pv_ops/xen: implement xen pv_irq_ops Isaku Yamahata
2008-04-09  4:50 ` [PATCH 21/23] ia64/pv_ops/xen: implement xen pv_time_ops Isaku Yamahata
2008-04-09  4:50 ` [PATCH 22/23] ia64/xen: define xen machine vector for domU Isaku Yamahata
2008-04-09  4:50 ` [PATCH 23/23] ia64/pv_ops: update Kconfig for paravirtualized guest and xen Isaku Yamahata

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.