[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-ia64-devel] [xen-ia64][PATCH]New set OS type method
Hi Alex: Wing's patch seems fine on my system. I do a little change, you can have a try now. Best regards, Ronghui >-----Original Message----- >From: Zhang, Xing Z >Sent: Friday, November 23, 2007 1:27 PM >To: Alex Williamson >Cc: xen-ia64-devel; Duan, Ronghui >Subject: RE: [Xen-ia64-devel] [xen-ia64][PATCH]New set OS type method > >Hi Alex: > These patches are per your comments. I do string to magic number >translation in IA64 child class so that it doesn't impact on common code. > Unfortunately, a python code block this patch. > >+ xc.hvm_set_param(self.vm.getDomid(),HVM_PARAM_GOS_TYPE, val) > It always reports "invalid argument". I didn't get the cause. > I am afraid I can't go on debugging it because of my graduate thesis. >Fortunately, Ronghui will continue my work. Many thanks to Ronghui. > >Good good study,day day up ! ^_^ >-Wing(zhang xin) > >OTC,Intel Corporation > >>-----Original Message----- >>From: Alex Williamson [mailto:alex.williamson@xxxxxx] >>Sent: 2007年11月22日 1:27 >>To: Zhang, Xing Z >>Cc: xen-ia64-devel >>Subject: RE: [Xen-ia64-devel] [xen-ia64][PATCH]New set OS type >>method >> >> >>On Thu, 2007-11-22 at 00:44 +0800, Zhang, Xing Z wrote: >>> In the beginning, I used the method that let user set a >>> string(windows/linux) in script file. Since Xend will call >>> xc_hvm_set_param(It only accepts a u64 parameter) to pass >>parameter to >>> HV, we must translate string(windows/linux) to a magic number >>in Xend. >>> The string-number pair has to be defined as constants in python >>file. >>> This increases modifications of common code. I am afraid >>community may >>> not happy to see it. >>> If you prefer string parameter way, I'd like to post another >>patch. >>> It's easy to do. >> >>Hi Wing, >> >> I think this can probably still be done without significant >>common >>code changes. The encoding of the string to a u64 is the tricky >>part. >>Perhaps we should use the u64 as a unsigned char[8] and simply >>write a >>string to it. This could then leave it to architecture builder >>code as >>to how to interpret the string as you have below. That would >>still >>allow it to be generally useful to x86 at some point in the future >>too. >> >>> > The other question is whether we parse the string in Xen >>or >>> >in the >>> >domain builder tools. For instance, the tools might parse >>> >"Windows" and >>> >set flags that regions 4 & 5 are identity mapped instead of >>just >>> >passing >>> >that "Windows" string into Xen. I don't know if this really >>> >adds >>> >anything or just keeps string parsing out of Xen. >>> >>> I am not sure I get your meaning. Do you mean we parse OS type >>in >>> Xend, then directly tell Xen to do corresponding optimization? >>If so, >>> there is a hypercall named __HYPERVISOR_opt_feature in >>hypercall.c. We >>> can change current implementation to below flow: >>> >>> Xend parse string parameter -------> xc_set_hvm_param() >>record OS type >>> temporarily --------> xc_ia64_hvm_build() call >>xc_get_hvm_param() to >>> get OS type -------> call __HYPERVISOR_opt_feature to set >>> corresponding optimization in Xen >>> >>> The purpose to use xc_set_hvm_param/xc_get_hvm_param here is >>avoid >>> adding a new interface in xc lib, because we need pass OS type >>to >>> domain building function in libxc. >>> >>> This is also easy to do. Which you prefer? >> >> Yes, this sounds more like what I'm thinking. Something >>like: >> >>xmexample.vti: >># guest_os_string (optional) >># Specify the OS running in the guest domain, this may enable >># optimization features for the specified OS type. Other OSes >># may not run correctly if the wrong OS type is specified. >># >># Default is "default", which should work for all supported >>guest OSes. >># >># Known values: >># "linux" - All Linux variants >># "windows" - All Windows variants (Windows Server >>2003/2008) >># >># guest_os_string="default" >> >>Xend would effectively snprintf() this string into a u64, and >>store it >>with xc_set_hvm_param() - Perhaps HVM_PARAM_OS_STRING? Then >>as you >>outline, the ia64 builder would get the param, and make >>individual >>opt_feature calls to explicitly set the identity mapped >>regions. >> >> One potential issue with this is that we're setting the >>optimization >>before the guest runs this way. I don't think this is a problem >>for >>linux as it maintains the same identity mapped regions from the >>first >>jump into virtual mode. However, I don't know about Windows. >>I've >>heard it jumps in and out of physical mode multiple times in >>the boot >>loader, is it going to be ok w/ this optimization on through >>all of >>those? Thanks, >> >> Alex >> >>-- >>Alex Williamson HP Open Source & Linux >>Org. Attachment:
ident_map_opt.patch _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |