All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/29] ia64/xen domU take 9
@ 2008-07-17  2:10 Isaku Yamahata
  2008-07-17  2:10 ` [PATCH 01/29] ia64: move function declaration, ia64_cpu_local_tick() from .c to .h Isaku Yamahata
                   ` (33 more replies)
  0 siblings, 34 replies; 68+ messages in thread
From: Isaku Yamahata @ 2008-07-17  2:10 UTC (permalink / raw)
  To: linux-ia64

This patchset is ia64/xen domU patch take 9 which is rebased
to 2.6.26
This patchset implements ia64/xen domU support based on ia64/pv_ops
frame work which was sent as another patchest.

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.

To compile, the changesets in x86/xen branch are also needed.
I expected the necessary patches will be merged soon.
For convenience the working full source is available from
http://people.valinux.co.jp/~yamahata/xen-ia64/for_eagl/linux-2.6-ia64-pv-ops.git/
branch: ia64-pv-ops-2008july16-xen-ia64

For the status of this patch series
http://wiki.xensource.com/xenwiki/XenIA64/UpstreamMerge

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.
- complete save/restore support

Changes from take 8:
- rebased to 2.6.26
- updated pvclock-abi.h

Changes from take 7:
- various typos
- clean up sync_bitops.h
- style fix on include/asm-ia64/xen/interface.h
- reserve the "break" numbers in include/asm-ia64/break.h
- xencomm clean up
- dropped NET_SKB_PAD patch. It was a bug in xen-netfront.c.
- CONFIG_IA64_XEN -> CONFIG_IA64_XEN_GUEST
- catch up for x86 pvclock-abi.h
- work around for IPI with IA64_TIME_VECTOR
- add pv checker

Changes from take 6:
- rebased to linux ia64 test tree
- xen bsw_1 simplification.
- add documentation. Documentation/ia64/xen.txt
- preliminary support for save/restore.
- network fix. NET_SKB_PAD.

Changes from take 5:
- rebased to Linux 2.6.26-rc3
- fix ivt.S paravirtualization.
  One instruction was wrongly paravirtualized.
  It wasn't revealed with Xen HVM domain so far, but with real hw
- multi entry point support.
- revised changelog to add CCs.

Changes from take 4:
- fix synch bit ops definitions to prevent accidental namespace clashes.
- rebased and fixed breakages due to the upstream change.

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:
 Documentation/ia64/xen.txt                         |  183 ++++++++
 arch/ia64/Kconfig                                  |   32 ++
 arch/ia64/Makefile                                 |    2 +
 arch/ia64/kernel/Makefile                          |   18 +
 arch/ia64/kernel/acpi.c                            |    5 +
 arch/ia64/kernel/asm-offsets.c                     |   27 ++
 arch/ia64/kernel/nr-irqs.c                         |    1 +
 arch/ia64/kernel/paravirt_inst.h                   |    4 +-
 arch/ia64/kernel/process.c                         |    1 -
 arch/ia64/scripts/pvcheck.sed                      |   32 ++
 arch/ia64/xen/Kconfig                              |   26 ++
 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                            |  435 ++++++++++++++++++
 .../ia64/{kernel/paravirt_inst.h => xen/irq_xen.h} |   19 +-
 arch/ia64/xen/machvec.c                            |    4 +
 .../ia64/{kernel/paravirt_inst.h => xen/suspend.c} |   44 ++-
 arch/ia64/xen/time.c                               |  198 +++++++++
 arch/ia64/{kernel/paravirt_inst.h => xen/time.h}   |   11 +-
 arch/ia64/xen/xcom_hcall.c                         |  441 +++++++++++++++++++
 arch/ia64/xen/xen_pv_ops.c                         |  364 +++++++++++++++
 arch/ia64/xen/xencomm.c                            |  105 +++++
 arch/ia64/xen/xenivt.S                             |   52 +++
 arch/ia64/xen/xensetup.S                           |   83 ++++
 include/asm-ia64/break.h                           |    9 +
 include/asm-ia64/machvec.h                         |    2 +
 include/asm-ia64/machvec_xen.h                     |   22 +
 include/asm-ia64/meminit.h                         |    3 +-
 include/asm-ia64/native/pvchk_inst.h               |  158 +++++++
 include/asm-ia64/pvclock-abi.h                     |    5 +
 include/asm-ia64/sync_bitops.h                     |   51 +++
 include/asm-ia64/timex.h                           |    2 +
 .../asm-ia64/xen/events.h                          |   35 ++-
 .../asm-ia64/xen/grant_table.h                     |   14 +-
 include/asm-ia64/xen/hypercall.h                   |  265 +++++++++++
 include/asm-ia64/xen/hypervisor.h                  |   72 +++
 include/asm-ia64/xen/inst.h                        |  461 ++++++++++++++++++++
 include/asm-ia64/xen/interface.h                   |  345 +++++++++++++++
 include/asm-ia64/xen/irq.h                         |   44 ++
 include/asm-ia64/xen/minstate.h                    |  134 ++++++
 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                     |   42 ++
 46 files changed, 4321 insertions(+), 39 deletions(-)

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

end of thread, other threads:[~2008-07-21  8:12 UTC | newest]

Thread overview: 68+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-17  2:10 [PATCH 00/29] ia64/xen domU take 9 Isaku Yamahata
2008-07-17  2:10 ` [PATCH 01/29] ia64: move function declaration, ia64_cpu_local_tick() from .c to .h Isaku Yamahata
2008-07-17  2:10 ` [PATCH 02/29] ia64/xen: reserve "break" numbers used for xen hypercalls Isaku Yamahata
2008-07-17  2:10 ` [PATCH 03/29] ia64/xen: introduce sync bitops which is necessary for ia64/xen support Isaku Yamahata
2008-07-17  2:10 ` [PATCH 04/29] ia64/xen: increase IA64_MAX_RSVD_REGIONS Isaku Yamahata
2008-07-17  2:10 ` [PATCH 05/29] ia64/xen: introduce definitions necessary for ia64/xen hypercalls Isaku Yamahata
2008-07-17  2:10 ` [PATCH 06/29] ia64/xen: define several constants for ia64/xen Isaku Yamahata
2008-07-17  2:10 ` [PATCH 07/29] ia64/xen: add a neccessary header file to copmle include/xen/interface/xen.h Isaku Yamahata
2008-07-17  5:43   ` Jeremy Fitzhardinge
2008-07-17  5:43   ` [PATCH 07/29] ia64/xen: add a neccessary header file to copmle Jeremy Fitzhardinge
2008-07-17  5:55     ` [PATCH 07/29] ia64/xen: add a neccessary header file to copmle include/xen/interface/xen.h Isaku Yamahata
2008-07-17  5:55   ` Isaku Yamahata
2008-07-17  2:10 ` Isaku Yamahata
2008-07-17  2:10 ` [PATCH 08/29] ia64/xen: define helper functions for xen related address conversion Isaku Yamahata
2008-07-17  2:10 ` [PATCH 09/29] ia64/xen: define helper functions for xen hypercalls Isaku Yamahata
2008-07-17  2:10 ` [PATCH 10/29] ia64/xen: implement the arch specific part of xencomm Isaku Yamahata
2008-07-17  2:10 ` Isaku Yamahata
2008-07-17  3:25   ` Akio Takebe
2008-07-17  3:25   ` Akio Takebe
2008-07-17  5:39     ` Jeremy Fitzhardinge
2008-07-17  5:39   ` Jeremy Fitzhardinge
2008-07-17  2:10 ` [PATCH 11/29] ia64/xen: xencomm conversion functions for hypercalls Isaku Yamahata
2008-07-17  2:10 ` [PATCH 12/29] ia64/xen: implement arch specific part of xen grant table Isaku Yamahata
2008-07-17  2:10 ` [PATCH 13/29] ia64/xen: add definitions necessary for xen event channel Isaku Yamahata
2008-07-17  3:27   ` [PATCH 13/29] ia64/xen: add definitions necessary for xen eventchannel Akio Takebe
2008-07-17  3:27   ` Akio Takebe
2008-07-17  5:38     ` Jeremy Fitzhardinge
2008-07-17  5:38   ` Jeremy Fitzhardinge
2008-07-17  2:10 ` [PATCH 13/29] ia64/xen: add definitions necessary for xen event channel Isaku Yamahata
2008-07-17  2:10 ` [PATCH 14/29] ia64/pv_ops/xen: elf note based xen startup Isaku Yamahata
2008-07-17  2:10 ` [PATCH 15/29] ia64/pv_ops/xen: define xen pv_init_ops for various xen initialization Isaku Yamahata
2008-07-17  2:10 ` [PATCH 16/29] ia64/pv_ops/xen: define xen pv_cpu_ops Isaku Yamahata
2008-07-17  2:10 ` [PATCH 17/29] ia64/pv_ops/xen: define xen paravirtualized instructions for hand written assembly cod Isaku Yamahata
2008-07-17  3:49   ` [PATCH 17/29] ia64/pv_ops/xen: define xen paravirtualizedinstructions for hand written assembly code Akio Takebe
2008-07-17  3:49   ` [PATCH 17/29] ia64/pv_ops/xen: define xen paravirtualizedinstructions for hand written assembly Akio Takebe
2008-07-17  5:58     ` [Xen-ia64-devel] Re: [PATCH 17/29] ia64/pv_ops/xen: define xen paravirtualizedinstructions for hand written assembly code Isaku Yamahata
2008-07-17  2:10 ` [PATCH 17/29] ia64/pv_ops/xen: define xen paravirtualized instructions " Isaku Yamahata
2008-07-17  2:10 ` [PATCH 18/29] ia64/pv_ops/xen: paravirtualize DO_SAVE_MIN for xen Isaku Yamahata
2008-07-17  2:10 ` [PATCH 19/29] ia64/pv_ops/xen: paravirtualize ivt.S " Isaku Yamahata
2008-07-17  2:10 ` [PATCH 20/29] ia64/pv_ops/xen: paravirtualize entry.S for ia64/xen Isaku Yamahata
2008-07-17  2:10 ` [PATCH 21/29] ia64/pv_ops/xen: implement xen pv_iosapic_ops Isaku Yamahata
2008-07-17  2:10 ` [PATCH 22/29] ia64/pv_ops/xen: define the nubmer of irqs which xen needs Isaku Yamahata
2008-07-17  2:10 ` [PATCH 23/29] ia64/pv_ops/xen: implement xen pv_irq_ops Isaku Yamahata
2008-07-17  2:10 ` [PATCH 24/29] ia64/pv_ops/xen: implement xen pv_time_ops Isaku Yamahata
2008-07-17  5:45   ` Jeremy Fitzhardinge
2008-07-17  5:45   ` Jeremy Fitzhardinge
2008-07-17  6:11     ` Isaku Yamahata
2008-07-21  8:12     ` Avi Kivity
2008-07-17  6:11   ` Isaku Yamahata
2008-07-17 14:21     ` Jeremy Fitzhardinge
2008-07-17 14:21   ` Jeremy Fitzhardinge
2008-07-18  2:17     ` Isaku Yamahata
2008-07-18  2:17   ` Isaku Yamahata
2008-07-18  4:51     ` Jeremy Fitzhardinge
2008-07-18  4:51   ` Jeremy Fitzhardinge
2008-07-18 16:28     ` Luck, Tony
2008-07-18 16:28   ` Luck, Tony
2008-07-18 18:25     ` Jeremy Fitzhardinge
2008-07-18 18:25   ` Jeremy Fitzhardinge
2008-07-18 22:44     ` Luck, Tony
2008-07-18 22:44   ` Luck, Tony
2008-07-21  8:12   ` Avi Kivity
2008-07-17  2:10 ` Isaku Yamahata
2008-07-17  2:10 ` [PATCH 25/29] ia64/xen: define xen machine vector for domU Isaku Yamahata
2008-07-17  2:10 ` [PATCH 26/29] ia64/xen: preliminary support for save/restore Isaku Yamahata
2008-07-17  2:10 ` [PATCH 27/29] ia64/pv_ops: update Kconfig for paravirtualized guest and xen Isaku Yamahata
2008-07-17  2:11 ` [PATCH 28/29] ia64/xen: a recipe for using xen/ia64 with pv_ops Isaku Yamahata
2008-07-17  2:11 ` [PATCH 29/29] ia64/pv_ops: paravirtualized istruction checker 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.