|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 0/2][PV-on-HVM] Enable Front-end drivers for 2.4 kernels
Hi Don,I thought I'd see if these patches might be available - or if they are still in development? -Ben Don Dutile wrote: Our apologies for the late notice, but RedHat has a set of patches that apply to a xen-3.1.0 tarball to yield a set of functioning pv-on-hvm drivers for RHEL3-U8 (& U9). [A reduced set of patches would yield the same result w/3.1.2 .] Our plans are to provide those patches to xen-devel in January, after further cleanup (so they don't break 2.6 builds). The patches have some similarities & differences to those listed below. More specifically, they have what is described in 4, 5, & 6 (although I haven't had the time to compare the two implementations, but a wheel typically comes out round ;-) ). The patches differ in that h-file diffs are handled in the compat-includedirectory. Additionally, the block device support is handled by a new set ofinterfaces, reducing potential issues of modifying this code for Linux 2.4 breaking Linux 2.6, or vice versa. The patches don't include a build system as described below, whichsounds like a clean way to handle those diffs, and avoid 2.4 vs 2.6 changes/diffsover time (much like our separate block interface support split for 2.4 avoids conflicts/issues w/2.6). The heavy lifting for this support was done by Herbert Xu.I've been adding bug fixes and getting it into a clean set of patches that can create an rpm that can be added to a rhel3 kernel, as well as working with a number of testers asking for this support on rhel3.We'll look at the following patches in detail after the New Year. (We turn into a pumpkin next week, and the fairy tale ends 1/2/08), and see what we can meld into a patch set that takes the best of both worlds. - Don =========================================================== Ben Guthro wrote:This patch enables front end drivers to build under Linux 2.4.Specifically, the 2.4.21-47 kernel is used. This corresponds to RedHat Linux 3 update 8release.Changes were made in two areas. Files were changed in the unmodified tree as well as the sparse tree. The latter corresponds to the drivers/xen tree in the Linux 2.6.18 kernel and will be referred to as the "Linux driver tree" inthe remainder of this note.In the unmodified tree, changes were related to build system modifications, addition of missing header files, implementation of the generic device model code for kernel 2.4 and all other nuggets required to compile front end driversunder kernel 2.4.In the Linux driver tree, changes made were located almost entirely in the front end drivers area. Most of these were related to implementation of compatibility macros and replacement of APIs which evolved, were added or removed between kernels 2.4 and 2.6. Where a one to one replacement of a specific call was not possible, blocks of code surrounded by kernel version specific preprocessor directives were added. One instance of this is disk geometry processing.Below is a more detailed list of changes made in the unmodified tree. 1. Build system. For each Kbuild file in the front driver area, acorresponding K24build file has been created. There, 2.4 style targets are used. The main Makefile for each driver references appropriate "K" filedepending on the kernel version the driver is being built for.2. Nonexistent header files. Header files included in front end drivers which do not exist under kernel 2.4 were replaced by dummy headers. These, in turn, include compatibility headers to further resolve differences between kernel 2.4 and 2.6. Dummy header files reside in the compat-include/linuxtree.3. Block interface. Changed APIs are handled through compatibility macros whosenames are usually of the form compat_<original function name>(). This applies to:a. end request processing; Note that some of these macros take the same number of arguments as original 2.6 APIs. The change of name is necessary because, while the corresponding 2.4 API exists, the number or type of _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |