We also request you follow these basic guidelines:
-1. Make sure you test your changes on both 32- and 64-bit versions of Windows.
+1. Make sure you test your changes on both a 32- and 64-bit version of Windows.
+ (The more versions of Windows you can test on the better).
2. Make sure your changes do not introduce any new prefast warnings.
-3. All submissions must be made under the terms of the "Developer's Certificate
- of Origin" (DC) and should include a Signed-off-by: line.
+3. Make a patch available to the relevant maintainer in the list. Use 'diff -u'
+ to make the patch easy to merge. Be prepared to get your changes sent back
+ with seemingly silly requests about formatting and variable names. These
+ aren't as silly as they seem. One job the maintainers do is to keep things
+ looking the same.
-2. All Submissions should use Unix line endings for consitency with the rest of
- the XenServer project.
+ NOTE that all source should have Unix line endings.
-3. Each patch should include a descriptive commit comment that helps understand
- why the patch is necessary and why it works. This will be used both for
- initial review and for new people to understand how the code works later
+ PLEASE see http://wiki.xen.org/wiki/Submitting_Xen_Patches for hints on how
+ to submit a patch in a suitable form. Whilst the PV driver source
+ repositories are distinct from the Xen Project hypervisor source, we will
+ follow the same general patch submission and review process.
+
+ PLEASE try to include any credit lines you want added with the patch. It
+ avoids people being missed off by mistake and makes it easier to know who
+ wants adding and who doesn't.
+
+ PLEASE document known bugs. If it doesn't work for everything or does
+ something very odd once a month document it.
+
+ PLEASE remember that submissions must be made under the terms of the
+ "Developer's Certificate of Origin" (DCO) and should include a
+ Signed-off-by: line.
4. Make sure you have the right to submit any changes you make. If you do
changes at work you may find your employer owns the patches instead of
The XenBus package consists of three device drivers:
* xenbus.sys is a bus driver which attaches to a virtual device on the PCI
- bus and provides child devices for the other XenServer paravirtual
- device drivers to attach to.
+ bus and provides child devices for the other paravirtual device drivers
+ to attach to.
* xen.sys is a support library which provides interfaces for communicating
with the Xen hypervisor
now = datetime.datetime.now()
file = open('include\\version.h', 'w')
+
+ file.write('#define COMPANY_NAME_STR\t"' + os.environ['COMPANY_NAME'] + '"\n')
+ file.write('#define PRODUCT_NAME_STR\t"' + os.environ['PRODUCT_NAME'] + '"\n')
+ file.write('\n')
+
file.write('#define MAJOR_VERSION\t' + os.environ['MAJOR_VERSION'] + '\n')
file.write('#define MAJOR_VERSION_STR\t"' + os.environ['MAJOR_VERSION'] + '"\n')
file.write('\n')
file.write('#define YEAR\t' + str(now.year) + '\n')
file.write('#define YEAR_STR\t"' + str(now.year) + '"\n')
+ file.write('\n')
file.write('#define MONTH\t' + str(now.month) + '\n')
file.write('#define MONTH_STR\t"' + str(now.month) + '"\n')
+ file.write('\n')
file.write('#define DAY\t' + str(now.day) + '\n')
file.write('#define DAY_STR\t"' + str(now.day) + '"\n')
+ file.write('\n')
file.close()
line = re.sub('@MINOR_VERSION@', os.environ['MINOR_VERSION'], line)
line = re.sub('@MICRO_VERSION@', os.environ['MICRO_VERSION'], line)
line = re.sub('@BUILD_NUMBER@', os.environ['BUILD_NUMBER'], line)
+ line = re.sub('@COMPANY_NAME@', os.environ['COMPANY_NAME'], line)
+ line = re.sub('@PRODUCT_NAME@', os.environ['PRODUCT_NAME'], line)
dst.write(line)
dst.close()
sdv = { 'nosdv': False, None: True }
driver = 'xenbus'
+ if 'COMPANY_NAME' not in os.environ.keys():
+ os.environ['COMPANY_NAME'] = 'Xen Project'
+
+ if 'PRODUCT_NAME' not in os.environ.keys():
+ os.environ['PRODUCT_NAME'] = 'Xen'
+
os.environ['MAJOR_VERSION'] = '8'
os.environ['MINOR_VERSION'] = '0'
os.environ['MICRO_VERSION'] = '0'
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.
-PROJECT_BRIEF = "XenServer PV Bus Driver"
+PROJECT_BRIEF = "Xen PV Bus Driver"
# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
# the documentation. The maximum height of the logo should not exceed 55 pixels
goto fail9;
}
- if (strcmp(DriverDesc, "XenServer PV Bus") != 0) {
+ if (strncmp(DriverDesc,
+ PRODUCT_NAME_STR,
+ strlen(PRODUCT_NAME_STR)) != 0) {
SetLastError(ERROR_INSTALL_FAILURE);
goto fail10;
}
+ DriverDesc += strlen(PRODUCT_NAME_STR);
+
+ if (strcmp(DriverDesc, " PV Bus") != 0) {
+ SetLastError(ERROR_INSTALL_FAILURE);
+ goto fail11;
+ }
+
done:
if (DriverDesc != NULL) {
free(DriverDesc);
return TRUE;
+fail11:
+ Log("fail11");
+
fail10:
Log("fail10");
#undef VER_PRODUCTVERSION
#undef VER_PRODUCTVERSION_STR
-#define VER_COMPANYNAME_STR "Citrix Systems Inc."
-#define VER_LEGALCOPYRIGHT_STR "Copyright " YEAR_STR VER_COMPANYNAME_STR
-
#include <version.h>
+#define VER_COMPANYNAME_STR COMPANY_NAME_STR
+#define VER_LEGALCOPYRIGHT_STR "Copyright " YEAR_STR VER_COMPANYNAME_STR
+
#define VER_PRODUCTNAME_STR "XEN"
#define VER_PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,MICRO_VERSION,BUILD_NUMBER
#define VER_PRODUCTVERSION_STR MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR
Signature="$Windows NT$"
Class=System
ClassGUID={4d36e97d-e325-11ce-bfc1-08002be10318}
-Provider=%Citrix%
+Provider=%Company%
CatalogFile=xenbus.cat
DriverVer=01/01/1900,0.0.0.0
xenbus_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xenbus_coinst.dll
[Manufacturer]
-%Citrix%=Citrix,NT$ARCH$
+%Company%=Inst,NT$ARCH$
-[Citrix.NT$ARCH$]
+[Inst.NT$ARCH$]
; DisplayName Section DeviceID
; ----------- ------- --------
[Strings]
-Citrix="Citrix Systems Inc."
-DiskDesc="XenServer Tools for Virtual Machines"
-XenBusDesc="XenServer PV Bus"
-XenFiltDesc="XenServer Bus Filter"
+Company="@COMPANY_NAME@"
+DiskDesc="@PRODUCT_NAME@ PV Bus Package"
+XenBusDesc="@PRODUCT_NAME@ PV Bus"
+XenFiltDesc="@PRODUCT_NAME@ Generic Bus Filter"
SERVICE_BOOT_START=0x0
SERVICE_SYSTEM_START=0x1
#undef VER_PRODUCTVERSION
#undef VER_PRODUCTVERSION_STR
-#define VER_COMPANYNAME_STR "Citrix Systems Inc."
-#define VER_LEGALCOPYRIGHT_STR "Copyright " YEAR_STR VER_COMPANYNAME_STR
-
#include <version.h>
+#define VER_COMPANYNAME_STR COMPANY_NAME_STR
+#define VER_LEGALCOPYRIGHT_STR "Copyright " YEAR_STR VER_COMPANYNAME_STR
+
#define VER_PRODUCTNAME_STR "XENBUS"
#define VER_PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,MICRO_VERSION,BUILD_NUMBER
#define VER_PRODUCTVERSION_STR MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR
#undef VER_PRODUCTVERSION
#undef VER_PRODUCTVERSION_STR
-#define VER_COMPANYNAME_STR "Citrix Systems Inc."
-#define VER_LEGALCOPYRIGHT_STR "Copyright " YEAR_STR VER_COMPANYNAME_STR
-
#include <version.h>
+#define VER_COMPANYNAME_STR COMPANY_NAME_STR
+#define VER_LEGALCOPYRIGHT_STR "Copyright " YEAR_STR VER_COMPANYNAME_STR
+
#define VER_PRODUCTNAME_STR "XENFILT"
#define VER_PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,MICRO_VERSION,BUILD_NUMBER
#define VER_PRODUCTVERSION_STR MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR