Port-xen archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Xen headers: Update to Xen 3.3 headers
On Wed, Aug 20, 2008 at 11:00:19PM +0200, Christoph Egger wrote:
> Manuel Bouyer wrote:
> >On Wed, Aug 20, 2008 at 05:42:58PM +0200, Christoph Egger wrote:
> >>Hi,
> >>
> >>Attached patch updates the Xen3 public headers to the ones provided by
> >>Xen 3.3.
> >
> >What does it bring us, exactly ? AFAIK the interface is
> >backward-compatible, are there any features we want to use that are not in
> >Xen 3.1.x ?
>
> Yes. For example, machine check support and ACPI S3 host.
> I already have patches for this.
>
> >Also, you'll have to make sure NetBSD is still using the Xen 3.0 hypercalls
> >where appropriate (for now we're always using the Xen 3.0 hypercalls,
> >even on newer hypervisors); we don't want to loose compatibility with
> >older hypervisors.
>
> There are two ways to detect if a hypercall is available or not:
>
> 1. Query for the Xen version and disable a whole feature as once at boot
> time.
>
> 2. If a new hypercall is used on an old hypervisor, it fails with
> -ENOSYS (Xen error code).
There are some path were this would be tricky to get right without a
noticeable performance impact.
For now I think we should stick to the Xen 3.0 interface for the general
case (I'm not talking about specific features); so you'll have to make sure
that your update don't silently switch to a new interface. There are
some hypercalls numbers which did change while keeping the same macro name;
I did make sure that in our sources the macro names did still point to
the old number; this has to be done for your patch too.
>
> I'm fine with keeping backward-compatible to Xen 3.0 till opening netbsd-5.
>
> After netbsd-5 I would like to have Xen 3.1 hypercalls as requirement.
then this has to be documented, in the same way I've (just) documented that
Xen 2.0.x is deprecated.
>
>
> [...]
> >
> >I don't think will make the same thing. Specifically, I don't think barrier
> >will prevent the compiler from caching a memory value in a register;
> >this is what volatile is for. Unless I missed a compiler directive which
> >would do that, we need to keep the volatile here.
>
> Ok, I will try again getting this upstream.
Or keep it in our tree if they don't want it.
>
> >> [...]
> >> Therefore, the attached patch as a standalone breaks the build of the
> >> xbd backend driver. There's a need for a second patch which re-adds
> >> the
> >> missing structures in a NetBSD/Xen MD header similar to what is Linux
> >> doing to keep things building.
> >
> >I don't like it; if we go this route it should be inclued from one of the
> >existing MD header in xen3-public/
>
> How should I explain that XenSource ?
Why explain to them ? it's our source tree, we can keep local files or
local patches if we want, isn't it ?
>
> >Also, please don't commit it as a patch: import the unmodified Xen files
> >in the vendor branch, and use cvs to do the merge (that is, do the import
> >in the cvs way). I did import the xen 3.1.x headers in the vendor branch.
> >It was not done for the 3.2.x headers, and was a mistake.
>
> That will be my first 'import' that way. I hope, I will get it right.
> What should I use as vendor and release tags ?
I used Xen as vendor tag, and xen-3-0-20060107 as release tag.
But you can use what you want (as long as it makes sense :); cvs doesn't
care.
--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index