All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xen: core dom0 support
@ 2009-02-28  1:59 Jeremy Fitzhardinge
  2009-02-28  1:59 ` [PATCH] xen dom0: Make hvc_xen console work for dom0 Jeremy Fitzhardinge
                   ` (20 more replies)
  0 siblings, 21 replies; 123+ messages in thread
From: Jeremy Fitzhardinge @ 2009-02-28  1:59 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: the arch/x86 maintainers, Linux Kernel Mailing List, Xen-devel


Hi,

This series implements the core parts of Xen dom0 support; that is, just
enough to get the kernel started when booted by Xen as a dom0 kernel.

The Xen dom0 kernel runs as a normal paravirtualized Xen kernel, but
it also has the additional responsibilty for managing all the machine's
hardware, as Xen itself has almost no internal driver support (it barely
even knows about PCI).

This series includes:
 - setting up a Xen hvc console
 - initializing Xenbus
 - enabling IO permissions for the kernel
 - MTRR setup hooks
 - Use _PAGE_IOMAP to allow direct hardware mappings
 - add a paravirt-ops for page_is_ram, to allow Xen to exclude granted pages
 - enable the use of a vga console

Not included in this series is the hooks into apic setup; that's next.

This may be pulled from:

The following changes since commit cc2f3b455c8efa01c66b8e66df8aad1da9310901:
  Ingo Molnar (1):
        Merge branch 'sched/urgent'

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git push/xen/dom0/core

Ian Campbell (4):
      xen: disable PAT
      xen/dom0: Use host E820 map
      xen: implement XENMEM_machphys_mapping
      xen: clear reserved bits in l3 entries given in the initial pagetables

Jeremy Fitzhardinge (6):
      xen dom0: Make hvc_xen console work for dom0.
      xen-dom0: only selectively disable cpu features
      xen/dom0: use _PAGE_IOMAP in ioremap to do machine mappings
      paravirt/xen: add pvop for page_is_ram
      xen/dom0: add XEN_DOM0 config option
      xen: allow enable use of VGA console on dom0

Juan Quintela (2):
      xen dom0: Initialize xenbus for dom0.
      xen dom0: Set up basic IO permissions for dom0.

Mark McLoughlin (5):
      xen mtrr: Use specific cpu_has_foo macros instead of generic cpu_has()
      xen mtrr: Kill some unneccessary includes
      xen mtrr: Use generic_validate_add_page()
      xen mtrr: Implement xen_get_free_region()
      xen mtrr: Add xen_{get,set}_mtrr() implementations

Stephen Tweedie (2):
      xen dom0: Add support for the platform_ops hypercall
      xen mtrr: Add mtrr_ops support for Xen mtrr

 arch/x86/include/asm/page.h             |    9 +-
 arch/x86/include/asm/paravirt.h         |    7 +
 arch/x86/include/asm/pat.h              |    5 +
 arch/x86/include/asm/xen/hypercall.h    |    8 +
 arch/x86/include/asm/xen/interface.h    |    6 +-
 arch/x86/include/asm/xen/interface_32.h |    5 +
 arch/x86/include/asm/xen/interface_64.h |   13 +--
 arch/x86/include/asm/xen/page.h         |   15 +--
 arch/x86/kernel/cpu/mtrr/Makefile       |    1 +
 arch/x86/kernel/cpu/mtrr/amd.c          |    1 +
 arch/x86/kernel/cpu/mtrr/centaur.c      |    1 +
 arch/x86/kernel/cpu/mtrr/cyrix.c        |    1 +
 arch/x86/kernel/cpu/mtrr/generic.c      |    1 +
 arch/x86/kernel/cpu/mtrr/main.c         |   11 +-
 arch/x86/kernel/cpu/mtrr/mtrr.h         |    7 +
 arch/x86/kernel/cpu/mtrr/xen.c          |  120 ++++++++++++++++
 arch/x86/kernel/paravirt.c              |    1 +
 arch/x86/mm/ioremap.c                   |    2 +-
 arch/x86/mm/pat.c                       |    5 -
 arch/x86/xen/Kconfig                    |   26 ++++
 arch/x86/xen/Makefile                   |    3 +-
 arch/x86/xen/enlighten.c                |   58 ++++++--
 arch/x86/xen/mmu.c                      |  135 ++++++++++++++++++-
 arch/x86/xen/setup.c                    |   51 ++++++-
 arch/x86/xen/vga.c                      |   65 +++++++++
 arch/x86/xen/xen-ops.h                  |   12 ++
 drivers/char/hvc_xen.c                  |  101 +++++++++-----
 drivers/xen/events.c                    |    2 +-
 drivers/xen/xenbus/xenbus_probe.c       |   30 ++++-
 include/xen/events.h                    |    2 +
 include/xen/interface/memory.h          |   42 ++++++
 include/xen/interface/platform.h        |  232 +++++++++++++++++++++++++++++++
 include/xen/interface/xen.h             |   41 ++++++
 33 files changed, 931 insertions(+), 88 deletions(-)
 create mode 100644 arch/x86/kernel/cpu/mtrr/xen.c
 create mode 100644 arch/x86/xen/vga.c
 create mode 100644 include/xen/interface/platform.h

Thanks,
	J

^ permalink raw reply	[flat|nested] 123+ messages in thread
* Re: [PATCH] xen: core dom0 support
@ 2009-03-11 19:58 devzero
  2009-03-14  1:08 ` Morten P.D. Stevens
  0 siblings, 1 reply; 123+ messages in thread
From: devzero @ 2009-03-11 19:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Jeremy Fitzhardinge

so - after a lot of discussion about this, can we expect linux getting dom0 support or not ?

besides vmware, xen is the most important and popular virtualization solution, existing for years now.

there are still many (new) processors around which do have NO virtualization support, and if i look at the current market share of kvm based virtualization solution, i wonder why xen vs. kvm is being discussed at all.  

is dom0 support really that intrusive, especially in comparison to domU support (which is already in) ?

i think dom0 AND domU support is what users want.....

>to patched up (old) kernels for dom0.  This is a real problem because 
>all the drivers for interesting new devices are in the new kernels, so 
>there's an additional burden of backporting device support into old kernels.
>
>    J

yes. i already had big trouble to install xenserver enterprise product on several machines now, and this really sucks big !
it`s that old game: new machine, windows - no problem. linux? sles? rhel? driver disk? doh!

esx sucks because of proprietary, raped linux drivers where also half of the ones i need are enirely missing and xenserver is not better with that, as it is using an outdated dom0 kernel.....

regards
roland




List:       linux-kernel
Subject:    [PATCH] xen: core dom0 support
From:       Jeremy Fitzhardinge <jeremy () goop ! org>
Date:       2009-02-28 1:59:06
Message-ID: 1235786365-17744-1-git-send-email-jeremy () goop ! org
[Download message RAW]


Hi,

This series implements the core parts of Xen dom0 support; that is, just
enough to get the kernel started when booted by Xen as a dom0 kernel.

The Xen dom0 kernel runs as a normal paravirtualized Xen kernel, but
it also has the additional responsibilty for managing all the machine's
hardware, as Xen itself has almost no internal driver support (it barely
even knows about PCI).

This series includes:
 - setting up a Xen hvc console
 - initializing Xenbus
 - enabling IO permissions for the kernel
 - MTRR setup hooks
 - Use _PAGE_IOMAP to allow direct hardware mappings
 - add a paravirt-ops for page_is_ram, to allow Xen to exclude granted pages
 - enable the use of a vga console

Not included in this series is the hooks into apic setup; that's next.

This may be pulled from:

The following changes since commit cc2f3b455c8efa01c66b8e66df8aad1da9310901:
  Ingo Molnar (1):
        Merge branch 'sched/urgent'

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git push/xen/dom0/core

Ian Campbell (4):
      xen: disable PAT
      xen/dom0: Use host E820 map
      xen: implement XENMEM_machphys_mapping
      xen: clear reserved bits in l3 entries given in the initial pagetables

Jeremy Fitzhardinge (6):
      xen dom0: Make hvc_xen console work for dom0.
      xen-dom0: only selectively disable cpu features
      xen/dom0: use _PAGE_IOMAP in ioremap to do machine mappings
      paravirt/xen: add pvop for page_is_ram
      xen/dom0: add XEN_DOM0 config option
      xen: allow enable use of VGA console on dom0

Juan Quintela (2):
      xen dom0: Initialize xenbus for dom0.
      xen dom0: Set up basic IO permissions for dom0.

Mark McLoughlin (5):
      xen mtrr: Use specific cpu_has_foo macros instead of generic cpu_has()
      xen mtrr: Kill some unneccessary includes
      xen mtrr: Use generic_validate_add_page()
      xen mtrr: Implement xen_get_free_region()
      xen mtrr: Add xen_{get,set}_mtrr() implementations

Stephen Tweedie (2):
      xen dom0: Add support for the platform_ops hypercall
      xen mtrr: Add mtrr_ops support for Xen mtrr

 arch/x86/include/asm/page.h             |    9 +-
 arch/x86/include/asm/paravirt.h         |    7 +
 arch/x86/include/asm/pat.h              |    5 +
 arch/x86/include/asm/xen/hypercall.h    |    8 +
 arch/x86/include/asm/xen/interface.h    |    6 +-
 arch/x86/include/asm/xen/interface_32.h |    5 +
 arch/x86/include/asm/xen/interface_64.h |   13 +--
 arch/x86/include/asm/xen/page.h         |   15 +--
 arch/x86/kernel/cpu/mtrr/Makefile       |    1 +
 arch/x86/kernel/cpu/mtrr/amd.c          |    1 +
 arch/x86/kernel/cpu/mtrr/centaur.c      |    1 +
 arch/x86/kernel/cpu/mtrr/cyrix.c        |    1 +
 arch/x86/kernel/cpu/mtrr/generic.c      |    1 +
 arch/x86/kernel/cpu/mtrr/main.c         |   11 +-
 arch/x86/kernel/cpu/mtrr/mtrr.h         |    7 +
 arch/x86/kernel/cpu/mtrr/xen.c          |  120 ++++++++++++++++
 arch/x86/kernel/paravirt.c              |    1 +
 arch/x86/mm/ioremap.c                   |    2 +-
 arch/x86/mm/pat.c                       |    5 -
 arch/x86/xen/Kconfig                    |   26 ++++
 arch/x86/xen/Makefile                   |    3 +-
 arch/x86/xen/enlighten.c                |   58 ++++++--
 arch/x86/xen/mmu.c                      |  135 ++++++++++++++++++-
 arch/x86/xen/setup.c                    |   51 ++++++-
 arch/x86/xen/vga.c                      |   65 +++++++++
 arch/x86/xen/xen-ops.h                  |   12 ++
 drivers/char/hvc_xen.c                  |  101 +++++++++-----
 drivers/xen/events.c                    |    2 +-
 drivers/xen/xenbus/xenbus_probe.c       |   30 ++++-
 include/xen/events.h                    |    2 +
 include/xen/interface/memory.h          |   42 ++++++
 include/xen/interface/platform.h        |  232 +++++++++++++++++++++++++++++++
 include/xen/interface/xen.h             |   41 ++++++
 33 files changed, 931 insertions(+), 88 deletions(-)
 create mode 100644 arch/x86/kernel/cpu/mtrr/xen.c
 create mode 100644 arch/x86/xen/vga.c
 create mode 100644 include/xen/interface/platform.h

Thanks,
	J

_______________________________________________________________________
DSL zum Nulltarif + 20 Euro Extraprämie bei Online-Bestellung über die
DSL Freundschaftswerbung! http://dsl.web.de/?ac=OM.AD.AD008K15279B7069a


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

end of thread, other threads:[~2009-03-14  1:09 UTC | newest]

Thread overview: 123+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-28  1:59 [PATCH] xen: core dom0 support Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen dom0: Make hvc_xen console work for dom0 Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen dom0: Initialize xenbus " Jeremy Fitzhardinge
2009-02-28  1:59   ` Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen dom0: Set up basic IO permissions " Jeremy Fitzhardinge
2009-02-28  1:59   ` Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen-dom0: only selectively disable cpu features Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen dom0: Add support for the platform_ops hypercall Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen mtrr: Add mtrr_ops support for Xen mtrr Jeremy Fitzhardinge
2009-02-28  1:59   ` Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen: disable PAT Jeremy Fitzhardinge
2009-02-28  1:59   ` Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen/dom0: use _PAGE_IOMAP in ioremap to do machine mappings Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] paravirt/xen: add pvop for page_is_ram Jeremy Fitzhardinge
2009-03-10  1:07   ` H. Peter Anvin
2009-03-10 21:19     ` Jeremy Fitzhardinge
2009-03-10 21:19       ` Jeremy Fitzhardinge
2009-03-10 22:21       ` H. Peter Anvin
2009-03-10 22:44         ` Jeremy Fitzhardinge
2009-03-10 22:44           ` Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen/dom0: Use host E820 map Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen: implement XENMEM_machphys_mapping Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen: clear reserved bits in l3 entries given in the initial pagetables Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen/dom0: add XEN_DOM0 config option Jeremy Fitzhardinge
2009-02-28  1:59   ` Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen: allow enable use of VGA console on dom0 Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen mtrr: Use specific cpu_has_foo macros instead of generic cpu_has() Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen mtrr: Kill some unneccessary includes Jeremy Fitzhardinge
2009-02-28  1:59   ` Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen mtrr: Use generic_validate_add_page() Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen mtrr: Implement xen_get_free_region() Jeremy Fitzhardinge
2009-02-28  1:59 ` [PATCH] xen mtrr: Add xen_{get,set}_mtrr() implementations Jeremy Fitzhardinge
2009-02-28  5:28 ` [PATCH] xen: core dom0 support Andrew Morton
2009-02-28  6:52   ` Jeremy Fitzhardinge
2009-02-28  6:52     ` Jeremy Fitzhardinge
2009-02-28  7:20     ` Ingo Molnar
2009-02-28  7:20       ` Ingo Molnar
2009-02-28  8:05       ` Jeremy Fitzhardinge
2009-02-28  8:05         ` Jeremy Fitzhardinge
2009-02-28  8:36         ` Ingo Molnar
2009-02-28  8:36           ` Ingo Molnar
2009-02-28  9:57           ` Jeremy Fitzhardinge
2009-02-28  9:57             ` Jeremy Fitzhardinge
2009-03-02  9:26       ` Gerd Hoffmann
2009-03-02  9:26         ` Gerd Hoffmann
2009-03-02 12:04         ` Ingo Molnar
2009-03-02 12:04           ` Ingo Molnar
2009-03-02 12:26           ` Gerd Hoffmann
2009-03-02 12:26             ` Gerd Hoffmann
2009-02-28 12:09     ` Nick Piggin
2009-02-28 12:09       ` Nick Piggin
2009-02-28 18:11       ` [Xen-devel] " Jody Belka
2009-02-28 18:11         ` Jody Belka
2009-02-28 18:15         ` Andi Kleen
2009-03-01 23:38           ` Jeremy Fitzhardinge
2009-03-01 23:38             ` Jeremy Fitzhardinge
2009-03-02  0:14             ` Andi Kleen
2009-03-01 23:27       ` Jeremy Fitzhardinge
2009-03-01 23:27         ` Jeremy Fitzhardinge
2009-03-02  6:37         ` Nick Piggin
2009-03-02  6:37           ` Nick Piggin
2009-03-02  8:05           ` Jeremy Fitzhardinge
2009-03-02  8:05             ` Jeremy Fitzhardinge
2009-03-02  8:19             ` Nick Piggin
2009-03-02  8:19               ` Nick Piggin
2009-03-02  9:05               ` Jeremy Fitzhardinge
2009-03-04 17:34             ` Anthony Liguori
2009-03-04 17:34               ` Anthony Liguori
2009-03-04 17:38               ` Jeremy Fitzhardinge
2009-03-04 17:38                 ` Jeremy Fitzhardinge
2009-03-05 10:59               ` [Xen-devel] " George Dunlap
2009-03-05 10:59                 ` George Dunlap
2009-03-05 14:37                 ` [Xen-devel] " Anthony Liguori
2009-03-05 14:37                   ` Anthony Liguori
2009-03-04 17:31           ` Anthony Liguori
2009-03-04 17:31             ` Anthony Liguori
2009-03-04 19:03         ` Anthony Liguori
2009-03-04 19:16           ` H. Peter Anvin
2009-03-04 19:33             ` Anthony Liguori
2009-03-04 19:33               ` Anthony Liguori
2009-02-28 16:14     ` Andi Kleen
2009-03-01 23:34       ` Jeremy Fitzhardinge
2009-03-01 23:34         ` Jeremy Fitzhardinge
2009-03-01 23:52         ` H. Peter Anvin
2009-03-02  0:08           ` Jeremy Fitzhardinge
2009-03-02  0:08             ` Jeremy Fitzhardinge
2009-03-02  0:14             ` H. Peter Anvin
2009-03-02  0:42               ` Jeremy Fitzhardinge
2009-03-02  0:42                 ` Jeremy Fitzhardinge
2009-03-02  0:46                 ` H. Peter Anvin
2009-03-02  0:10         ` Andi Kleen
2009-02-28  8:42   ` Ingo Molnar
2009-02-28  8:42     ` Ingo Molnar
2009-02-28  9:46     ` Jeremy Fitzhardinge
2009-02-28  9:46       ` Jeremy Fitzhardinge
2009-03-02 12:08       ` Ingo Molnar
2009-03-02 12:08         ` Ingo Molnar
2009-03-07  9:06         ` Jeremy Fitzhardinge
2009-03-07  9:06           ` Jeremy Fitzhardinge
2009-03-08 11:01           ` Ingo Molnar
2009-03-08 11:01             ` Ingo Molnar
2009-03-08 21:56             ` H. Peter Anvin
2009-03-08 22:06               ` Ingo Molnar
2009-03-08 22:06                 ` Ingo Molnar
2009-03-08 22:08                 ` H. Peter Anvin
2009-03-08 22:12                   ` Ingo Molnar
2009-03-08 22:12                     ` Ingo Molnar
2009-03-09 18:06                     ` Jeremy Fitzhardinge
2009-03-09 18:06                       ` Jeremy Fitzhardinge
2009-03-10 12:44                       ` Ingo Molnar
2009-03-10 12:44                         ` Ingo Molnar
2009-03-10 12:49                       ` Nick Piggin
2009-03-10 12:49                         ` Nick Piggin
2009-03-05 13:52   ` Morten P.D. Stevens
2009-03-08 14:25     ` Manfred Knick
2009-03-09 19:51       ` Morten P.D. Stevens
2009-03-09 20:00       ` Morten P.D. Stevens
2009-02-28  6:17 ` Boris Derzhavets
2009-02-28  6:23   ` [Xen-devel] " Jeremy Fitzhardinge
2009-02-28  6:23     ` Jeremy Fitzhardinge
2009-02-28  6:28     ` Boris Derzhavets
2009-03-11 19:58 devzero
2009-03-14  1:08 ` Morten P.D. Stevens

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.