Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-07-03 Thread Tim Deegan
At 07:52 -0400 on 24 Jun (1435132373), Boris Ostrovsky wrote:
> On 06/24/2015 06:14 AM, Roger Pau Monné wrote:
> > El 24/06/15 a les 12.05, Jan Beulich ha escrit:
> > On 24.06.15 at 11:47,  wrote:
> >>> What needs to be done (ordered by priority):
> >>>
> >>>   - Clean up the patches, this patch series was done in less than a week.
> >>>   - Finish the boot ABI (this would also be needed for PVH anyway).
> >>>   - Convert the rest of xc_dom_*loaders in order to use the physical
> >>> entry point when present, right now xc_dom_elfloader is the only one
> >>> usable with HVMlite. This is quite trivial (see patch 10, it's a 4
> >>> LOC change).
> >>>   - Dom0 support.
> >>>   - Migration.
> >>>   - PCI pass-through.
> >>>
> >>> IMHO this is what we agreed to do with PVH, make it an HVM guest without
> >>> a device model and without the emulated devices inside of Xen. Sooner or
> >>> later we would need to make that change anyway in order to properly
> >>> integrate PVH into Xen, and we get a bunch of new features for free as
> >>> compared to PVH.
> >>>
> >>> I don't think of this as "throw PVH out of the window and start
> >>> something completely new from scratch", we are going to reuse some of
> >>> the code paths used by PVH inside of Xen. From a guest POV the changes
> >>> needed to move from PVH into HVMlite are regarding the boot ABI only,
> >>> which we already agreed that should be changed anyway.
> >> I have to admit that I'm having a hard time making myself a clear
> >> picture of what the intention now is, namely with feature freeze
> >> being in about 2.5 weeks: If we assume that this series gets ready
> >> in time, should we drop Boris' 32-bit support patches? Would then
> >> be unfortunate if the series here didn't get ready.
> > TBH I'm not going to make any promises of this being ready before the
> > 4.6 feature freeze, not until I get some feedback from the tools
> > maintainers regarding the libxc changes to unify the PV and HVM domain
> > creation paths.
> 
> FWIW, I gave this a quick spin on Monday and crashed the hypervisor on a 
> NULL pointer right away in vapic code. Which, I assume, is not 
> surprising since we are not supposed to be there in the first place.
> 
> I'll try it again later today (I was out yesterday), maybe I messed 
> something up.
> 
> >
> >> Otoh I don't think this and Boris' code conflict, and what we got in
> >> the tree PVH-wise is kind of a mess right now anyway, so adding to
> >> it just a few more bits (actually getting rid of some fixme-s, i.e.
> >> reducing messiness), so I'd be inclined to take the rest of Boris'
> >> series once ready, and if the series here gets ready too it could
> >> then also go in. Which would then mean for someone (perhaps
> >> after 4.6 was branched) to clean up any no longer necessary
> >> PVH special cases, unifying things towards what we seem to now
> >> call HVMlite.
> > I'm not against merging the 32bit support series for PVH, but I'm
> > certainly not going to invest time in adding 32bit PVH entry points to
> > any OSes.
> 
> What about Tim's proposal 
> (http://lists.xen.org/archives/html/xen-devel/2014-12/msg00596.html)? 
> Can this work be made part of it? At least, make it extendable to that?

FWIW, I think this new scheme (start at HVM and remove things) is
approaching the same end result from the other direction: Xen itself
no longer needs to have a concept of PVH, and the guests get to keep
their useful new interface.  As such, I heartily approve. :)

Cheers,

Tim.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-24 Thread Stefano Stabellini
On Wed, 24 Jun 2015, Boris Ostrovsky wrote:
> On 06/24/2015 09:26 AM, Stefano Stabellini wrote:
> > On Wed, 24 Jun 2015, Roger Pau Monné wrote:
> >
> > >   - PCI pass-through.
> > Do we really need PCI pass-through? I see HVMlite mostly useful for
> > Dom0, but also for higher security Linux and BSD guests. If a user wants
> > PCI pass-through, she can always use PV on HVM.
>
> Why is this model not useful for a generic domU? I thought that it should
> eventually become a replacement for what we now have as PVH?

It is useful as generic DomU because it provides a smaller surface of
attack compared to PV on HVM guests. At the same time using PCI
pass-through increases that surface of attack again, decreasing the
value of HVMLite/PVH, at least in my view. But you are right that it
might be nice to have it for feature completeness, if nothing else.___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-24 Thread Boris Ostrovsky

On 06/24/2015 09:26 AM, Stefano Stabellini wrote:

On Wed, 24 Jun 2015, Roger Pau Monné wrote:


  - PCI pass-through.

Do we really need PCI pass-through? I see HVMlite mostly useful for
Dom0, but also for higher security Linux and BSD guests. If a user wants
PCI pass-through, she can always use PV on HVM.


Why is this model not useful for a generic domU? I thought that it 
should eventually become a replacement for what we now have as PVH?


-boris



___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-24 Thread Konrad Rzeszutek Wilk
On Wed, Jun 24, 2015 at 02:04:45PM +0200, Roger Pau Monné wrote:
> El 24/06/15 a les 13.52, Boris Ostrovsky ha escrit:
> > On 06/24/2015 06:14 AM, Roger Pau Monné wrote:
> >> El 24/06/15 a les 12.05, Jan Beulich ha escrit:
> >> On 24.06.15 at 11:47,  wrote:
>  What needs to be done (ordered by priority):
> 
>    - Clean up the patches, this patch series was done in less than a
>  week.
>    - Finish the boot ABI (this would also be needed for PVH anyway).
>    - Convert the rest of xc_dom_*loaders in order to use the physical
>  entry point when present, right now xc_dom_elfloader is the only
>  one
>  usable with HVMlite. This is quite trivial (see patch 10, it's a 4
>  LOC change).
>    - Dom0 support.
>    - Migration.
>    - PCI pass-through.
> 
>  IMHO this is what we agreed to do with PVH, make it an HVM guest
>  without
>  a device model and without the emulated devices inside of Xen.
>  Sooner or
>  later we would need to make that change anyway in order to properly
>  integrate PVH into Xen, and we get a bunch of new features for free as
>  compared to PVH.
> 
>  I don't think of this as "throw PVH out of the window and start
>  something completely new from scratch", we are going to reuse some of
>  the code paths used by PVH inside of Xen. From a guest POV the changes
>  needed to move from PVH into HVMlite are regarding the boot ABI only,
>  which we already agreed that should be changed anyway.
> >>> I have to admit that I'm having a hard time making myself a clear
> >>> picture of what the intention now is, namely with feature freeze
> >>> being in about 2.5 weeks: If we assume that this series gets ready
> >>> in time, should we drop Boris' 32-bit support patches? Would then
> >>> be unfortunate if the series here didn't get ready.
> >> TBH I'm not going to make any promises of this being ready before the
> >> 4.6 feature freeze, not until I get some feedback from the tools
> >> maintainers regarding the libxc changes to unify the PV and HVM domain
> >> creation paths.
> > 
> > FWIW, I gave this a quick spin on Monday and crashed the hypervisor on a
> > NULL pointer right away in vapic code. Which, I assume, is not
> > surprising since we are not supposed to be there in the first place.
> > 
> > I'll try it again later today (I was out yesterday), maybe I messed
> > something up.
> 
> Yes, feature disabling is still not 100% done I'm afraid. For example if
> your hw supports vAPIC it will be enabled anyway, which can then lead to
> all kinds of trouble. As said, this is very initial and I've only tested
> it on one Nehalem box which doesn't have vAPIC.
> 
> >>
> >>> Otoh I don't think this and Boris' code conflict, and what we got in
> >>> the tree PVH-wise is kind of a mess right now anyway, so adding to
> >>> it just a few more bits (actually getting rid of some fixme-s, i.e.
> >>> reducing messiness), so I'd be inclined to take the rest of Boris'
> >>> series once ready, and if the series here gets ready too it could
> >>> then also go in. Which would then mean for someone (perhaps
> >>> after 4.6 was branched) to clean up any no longer necessary
> >>> PVH special cases, unifying things towards what we seem to now
> >>> call HVMlite.
> >> I'm not against merging the 32bit support series for PVH, but I'm
> >> certainly not going to invest time in adding 32bit PVH entry points to
> >> any OSes.
> > 
> > What about Tim's proposal
> > (http://lists.xen.org/archives/html/xen-devel/2014-12/msg00596.html)?
> > Can this work be made part of it? At least, make it extendable to that?
> 
> Yes, the aim of this work is to address some of the points expressed in
> that email, mainly merge PVH into HVM. But as we have already spoken,
> the entry point of HVMlite or whatever we call it is going to be
> different from the traditional PV/PVH entry point.

Right. If you were to take a sharpie where would you put in the 
list that Tim had written out?

And to my eye - it looks as the HVMLIte boot entry and the old PVH
bootpaths can co-exist for some time until they get merged together?

This would have the nice benefit of being able to troubleshoot
issues easier as you have an existing codepath for 'old-PVH' 
and new bootup path and can figure out what is missing to make it work
(with the Linux kernel at least).

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-24 Thread Stefano Stabellini
On Wed, 24 Jun 2015, Roger Pau Monné wrote:
> El 23/06/15 a les 12.55, Stefano Stabellini ha escrit:
> > On Mon, 22 Jun 2015, Konrad Rzeszutek Wilk wrote:
> >> On Mon, Jun 22, 2015 at 06:55:12PM +0100, Stefano Stabellini wrote:
> >>> Hi Roger,
> >>>
> >>> given that this patch series is actually using the Xen "hvm" builder, I
> >>> take that all the PVH code paths in Xen or the guest kernel are not
> >>> actually used, correct? This is more like PV on HVM without QEMU, right?
> >>
> >> Are you saying it should be called now 'HVM-diet' ? Or 'HVMlite' instead
> >> of PVH since it is looking at this from the HVM perspective instead of PVH?
> >
> > HVMlite doesn't sound bad :-)
> >
> > I don't know if we should introduce a new name for this, but I wanted to
> > point out that this is different from PVH from Xen point of view. In
> > particular most of the outstanding PVH work items (32bit, AMD) on the
> > hypervisor would be redudant if we get this to work, right? If that is
> > the case, then I think it is best we agree on which road we want to take
> > going forward as soon as possible to avoid duplicated or wasted efforts.
> >
> > In fact it is not clear to me if/when we get this to work, what would be
> > the remaining open issues to complete "HVMlite". Roger?
>
> The following items are already working out of the box with the current
> patch set:
>
>  - 32bit* and 64bit guest modes.
>  - Intel support.
>  - AMD support**.
>  - HAP support.
>  - Shadow support.
>
> *  32bit CPU mode works, but I don't think 32bit hypercalls will work,
>see Jan's reply to patch 11. I plan to fix this in the next
>iteration.
> ** Untested.
>
>
> What needs to be done (ordered by priority):
>
>  - Clean up the patches, this patch series was done in less than a week.
>  - Finish the boot ABI (this would also be needed for PVH anyway).
>  - Convert the rest of xc_dom_*loaders in order to use the physical
>entry point when present, right now xc_dom_elfloader is the only one
>usable with HVMlite. This is quite trivial (see patch 10, it's a 4
>LOC change).
>  - Dom0 support.

What do you think that Dom0 support is going to entail?


>  - Migration.

This is just HVM migration minus saving/restoring the QEMU state file,
isn't it?


>  - PCI pass-through.

Do we really need PCI pass-through? I see HVMlite mostly useful for
Dom0, but also for higher security Linux and BSD guests. If a user wants
PCI pass-through, she can always use PV on HVM.

Or do you mean allowing PCI pass-through to HVM guests on an HVMlite
Dom0?


> IMHO this is what we agreed to do with PVH, make it an HVM guest without
> a device model and without the emulated devices inside of Xen. Sooner or
> later we would need to make that change anyway in order to properly
> integrate PVH into Xen, and we get a bunch of new features for free as
> compared to PVH.
>
> I don't think of this as "throw PVH out of the window and start
> something completely new from scratch", we are going to reuse some of
> the code paths used by PVH inside of Xen. From a guest POV the changes
> needed to move from PVH into HVMlite are regarding the boot ABI only,
> which we already agreed that should be changed anyway.

Sure, I just wanted to highlight that some work items could become
redundant so that we don't waste any time on those.___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-24 Thread Roger Pau Monné
El 24/06/15 a les 13.52, Boris Ostrovsky ha escrit:
> On 06/24/2015 06:14 AM, Roger Pau Monné wrote:
>> El 24/06/15 a les 12.05, Jan Beulich ha escrit:
>> On 24.06.15 at 11:47,  wrote:
 What needs to be done (ordered by priority):

   - Clean up the patches, this patch series was done in less than a
 week.
   - Finish the boot ABI (this would also be needed for PVH anyway).
   - Convert the rest of xc_dom_*loaders in order to use the physical
 entry point when present, right now xc_dom_elfloader is the only
 one
 usable with HVMlite. This is quite trivial (see patch 10, it's a 4
 LOC change).
   - Dom0 support.
   - Migration.
   - PCI pass-through.

 IMHO this is what we agreed to do with PVH, make it an HVM guest
 without
 a device model and without the emulated devices inside of Xen.
 Sooner or
 later we would need to make that change anyway in order to properly
 integrate PVH into Xen, and we get a bunch of new features for free as
 compared to PVH.

 I don't think of this as "throw PVH out of the window and start
 something completely new from scratch", we are going to reuse some of
 the code paths used by PVH inside of Xen. From a guest POV the changes
 needed to move from PVH into HVMlite are regarding the boot ABI only,
 which we already agreed that should be changed anyway.
>>> I have to admit that I'm having a hard time making myself a clear
>>> picture of what the intention now is, namely with feature freeze
>>> being in about 2.5 weeks: If we assume that this series gets ready
>>> in time, should we drop Boris' 32-bit support patches? Would then
>>> be unfortunate if the series here didn't get ready.
>> TBH I'm not going to make any promises of this being ready before the
>> 4.6 feature freeze, not until I get some feedback from the tools
>> maintainers regarding the libxc changes to unify the PV and HVM domain
>> creation paths.
> 
> FWIW, I gave this a quick spin on Monday and crashed the hypervisor on a
> NULL pointer right away in vapic code. Which, I assume, is not
> surprising since we are not supposed to be there in the first place.
> 
> I'll try it again later today (I was out yesterday), maybe I messed
> something up.

Yes, feature disabling is still not 100% done I'm afraid. For example if
your hw supports vAPIC it will be enabled anyway, which can then lead to
all kinds of trouble. As said, this is very initial and I've only tested
it on one Nehalem box which doesn't have vAPIC.

>>
>>> Otoh I don't think this and Boris' code conflict, and what we got in
>>> the tree PVH-wise is kind of a mess right now anyway, so adding to
>>> it just a few more bits (actually getting rid of some fixme-s, i.e.
>>> reducing messiness), so I'd be inclined to take the rest of Boris'
>>> series once ready, and if the series here gets ready too it could
>>> then also go in. Which would then mean for someone (perhaps
>>> after 4.6 was branched) to clean up any no longer necessary
>>> PVH special cases, unifying things towards what we seem to now
>>> call HVMlite.
>> I'm not against merging the 32bit support series for PVH, but I'm
>> certainly not going to invest time in adding 32bit PVH entry points to
>> any OSes.
> 
> What about Tim's proposal
> (http://lists.xen.org/archives/html/xen-devel/2014-12/msg00596.html)?
> Can this work be made part of it? At least, make it extendable to that?

Yes, the aim of this work is to address some of the points expressed in
that email, mainly merge PVH into HVM. But as we have already spoken,
the entry point of HVMlite or whatever we call it is going to be
different from the traditional PV/PVH entry point.

Roger.


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-24 Thread Boris Ostrovsky

On 06/24/2015 06:14 AM, Roger Pau Monné wrote:

El 24/06/15 a les 12.05, Jan Beulich ha escrit:

On 24.06.15 at 11:47,  wrote:

What needs to be done (ordered by priority):

  - Clean up the patches, this patch series was done in less than a week.
  - Finish the boot ABI (this would also be needed for PVH anyway).
  - Convert the rest of xc_dom_*loaders in order to use the physical
entry point when present, right now xc_dom_elfloader is the only one
usable with HVMlite. This is quite trivial (see patch 10, it's a 4
LOC change).
  - Dom0 support.
  - Migration.
  - PCI pass-through.

IMHO this is what we agreed to do with PVH, make it an HVM guest without
a device model and without the emulated devices inside of Xen. Sooner or
later we would need to make that change anyway in order to properly
integrate PVH into Xen, and we get a bunch of new features for free as
compared to PVH.

I don't think of this as "throw PVH out of the window and start
something completely new from scratch", we are going to reuse some of
the code paths used by PVH inside of Xen. From a guest POV the changes
needed to move from PVH into HVMlite are regarding the boot ABI only,
which we already agreed that should be changed anyway.

I have to admit that I'm having a hard time making myself a clear
picture of what the intention now is, namely with feature freeze
being in about 2.5 weeks: If we assume that this series gets ready
in time, should we drop Boris' 32-bit support patches? Would then
be unfortunate if the series here didn't get ready.

TBH I'm not going to make any promises of this being ready before the
4.6 feature freeze, not until I get some feedback from the tools
maintainers regarding the libxc changes to unify the PV and HVM domain
creation paths.


FWIW, I gave this a quick spin on Monday and crashed the hypervisor on a 
NULL pointer right away in vapic code. Which, I assume, is not 
surprising since we are not supposed to be there in the first place.


I'll try it again later today (I was out yesterday), maybe I messed 
something up.





Otoh I don't think this and Boris' code conflict, and what we got in
the tree PVH-wise is kind of a mess right now anyway, so adding to
it just a few more bits (actually getting rid of some fixme-s, i.e.
reducing messiness), so I'd be inclined to take the rest of Boris'
series once ready, and if the series here gets ready too it could
then also go in. Which would then mean for someone (perhaps
after 4.6 was branched) to clean up any no longer necessary
PVH special cases, unifying things towards what we seem to now
call HVMlite.

I'm not against merging the 32bit support series for PVH, but I'm
certainly not going to invest time in adding 32bit PVH entry points to
any OSes.


What about Tim's proposal 
(http://lists.xen.org/archives/html/xen-devel/2014-12/msg00596.html)? 
Can this work be made part of it? At least, make it extendable to that?


-boris

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-24 Thread Roger Pau Monné
El 24/06/15 a les 12.05, Jan Beulich ha escrit:
 On 24.06.15 at 11:47,  wrote:
>> What needs to be done (ordered by priority):
>>
>>  - Clean up the patches, this patch series was done in less than a week.
>>  - Finish the boot ABI (this would also be needed for PVH anyway).
>>  - Convert the rest of xc_dom_*loaders in order to use the physical
>>entry point when present, right now xc_dom_elfloader is the only one
>>usable with HVMlite. This is quite trivial (see patch 10, it's a 4
>>LOC change).
>>  - Dom0 support.
>>  - Migration.
>>  - PCI pass-through.
>>
>> IMHO this is what we agreed to do with PVH, make it an HVM guest without
>> a device model and without the emulated devices inside of Xen. Sooner or
>> later we would need to make that change anyway in order to properly
>> integrate PVH into Xen, and we get a bunch of new features for free as
>> compared to PVH.
>>
>> I don't think of this as "throw PVH out of the window and start
>> something completely new from scratch", we are going to reuse some of
>> the code paths used by PVH inside of Xen. From a guest POV the changes
>> needed to move from PVH into HVMlite are regarding the boot ABI only,
>> which we already agreed that should be changed anyway.
> 
> I have to admit that I'm having a hard time making myself a clear
> picture of what the intention now is, namely with feature freeze
> being in about 2.5 weeks: If we assume that this series gets ready
> in time, should we drop Boris' 32-bit support patches? Would then
> be unfortunate if the series here didn't get ready.

TBH I'm not going to make any promises of this being ready before the
4.6 feature freeze, not until I get some feedback from the tools
maintainers regarding the libxc changes to unify the PV and HVM domain
creation paths.

> Otoh I don't think this and Boris' code conflict, and what we got in
> the tree PVH-wise is kind of a mess right now anyway, so adding to
> it just a few more bits (actually getting rid of some fixme-s, i.e.
> reducing messiness), so I'd be inclined to take the rest of Boris'
> series once ready, and if the series here gets ready too it could
> then also go in. Which would then mean for someone (perhaps
> after 4.6 was branched) to clean up any no longer necessary
> PVH special cases, unifying things towards what we seem to now
> call HVMlite.

I'm not against merging the 32bit support series for PVH, but I'm
certainly not going to invest time in adding 32bit PVH entry points to
any OSes.

Roger.


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-24 Thread Jan Beulich
>>> On 24.06.15 at 11:47,  wrote:
> What needs to be done (ordered by priority):
> 
>  - Clean up the patches, this patch series was done in less than a week.
>  - Finish the boot ABI (this would also be needed for PVH anyway).
>  - Convert the rest of xc_dom_*loaders in order to use the physical
>entry point when present, right now xc_dom_elfloader is the only one
>usable with HVMlite. This is quite trivial (see patch 10, it's a 4
>LOC change).
>  - Dom0 support.
>  - Migration.
>  - PCI pass-through.
> 
> IMHO this is what we agreed to do with PVH, make it an HVM guest without
> a device model and without the emulated devices inside of Xen. Sooner or
> later we would need to make that change anyway in order to properly
> integrate PVH into Xen, and we get a bunch of new features for free as
> compared to PVH.
> 
> I don't think of this as "throw PVH out of the window and start
> something completely new from scratch", we are going to reuse some of
> the code paths used by PVH inside of Xen. From a guest POV the changes
> needed to move from PVH into HVMlite are regarding the boot ABI only,
> which we already agreed that should be changed anyway.

I have to admit that I'm having a hard time making myself a clear
picture of what the intention now is, namely with feature freeze
being in about 2.5 weeks: If we assume that this series gets ready
in time, should we drop Boris' 32-bit support patches? Would then
be unfortunate if the series here didn't get ready.

Otoh I don't think this and Boris' code conflict, and what we got in
the tree PVH-wise is kind of a mess right now anyway, so adding to
it just a few more bits (actually getting rid of some fixme-s, i.e.
reducing messiness), so I'd be inclined to take the rest of Boris'
series once ready, and if the series here gets ready too it could
then also go in. Which would then mean for someone (perhaps
after 4.6 was branched) to clean up any no longer necessary
PVH special cases, unifying things towards what we seem to now
call HVMlite.

Jan


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-24 Thread Roger Pau Monné
El 23/06/15 a les 12.55, Stefano Stabellini ha escrit:
> On Mon, 22 Jun 2015, Konrad Rzeszutek Wilk wrote:
>> On Mon, Jun 22, 2015 at 06:55:12PM +0100, Stefano Stabellini wrote:
>>> Hi Roger,
>>>
>>> given that this patch series is actually using the Xen "hvm" builder, I
>>> take that all the PVH code paths in Xen or the guest kernel are not
>>> actually used, correct? This is more like PV on HVM without QEMU, right?
>>
>> Are you saying it should be called now 'HVM-diet' ? Or 'HVMlite' instead
>> of PVH since it is looking at this from the HVM perspective instead of PVH?
> 
> HVMlite doesn't sound bad :-)
> 
> I don't know if we should introduce a new name for this, but I wanted to
> point out that this is different from PVH from Xen point of view. In
> particular most of the outstanding PVH work items (32bit, AMD) on the
> hypervisor would be redudant if we get this to work, right? If that is
> the case, then I think it is best we agree on which road we want to take
> going forward as soon as possible to avoid duplicated or wasted efforts.
> 
> In fact it is not clear to me if/when we get this to work, what would be
> the remaining open issues to complete "HVMlite". Roger?

The following items are already working out of the box with the current
patch set:

 - 32bit* and 64bit guest modes.
 - Intel support.
 - AMD support**.
 - HAP support.
 - Shadow support.

*  32bit CPU mode works, but I don't think 32bit hypercalls will work,
   see Jan's reply to patch 11. I plan to fix this in the next
   iteration.
** Untested.


What needs to be done (ordered by priority):

 - Clean up the patches, this patch series was done in less than a week.
 - Finish the boot ABI (this would also be needed for PVH anyway).
 - Convert the rest of xc_dom_*loaders in order to use the physical
   entry point when present, right now xc_dom_elfloader is the only one
   usable with HVMlite. This is quite trivial (see patch 10, it's a 4
   LOC change).
 - Dom0 support.
 - Migration.
 - PCI pass-through.

IMHO this is what we agreed to do with PVH, make it an HVM guest without
a device model and without the emulated devices inside of Xen. Sooner or
later we would need to make that change anyway in order to properly
integrate PVH into Xen, and we get a bunch of new features for free as
compared to PVH.

I don't think of this as "throw PVH out of the window and start
something completely new from scratch", we are going to reuse some of
the code paths used by PVH inside of Xen. From a guest POV the changes
needed to move from PVH into HVMlite are regarding the boot ABI only,
which we already agreed that should be changed anyway.

Roger.


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-23 Thread Boris Ostrovsky

On 06/23/2015 09:12 AM, Stefano Stabellini wrote:

On Tue, 23 Jun 2015, Ian Campbell wrote:

On Tue, 2015-06-23 at 11:55 +0100, Stefano Stabellini wrote:

I don't know if we should introduce a new name for this, but I wanted to
point out that this is different from PVH from Xen point of view. In
particular most of the outstanding PVH work items (32bit, AMD) on the
hypervisor would be redudant if we get this to work, right? If that is
the case, then I think it is best we agree on which road we want to take
going forward as soon as possible to avoid duplicated or wasted efforts.

I think what you are saying is we either want to pursue this path _or_
PVH, but not both, and I would be inclined to agree, it seems to me like
duplication of both effort and functionality to do both.

Right, especially given that they both seem to provide similar
functionalities.


Given that 32-bit support of existing PVH model looks pretty simple and 
required AMD changes are also well understood (right?) and do not appear 
particularly invasive I would argue for finishing those two while 
continuing to work on unified boot model.


-boris

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-23 Thread Stefano Stabellini
On Tue, 23 Jun 2015, Ian Campbell wrote:
> On Tue, 2015-06-23 at 11:55 +0100, Stefano Stabellini wrote:
> > I don't know if we should introduce a new name for this, but I wanted to
> > point out that this is different from PVH from Xen point of view. In
> > particular most of the outstanding PVH work items (32bit, AMD) on the
> > hypervisor would be redudant if we get this to work, right? If that is
> > the case, then I think it is best we agree on which road we want to take
> > going forward as soon as possible to avoid duplicated or wasted efforts.
> 
> I think what you are saying is we either want to pursue this path _or_
> PVH, but not both, and I would be inclined to agree, it seems to me like
> duplication of both effort and functionality to do both.

Right, especially given that they both seem to provide similar
functionalities.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-23 Thread Ian Campbell
On Tue, 2015-06-23 at 11:55 +0100, Stefano Stabellini wrote:
> I don't know if we should introduce a new name for this, but I wanted to
> point out that this is different from PVH from Xen point of view. In
> particular most of the outstanding PVH work items (32bit, AMD) on the
> hypervisor would be redudant if we get this to work, right? If that is
> the case, then I think it is best we agree on which road we want to take
> going forward as soon as possible to avoid duplicated or wasted efforts.

I think what you are saying is we either want to pursue this path _or_
PVH, but not both, and I would be inclined to agree, it seems to me like
duplication of both effort and functionality to do both.

Ian.


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-23 Thread Stefano Stabellini
On Mon, 22 Jun 2015, Konrad Rzeszutek Wilk wrote:
> On Mon, Jun 22, 2015 at 06:55:12PM +0100, Stefano Stabellini wrote:
> > Hi Roger,
> > 
> > given that this patch series is actually using the Xen "hvm" builder, I
> > take that all the PVH code paths in Xen or the guest kernel are not
> > actually used, correct? This is more like PV on HVM without QEMU, right?
> 
> Are you saying it should be called now 'HVM-diet' ? Or 'HVMlite' instead
> of PVH since it is looking at this from the HVM perspective instead of PVH?

HVMlite doesn't sound bad :-)

I don't know if we should introduce a new name for this, but I wanted to
point out that this is different from PVH from Xen point of view. In
particular most of the outstanding PVH work items (32bit, AMD) on the
hypervisor would be redudant if we get this to work, right? If that is
the case, then I think it is best we agree on which road we want to take
going forward as soon as possible to avoid duplicated or wasted efforts.

In fact it is not clear to me if/when we get this to work, what would be
the remaining open issues to complete "HVMlite". Roger?


> > Do you think think this can work for Dom0 too?
> > 
> > Would that make all the PVH stuff in Xen and Linux effectively useless?
> 
> No. The AP bootup is still the same. So would all the hypercalls I think.
> > 
> > Thanks,
> > 
> > Stefano
> > 
> > On Mon, 22 Jun 2015, Roger Pau Monne wrote:
> > > Before reading any further, keep in mind this is a VERY inital RFC 
> > > prototype series. Many things are not finished, and those that are done 
> > > make heavy use of duck tape in order to keep things into place.
> > > 
> > > Now that you are warned, this series is split in the following order:
> > > 
> > >  - Patches from 1 to 7 switch HVM domain contruction to use the xc_dom_* 
> > >family of functions, like they are used to build PV domains. 
> > >  - Patches from 8 to 13 introduce the creation of HVM domains without 
> > >firmware, which is replaced by directly loading a kernel like it's 
> > > done 
> > >for PV guests. A new boot ABI based on the discussion in the thread 
> > > "RFC: 
> > >making the PVH 64bit ABI as stable" is also introduced, although it's 
> > > not 
> > >finished.
> > > 
> > > Some things that are missing from the new boot ABI:
> > > 
> > >  - Although it supports loading a ramdisk, there's still now defined way 
> > >into how to pass this ramdisk to the guest. I'm thinking of using a 
> > >HVMPARAM or simply setting a GP register to contain the address of the 
> > >ramdisk. Ideally I would like to support loading more than one ramdisk.
> > > 
> > > Some patches contain comments after the SoB, which in general describe 
> > > the 
> > > shortcommings of the implementation. The aim of those is to initiate 
> > > discussion about whether the aproach taken is TRTTD.
> > > 
> > > I've only tested this on Intel hw, but I see no reason why it shouldn't 
> > > work 
> > > on AMD. I've managed to boot FreeBSD up to the point were it should 
> > > jump into user-space (I just didn't have a VBD attached to the VM so it 
> > > just 
> > > sits waiting for a valid disk). I have not tried to boot it any further 
> > > since I think that's fine for the purpose of this series. 
> > > 
> > > The series can also be found in the following git repo:
> > > 
> > > git://xenbits.xen.org/people/royger/xen.git branch hvm_without_dm_v1
> > > 
> > > And for the FreeBSD part:
> > > 
> > > git://xenbits.xen.org/people/royger/freebsd.git branch new_entry_point_v1
> > > 
> > > In case someone wants to give it a try, I've uploaded a FreeBSD kernel 
> > > that 
> > > should work when booted into this mode:
> > > 
> > > https://people.freebsd.org/~royger/kernel_no_dm
> > > 
> > > The config file that I've used is:
> > > 
> > > 
> > > kernel="/path/to/kernel_no_dm"
> > > 
> > > builder="hvm"
> > > device_model_version="none"
> > > 
> > > memory=128
> > > vcpus=1
> > > name = "freebsd"
> > > 
> > > 
> > > Thanks, Roger.
> > > 
> > > ___
> > > Xen-devel mailing list
> > > Xen-devel@lists.xen.org
> > > http://lists.xen.org/xen-devel
> > > 
> 

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-23 Thread Roger Pau Monné
El 22/06/15 a les 20.05, Konrad Rzeszutek Wilk ha escrit:
> On Mon, Jun 22, 2015 at 06:55:12PM +0100, Stefano Stabellini wrote:
>> Hi Roger,
>>
>> given that this patch series is actually using the Xen "hvm" builder, I
>> take that all the PVH code paths in Xen or the guest kernel are not
>> actually used, correct? This is more like PV on HVM without QEMU, right?
> 
> Are you saying it should be called now 'HVM-diet' ? Or 'HVMlite' instead
> of PVH since it is looking at this from the HVM perspective instead of PVH?
> 
> 
>>
>> Do you think think this can work for Dom0 too?
>>
>> Would that make all the PVH stuff in Xen and Linux effectively useless?
> 
> No. The AP bootup is still the same. So would all the hypercalls I think.

This is something that we have not discussed, but for HVM domains the
vCPU initialize hypercall only allows starting the vCPU in 32bit mode
with paging disabled (just like how we are starting the BSP). I'm fine
with that and I don't mind implementing a small trampoline for APs also,
but would like to hear opinions about it.

Roger.


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-23 Thread Roger Pau Monné
Hello,

El 22/06/15 a les 19.55, Stefano Stabellini ha escrit:
> Hi Roger,
> 
> given that this patch series is actually using the Xen "hvm" builder, I
> take that all the PVH code paths in Xen or the guest kernel are not
> actually used, correct? This is more like PV on HVM without QEMU, right?

>From a Xen POV this is not a PVH guest (it's an HVM guest), although I'm
using some code paths which are shared with PVH. In the guest (in this
case FreeBSD) I'm using the same paths as PVH, since the exposed
interface is very similar. We probably aim at enabling the same set of
hypercalls that are enabled on PVH.

> Do you think think this can work for Dom0 too?

I don't see why it couldn't be made to work.

> Would that make all the PVH stuff in Xen and Linux effectively useless?

No, I expect that some code paths inside of Xen will be shared between
PVH and this HVM-without-dm guest type.

Then from a guest POV the interface is quite similar, so most of the
code present in Linux and FreeBSD in order to run as a PVH guest can be
reused for this new guest mode. If you take a look at the FreeBSD patch
the change is just mostly during early boot in order to set the page
tables and jump into long mode, then the rest is quite similar to PVH.

Forgot to mention, I've also tested it with hap=0 (so using shadow) and
it seems to work fine.

Roger.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-22 Thread Konrad Rzeszutek Wilk
On Mon, Jun 22, 2015 at 06:55:12PM +0100, Stefano Stabellini wrote:
> Hi Roger,
> 
> given that this patch series is actually using the Xen "hvm" builder, I
> take that all the PVH code paths in Xen or the guest kernel are not
> actually used, correct? This is more like PV on HVM without QEMU, right?

Are you saying it should be called now 'HVM-diet' ? Or 'HVMlite' instead
of PVH since it is looking at this from the HVM perspective instead of PVH?


> 
> Do you think think this can work for Dom0 too?
> 
> Would that make all the PVH stuff in Xen and Linux effectively useless?

No. The AP bootup is still the same. So would all the hypercalls I think.
> 
> Thanks,
> 
> Stefano
> 
> On Mon, 22 Jun 2015, Roger Pau Monne wrote:
> > Before reading any further, keep in mind this is a VERY inital RFC 
> > prototype series. Many things are not finished, and those that are done 
> > make heavy use of duck tape in order to keep things into place.
> > 
> > Now that you are warned, this series is split in the following order:
> > 
> >  - Patches from 1 to 7 switch HVM domain contruction to use the xc_dom_* 
> >family of functions, like they are used to build PV domains. 
> >  - Patches from 8 to 13 introduce the creation of HVM domains without 
> >firmware, which is replaced by directly loading a kernel like it's done 
> >for PV guests. A new boot ABI based on the discussion in the thread 
> > "RFC: 
> >making the PVH 64bit ABI as stable" is also introduced, although it's 
> > not 
> >finished.
> > 
> > Some things that are missing from the new boot ABI:
> > 
> >  - Although it supports loading a ramdisk, there's still now defined way 
> >into how to pass this ramdisk to the guest. I'm thinking of using a 
> >HVMPARAM or simply setting a GP register to contain the address of the 
> >ramdisk. Ideally I would like to support loading more than one ramdisk.
> > 
> > Some patches contain comments after the SoB, which in general describe the 
> > shortcommings of the implementation. The aim of those is to initiate 
> > discussion about whether the aproach taken is TRTTD.
> > 
> > I've only tested this on Intel hw, but I see no reason why it shouldn't 
> > work 
> > on AMD. I've managed to boot FreeBSD up to the point were it should 
> > jump into user-space (I just didn't have a VBD attached to the VM so it 
> > just 
> > sits waiting for a valid disk). I have not tried to boot it any further 
> > since I think that's fine for the purpose of this series. 
> > 
> > The series can also be found in the following git repo:
> > 
> > git://xenbits.xen.org/people/royger/xen.git branch hvm_without_dm_v1
> > 
> > And for the FreeBSD part:
> > 
> > git://xenbits.xen.org/people/royger/freebsd.git branch new_entry_point_v1
> > 
> > In case someone wants to give it a try, I've uploaded a FreeBSD kernel that 
> > should work when booted into this mode:
> > 
> > https://people.freebsd.org/~royger/kernel_no_dm
> > 
> > The config file that I've used is:
> > 
> > 
> > kernel="/path/to/kernel_no_dm"
> > 
> > builder="hvm"
> > device_model_version="none"
> > 
> > memory=128
> > vcpus=1
> > name = "freebsd"
> > 
> > 
> > Thanks, Roger.
> > 
> > ___
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> > 

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH RFC v1 00/13] Introduce HMV without dm and new boot ABI

2015-06-22 Thread Stefano Stabellini
Hi Roger,

given that this patch series is actually using the Xen "hvm" builder, I
take that all the PVH code paths in Xen or the guest kernel are not
actually used, correct? This is more like PV on HVM without QEMU, right?

Do you think think this can work for Dom0 too?

Would that make all the PVH stuff in Xen and Linux effectively useless?

Thanks,

Stefano

On Mon, 22 Jun 2015, Roger Pau Monne wrote:
> Before reading any further, keep in mind this is a VERY inital RFC 
> prototype series. Many things are not finished, and those that are done 
> make heavy use of duck tape in order to keep things into place.
> 
> Now that you are warned, this series is split in the following order:
> 
>  - Patches from 1 to 7 switch HVM domain contruction to use the xc_dom_* 
>family of functions, like they are used to build PV domains. 
>  - Patches from 8 to 13 introduce the creation of HVM domains without 
>firmware, which is replaced by directly loading a kernel like it's done 
>for PV guests. A new boot ABI based on the discussion in the thread "RFC: 
>making the PVH 64bit ABI as stable" is also introduced, although it's not 
>finished.
> 
> Some things that are missing from the new boot ABI:
> 
>  - Although it supports loading a ramdisk, there's still now defined way 
>into how to pass this ramdisk to the guest. I'm thinking of using a 
>HVMPARAM or simply setting a GP register to contain the address of the 
>ramdisk. Ideally I would like to support loading more than one ramdisk.
> 
> Some patches contain comments after the SoB, which in general describe the 
> shortcommings of the implementation. The aim of those is to initiate 
> discussion about whether the aproach taken is TRTTD.
> 
> I've only tested this on Intel hw, but I see no reason why it shouldn't work 
> on AMD. I've managed to boot FreeBSD up to the point were it should 
> jump into user-space (I just didn't have a VBD attached to the VM so it just 
> sits waiting for a valid disk). I have not tried to boot it any further 
> since I think that's fine for the purpose of this series. 
> 
> The series can also be found in the following git repo:
> 
> git://xenbits.xen.org/people/royger/xen.git branch hvm_without_dm_v1
> 
> And for the FreeBSD part:
> 
> git://xenbits.xen.org/people/royger/freebsd.git branch new_entry_point_v1
> 
> In case someone wants to give it a try, I've uploaded a FreeBSD kernel that 
> should work when booted into this mode:
> 
> https://people.freebsd.org/~royger/kernel_no_dm
> 
> The config file that I've used is:
> 
> 
> kernel="/path/to/kernel_no_dm"
> 
> builder="hvm"
> device_model_version="none"
> 
> memory=128
> vcpus=1
> name = "freebsd"
> 
> 
> Thanks, Roger.
> 
> ___
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
> 

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel