WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

RE: [Xen-ia64-devel] [xen-ia64][PATCH]New set OS type method

To: "Duan, Ronghui" <ronghui.duan@xxxxxxxxx>, "Zhang, Xing Z" <xing.z.zhang@xxxxxxxxx>, "Alex Williamson" <alex.williamson@xxxxxx>
Subject: RE: [Xen-ia64-devel] [xen-ia64][PATCH]New set OS type method
From: "Duan, Ronghui" <ronghui.duan@xxxxxxxxx>
Date: Mon, 26 Nov 2007 16:44:17 +0800
Cc: xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Mon, 26 Nov 2007 00:45:48 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcgsZKyUiE0s4fAeT4miGrUy1XRQJgBK3TMwAJ3ncUAAAC9OoA==
Thread-topic: [Xen-ia64-devel] [xen-ia64][PATCH]New set OS type method

>-----Original Message-----
>From: Duan, Ronghui
>Sent: Monday, November 26, 2007 4:42 PM
>To: Zhang, Xing Z; 'Alex Williamson'
>Cc: 'xen-ia64-devel'
>Subject: 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_for_dom0.patch
Description: ident_map_opt_for_dom0.patch

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel