All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Haozhong Zhang <haozhong.zhang@intel.com>
Cc: xen-devel@lists.xenproject.org, Kevin Tian <kevin.tian@intel.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Lars Kurth <lars.kurth@citrix.com>
Subject: Re: [licensing] was: [XTF PATCH 04/16] vvmx: add C wrappers of vmxon/vmread/vmptrld
Date: Mon, 19 Dec 2016 15:58:28 +0000	[thread overview]
Message-ID: <e53c38b8-af95-c4c7-8478-a8f4c87d09ff@citrix.com> (raw)
In-Reply-To: <20161219032036.4iq3ijyeo5mgbqam@hz-desktop>

On 19/12/16 03:20, Haozhong Zhang wrote:
> On 12/16/16 19:03 +0000, Andrew Cooper wrote:
>> On 16/12/16 13:43, Haozhong Zhang wrote:
>>> diff --git a/include/arch/x86/hvm/vmx/vmcs.h
>>> b/include/arch/x86/hvm/vmx/vmcs.h
>>> new file mode 100644
>>> index 0000000..e1a6ef8
>>> --- /dev/null
>>> +++ b/include/arch/x86/hvm/vmx/vmcs.h
>>> @@ -0,0 +1,179 @@
>>> +#ifndef XTF_X86_HVM_VMX_VMCS_H
>>> +#define XTF_X86_HVM_VMX_VMCS_H
>>> +
>>> +/* VMCS field encodings. */
>>> +#define VMCS_HIGH(x) ((x) | 1)
>>> +enum vmcs_field {
>>> +    VIRTUAL_PROCESSOR_ID            = 0x00000000,
>>> +    POSTED_INTR_NOTIFICATION_VECTOR = 0x00000002,
>>> +    EPTP_INDEX                      = 0x00000004,
>>> +#define GUEST_SEG_SELECTOR(sel) (GUEST_ES_SELECTOR + (sel) * 2) /*
>>> ES ... GS */
>>
>> Unfortunately, there is probably a BSD/GPL licensing issue here.
>>
>> XTF is BSD clause 2 licensed, because a lot of the core microkernel bits
>> are generally useful to other microkernel projects, and I have specific
>> plans to contribute improvements back to the likes of Mini-OS and
>> HVMLoader.  I would specifically like to maintain this property.
>>
>> Xen, following its Linux heritage, is strictly GPLv2 (other than the
>> public headers, which are specifically different).
>>
>>
>> Having XTF use the same naming as Xen is convenient for development, and
>> I specifically don't want to get caught up in tricks like renaming
>> constants;
>
> but renaming or taking names from other BSD-licensed projects [1] could
> keep the whole project as purely BSD-licensed.

That would also work.

I also tend to only pull in defines which are actually used, but that is
just personal choice and to keep the size of the commits down.

>
> [1]
> https://github.com/freebsd/freebsd/blob/master/sys/amd64/vmm/intel/vmcs.h
>
>> these names inherit from the architecture manual and calling
>> them anything else would be even worse. If we were to go down this
>> route, being able to keep the header file in sync would be useful, but
>> dual licensing it Xen would be complicated and confusing.
>>
>> BSD and GPL are compatible licenses.  One option Ian suggested would be
>> to have a GPL subdirectory in XTF which clearly separates GPL content
>> from BSD content.  The resulting tests would become GPL, but the primary
>> distribution method is "git clone && make", so there are no issues
>> there.
>
> If I want to use the BSD-licensed files individually in other
> projects, will I need to keep a GPL license with them?

Only if the GPL file needed to be ported as well.  In this case, it is
only the VMX test which uses it, rather than any of the core code.

I don't plan on porting entire files to other projects, but individual
functions certainly.  (Having said that, I do plan on moving the entire
vsnprintf() implementation to hvmloader so it can actually format 64bit
integers).

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  parent reply	other threads:[~2016-12-19 15:58 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-16 13:43 [XTF PATCH 00/16] Add test cases for nested vmxon Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 01/16] vvmx: test whether VMX feature is present in CPUID Haozhong Zhang
2016-12-16 14:40   ` Andrew Cooper
2016-12-19  1:51     ` Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 02/16] vvmx: test whether MSR_IA32_FEATURE_CONTROL is set correctly Haozhong Zhang
2016-12-16 16:17   ` Andrew Cooper
2016-12-19  2:20     ` Haozhong Zhang
2016-12-19 15:29       ` Andrew Cooper
2016-12-16 13:43 ` [XTF PATCH 03/16] vvmx: test whether MSR_IA32_VMX_BASIC " Haozhong Zhang
2016-12-16 17:19   ` Andrew Cooper
2016-12-19  2:44     ` Haozhong Zhang
2016-12-19 15:41       ` Andrew Cooper
2016-12-20  2:45         ` Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 04/16] vvmx: add C wrappers of vmxon/vmread/vmptrld Haozhong Zhang
2016-12-16 19:03   ` [licensing] was: " Andrew Cooper
2016-12-19  3:20     ` Haozhong Zhang
2016-12-19 14:41       ` Lars Kurth
2016-12-19 15:51         ` Ian Jackson
2016-12-19 15:58       ` Andrew Cooper [this message]
2016-12-19 15:20     ` Roger Pau Monné
2016-12-19 15:24       ` Andrew Cooper
2016-12-16 19:47   ` Andrew Cooper
2016-12-19  3:00     ` Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 05/16] vvmx: add a general error handler for VMX instructions Haozhong Zhang
2016-12-16 20:16   ` Andrew Cooper
2016-12-19  3:24     ` Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 06/16] vvmx: test vmxon with CR4.VMXE cleared Haozhong Zhang
2016-12-16 20:25   ` Andrew Cooper
2016-12-19  3:26     ` Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 07/16] vvmx: test vmxon in CPL=3 and out of VMX operation Haozhong Zhang
2016-12-16 20:33   ` Andrew Cooper
2016-12-19  3:35     ` Haozhong Zhang
2016-12-19 16:02       ` Andrew Cooper
2016-12-19 16:02       ` Andrew Cooper
2016-12-16 13:43 ` [XTF PATCH 08/16] vvmx: test vmxon with invalidly wide VMXON region address Haozhong Zhang
2016-12-16 20:40   ` Andrew Cooper
2016-12-19  3:36     ` Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 09/16] vvmx: test vmxon with unaligned " Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 10/16] vvmx: test vmxon with mismatched VMCS revision ID Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 11/16] vvmx: test vmxon with bit 31 of VMCS revision ID set Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 12/16] vvmx: test the correct vmxon Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 13/16] vvmx: test vmxon in VMX root w/ CPL = 0 and w/o current VMCS Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 14/16] vvmx: test vmxon in VMX root w/ CPL = 3 " Haozhong Zhang
2016-12-16 20:59   ` Andrew Cooper
2016-12-19  3:46     ` Haozhong Zhang
2016-12-19 16:07       ` Andrew Cooper
2016-12-20  2:50         ` Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 15/16] vvmx: test vmxon in VMX root w/ CPL = 0 and w/ " Haozhong Zhang
2016-12-16 13:43 ` [XTF PATCH 16/16] vvmx: test vmxon in VMX root w/ CPL = 3 " Haozhong Zhang
2016-12-16 14:12 ` [XTF PATCH 00/16] Add test cases for nested vmxon Andrew Cooper
2016-12-19  1:44   ` Haozhong Zhang
2016-12-19 16:18     ` Andrew Cooper
2016-12-16 21:26 ` Andrew Cooper
2016-12-19  5:31   ` Haozhong Zhang
2016-12-19 16:34     ` Andrew Cooper
2016-12-20  2:32       ` Haozhong Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e53c38b8-af95-c4c7-8478-a8f4c87d09ff@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=haozhong.zhang@intel.com \
    --cc=kevin.tian@intel.com \
    --cc=lars.kurth@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.