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] PATCH [resend]: more case handled in mmio.c

To: "Tristan Gingold" <Tristan.Gingold@xxxxxxxx>, <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>, "Alex Williamson" <alex.williamson@xxxxxx>
Subject: RE: [Xen-ia64-devel] PATCH [resend]: more case handled in mmio.c
From: "Xu, Anthony" <anthony.xu@xxxxxxxxx>
Date: Fri, 21 Apr 2006 15:45:19 +0800
Delivery-date: Fri, 21 Apr 2006 00:45:36 -0700
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: AcZke/+De/Z9GAhkRVW3RMZPRhDSCQAmxAyg
Thread-topic: [Xen-ia64-devel] PATCH [resend]: more case handled in mmio.c
One more comment.
        /* Write high word.
                FIXME: this is a kludge!  */
             v.u.bits[1] &= 0x3ffff;
This seems not be necessary.
v is got by stf.spill, 
stf.spill makes sure the high 47 bits of v.u.bits[1] is 0.


Thanks,
-Anthony 

>-----Original Message-----
>From: Tristan Gingold [mailto:Tristan.Gingold@xxxxxxxx]
>Sent: 2006?4?20? 21:16
>To: Xu, Anthony; xen-ia64-devel@xxxxxxxxxxxxxxxxxxx; Alex Williamson
>Subject: Re: [Xen-ia64-devel] PATCH [resend]: more case handled in mmio.c
>
>Le Jeudi 20 Avril 2006 06:28, Xu, Anthony a écrit :
>> From: Tristan Gingold
>>
>> >Sent: 2006?4?18? 16:44
>> >Correct, but this doesn't happen in the mmio case, because fp_reg_disabled
>> > is tested before doing the memory access.
>>
>> I didn't find where fp_reg_disabled is tested:-)
>The processor does it.
>
>> If we only emulate stf.spill and stf8, yes fp fault doesn't happen.
>Yes.
>
>> But if we need to emulate ldf, definitely fp fault will happen,
>Yes, but in this case we don't call vcpu_get_fpreg!
>
>> The sequence of emulating ldf maybe,
>> Mmio_access( , , , , ,IOREQ_READ)
>> Vcpu_set_fpreg( )
>> Mmio_access will cause domain_switch,
>> When switch back, psr.dfh is set,
>> Then when executing vcpu_set_fpreg, fp fault happens.
>>
>> And I had found Xwindow use ldfp8 instruction to access frame buffer.
>> BTW, Where did you find stf.spill and stf8 are used to access mmio?
>memset.
>
>> Can we address this issue like below?
>> #ifdef       XEN
>> #define ia64_fph_enable()
>> #define ia64_fph_disable()
>> #else
>> #define ia64_fph_enable()    do { ia64_rsm(IA64_PSR_DFH); ia64_srlz_d(); }
>> while (0) #define ia64_fph_disable() do { ia64_ssm(IA64_PSR_DFH);
>> ia64_srlz_d(); } while (0) #endif //XEN
>>
>> This makes sure there is no fp fault happening within xen.
>I am quiet sure we need the ia64_fph_enable before saving fp regs!
>
>> Yes later on if we want to use lazy fp algorithm within xen,
>> we should revisit this.
>Sure.
>
>Thanks,
>Tristan.

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