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

[Xen-ia64-devel] RE: A patch to remove dcr.63 for running_on_xen indicat

To: "Magenheimer, Dan \(HP Labs Fort Collins\)" <dan.magenheimer@xxxxxx>
Subject: [Xen-ia64-devel] RE: A patch to remove dcr.63 for running_on_xen indicator
From: "Dong, Eddie" <eddie.dong@xxxxxxxxx>
Date: Wed, 31 Aug 2005 09:14:57 +0800
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 31 Aug 2005 01:12:57 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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: AcWYaSAKDEpFITOYRmOMPwJnp5q9pQAADjIQADg3V1AALzs7IAAA1IBAAJG2/gAAqDjkoAAncIggAKI8w2AC5B7eAAAHRMkA
Thread-topic: A patch to remove dcr.63 for running_on_xen indicator
Dan:
        Is not xenlinux-ia64 accessing fixed address for shared memory
like following code from xenlinux-ia64?   This patch just use same
assumption.
        If xenlinux support dynamic configurable share memory address,
this patch can simply be updated too.
        
        The reason to push this patch is that bit 63 of DCR may be not
reserved in future just like PSR.vm bit in VT-i spec. Probing shared
memory is just much safe.
eddie

GLOBAL_ENTRY(xen_get_ivr)
        movl r8=running_on_xen;;
        ld4 r8=[r8];;
        cmp.eq p7,p0=r8,r0;;
(p7)    mov r8=cr.ivr;;
(p7)    br.ret.sptk.many rp
        ;;
        movl r9=XSI_PSR_IC
        ;;
        ld8 r10=[r9]
        ;;
        st8 [r9]=r0
        ;;
        XEN_HYPER_GET_IVR
        ;;
        st8 [r9]=r10
        br.ret.sptk.many rp
        ;;
END(xen_get_ivr)

Magenheimer, Dan (HP Labs Fort Collins) wrote:
> I dug back through my email to find this as I remembered
> having a concern when I first glanced at it...
> 
> Although it is not implemented now for Xen/ia64,
> vBlades allowed the guest to choose the (virtual)
> location of the shared page.   This can be useful
> as some guest OS's may already use the virtual
> addresses currently "reserved" for the shared page
> in the current Xen/ia64 implementation.  Also,
> one can conceive of reasons why different guests
> might have different shared pages (e.g. to allow
> domain0 and domU's to be coresident in virtual
> address space).
> 
> So, I don't think a guest should probe a fixed
> virtual address as the mechanism to determine if
> it is running_on_xen.
> 
>> -----Original Message-----
>> From: Dong, Eddie [mailto:eddie.dong@xxxxxxxxx]
>> Sent: Monday, August 15, 2005 10:21 PM
>> To: Magenheimer, Dan (HP Labs Fort Collins)
>> Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
>> Subject: A patch to remove dcr.63 for running_on_xen indicator
>> 
>> Dan:
>>      The attached patch is target to remove dcr.63 bit usage to
>> indicate running_on_xen or not, thus avoid future IPF spec violation
>> (reserve bits should be 0 base on spec).
>>      Please comments.
>>      BTW, currnet XENLinux tree (yesterday) can't run on native
>> environment for some reason. So I only test that on XEN environment.
>> Eddie 
>> 
>> 
>> 
>> diff -r 84356b86adf0 arch/ia64/xen/xensetup.S
>> --- a/arch/ia64/xen/xensetup.S       Fri Aug 12 21:15:45 2005
>> +++ b/arch/ia64/xen/xensetup.S       Mon Aug 15 18:44:21 2005 @@
-16,12
>> +16,17 @@ 
>> 
>>      .text
>>  GLOBAL_ENTRY(early_xen_setup)
>> -    mov r8=cr.dcr;;
>> -    extr.u r8=r8,63,1
>> +    rsm psr.ic
>> +    movl r9=XSI_BASE;;
>> +    ld8.s r8=[r9];;
>> +    tnat.nz.unc p6,p7=r8    // p6=1: No share memory
>> +(p6)        mov r8=0
>> +(p7)        mov r8=1                // on XEN
>>      movl r9=running_on_xen;;
>>      st4 [r9]=r8;;
>> -    cmp.ne p7,p0=r8,r0;;
>>  (p7)        movl r10=xen_ivt;;
>>  (p7)        mov cr.iva=r10
>> +    ssm psr.ic
>> +    srlz.d
>>      br.ret.sptk.many rp;;
>>  END(xen_init)


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

<Prev in Thread] Current Thread [Next in Thread>