public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] xen: initial domain support
@ 2010-09-28 12:16 Stefano Stabellini
  2010-09-28 12:16 ` [PATCH 01/12] xen: remap GSIs as pirqs when running as initial domain stefano.stabellini
                   ` (11 more replies)
  0 siblings, 12 replies; 26+ messages in thread
From: Stefano Stabellini @ 2010-09-28 12:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: xen-devel, Jeremy Fitzhardinge, Stefano Stabellini

Hi all,
this series implements the basic support needed to boot Linux as initial
domain on Xen: the target is not to add full featured dom0 support in
the kernel but to be able to boot Linux on Xen on native.
We tried to minimize the impact to generic x86 code and interfaces and
as you can see from the diffstat below we were able to reduce them
significantly. The only generic code modifications regard mtrr setups
(see the last two patches in the series).


This series depends on two other patch series not yet applied but
already sent to the list for comments a little while back:

Konrad's "Xen PCI frontend driver" series
http://lkml.org/lkml/2010/8/4/374

my "PV on HVM: receive interrupts as xen events" series
http://lkml.org/lkml/2010/8/30/170


The list of patches with a diffstat follows:

Ian Campbell (1):
      xen: use host E820 map for dom0

Jeremy Fitzhardinge (3):
      xen: remap GSIs as pirqs when running as initial domain
      xen: map a dummy page for local apic and ioapic in xen_set_fixmap
      xen: make hvc_xen console work for dom0.

Juan Quintela (2):
      xen: Initialize xenbus for dom0.
      xen: add the direct mapping area for ISA bus access

Qing He (1):
      xen: remap MSIs into pirqs when running as initial domain

Stefano Stabellini (2):
      xen: use vcpu_ops to setup cpu masks
      xen: introduce XEN_DOM0 as a silent option

Stephen Tweedie (3):
      xen: add support for the platform_ops hypercall
      x86/mtrr: Extend mtrr_if to include num_var_ranges
      xen/mtrr: Add mtrr_if support for Xen mtrr

 arch/x86/include/asm/xen/hypercall.h |    8 ++
 arch/x86/kernel/cpu/mtrr/Makefile    |    2 +-
 arch/x86/kernel/cpu/mtrr/amd.c       |    6 +
 arch/x86/kernel/cpu/mtrr/centaur.c   |    6 +
 arch/x86/kernel/cpu/mtrr/cyrix.c     |    6 +
 arch/x86/kernel/cpu/mtrr/generic.c   |    8 ++
 arch/x86/kernel/cpu/mtrr/main.c      |   20 +---
 arch/x86/kernel/cpu/mtrr/mtrr.h      |    8 ++
 arch/x86/kernel/cpu/mtrr/xen.c       |  110 +++++++++++++++++++
 arch/x86/pci/xen.c                   |  199 ++++++++++++++++++++++++++++++----
 arch/x86/xen/Kconfig                 |    5 +
 arch/x86/xen/enlighten.c             |    1 +
 arch/x86/xen/mmu.c                   |   47 ++++++++-
 arch/x86/xen/setup.c                 |   46 ++++++++-
 arch/x86/xen/smp.c                   |    8 ++-
 drivers/char/hvc_xen.c               |   98 +++++++++++------
 drivers/xen/events.c                 |   73 ++++++++++++-
 drivers/xen/xenbus/xenbus_probe.c    |   29 +++++-
 include/xen/events.h                 |    5 +
 include/xen/interface/memory.h       |   28 +++++
 include/xen/interface/physdev.h      |   10 ++
 include/xen/interface/platform.h     |   96 ++++++++++++++++
 22 files changed, 741 insertions(+), 78 deletions(-)


A git tree with this and the other two series on top of Linux 2.6.36-rc1
is available here:

git://xenbits.xen.org/people/sstabellini/linux-pvhvm.git 2.6.36-rc1-initial-domain

Cheers,

Stefano Stabellini


^ permalink raw reply	[flat|nested] 26+ messages in thread
* Re: [PATCH 12/12] xen/mtrr: Add mtrr_if support for Xen mtrr
@ 2010-09-28 13:19 Sander Eikelenboom
  0 siblings, 0 replies; 26+ messages in thread
From: Sander Eikelenboom @ 2010-09-28 13:19 UTC (permalink / raw)
  To: mingo, Jeremy Fitzhardinge, Stefano Stabellini
  Cc: linux-kernel, xen-devel@lists.xensource.com, x86

>* stefano.stabellini@xxxxxxxxxxxxx <stefano.stabellini@xxxxxxxxxxxxx> wrote:
>
>> From: Stephen Tweedie <sct@xxxxxxxxxx>
>> 
>> Add a Xen mtrr type, and reorganise mtrr initialisation slightly to
>> allow the mtrr driver to set up num_var_ranges (Xen needs to do this by
>> querying the hypervisor itself.)
>> 
>> [ Impact: add basic MTRR support ]
>> 
>> Signed-off-by: Stephen Tweedie <sct@xxxxxxxxxx>
>> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
>> ---
>> arch/x86/kernel/cpu/mtrr/Makefile | 2 +-
>> arch/x86/kernel/cpu/mtrr/main.c | 3 +
>> arch/x86/kernel/cpu/mtrr/mtrr.h | 7 ++
>> arch/x86/kernel/cpu/mtrr/xen.c | 110 +++++++++++++++++++++++++++++++++++++
> 4 files changed, 121 insertions(+), 1 deletions(-)
> create mode 100644 arch/x86/kernel/cpu/mtrr/xen.c
>
>Still NAK, for the very same reasons as we NAK-ed it the previous time: 
>/proc/mtrr is a problematic and complicated legacy interface that should 
>die. Any modern X server will do the right thing via PAT.
>
>Also, please get the Ack of at least one x86 maintainer for x86 patches.
>
>Thanks,
>
>Ingo
>--
>

I can't find the MTRR API to be officially deprecated with any schedule for removal (at least i couldn't find it in feature-removal-schedule.txt).
KVM has had patches for MTRR as well, if it's so deprecated .. why has it ? .. legacy support for a not officially deprecated API perhaps ? To support CPU's that support MTRR but not PAT ?

If you think the MTRR interface should die, and should die fast, why hasn't it been added to feature-removal-schedule.txt for a complete removal in a not so distant future, since this is the only way to force all users to switch to PAT.

Perhaps it would be fair to ask for a working PAT implementation besides MTRR, but since it is not officially deprecated completely objecting a MTRR one just for Xen seems a bit unfair to me.

--
Sander


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

end of thread, other threads:[~2010-09-28 19:05 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-28 12:16 [PATCH 00/12] xen: initial domain support Stefano Stabellini
2010-09-28 12:16 ` [PATCH 01/12] xen: remap GSIs as pirqs when running as initial domain stefano.stabellini
2010-09-28 12:16 ` [PATCH 02/12] xen: remap MSIs into " stefano.stabellini
2010-09-28 12:16 ` [PATCH 03/12] xen: map a dummy page for local apic and ioapic in xen_set_fixmap stefano.stabellini
2010-09-28 12:16 ` [PATCH 04/12] xen: use vcpu_ops to setup cpu masks stefano.stabellini
2010-09-28 12:16 ` [PATCH 05/12] xen: Initialize xenbus for dom0 stefano.stabellini
2010-09-28 12:16 ` [PATCH 06/12] xen: add the direct mapping area for ISA bus access stefano.stabellini
2010-09-28 12:16 ` [PATCH 07/12] xen: introduce XEN_DOM0 as a silent option stefano.stabellini
2010-09-28 12:16 ` [PATCH 08/12] xen: use host E820 map for dom0 stefano.stabellini
2010-09-28 12:16 ` [PATCH 09/12] xen: make hvc_xen console work " stefano.stabellini
2010-09-28 12:16 ` [PATCH 10/12] xen: add support for the platform_ops hypercall stefano.stabellini
2010-09-28 12:16 ` [PATCH 11/12] x86/mtrr: Extend mtrr_if to include num_var_ranges stefano.stabellini
2010-09-28 12:16 ` [PATCH 12/12] xen/mtrr: Add mtrr_if support for Xen mtrr stefano.stabellini
2010-09-28 12:39   ` Ingo Molnar
2010-09-28 14:00     ` Stefano Stabellini
2010-09-28 17:13       ` Jeremy Fitzhardinge
2010-09-28 17:19         ` Stefano Stabellini
2010-09-28 17:56         ` H. Peter Anvin
2010-09-28 18:13           ` Jeremy Fitzhardinge
2010-09-28 18:19             ` H. Peter Anvin
2010-09-28 18:24               ` Jeremy Fitzhardinge
2010-09-28 18:46                 ` H. Peter Anvin
2010-09-28 18:58                   ` Jeremy Fitzhardinge
2010-09-28 19:05                     ` H. Peter Anvin
2010-09-28 17:14     ` Jeremy Fitzhardinge
  -- strict thread matches above, loose matches on Subject: below --
2010-09-28 13:19 Sander Eikelenboom

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox