14 messages in com.xensource.lists.xen-ia64-develRE: [Xen-ia64-devel] PATCH [resend]: ...| From | Sent On | Attachments |
|---|---|---|
| Tristan Gingold | 14 Apr 2006 04:35 | .diffs |
| Xu, Anthony | 14 Apr 2006 07:37 | |
| Tristan Gingold | 18 Apr 2006 01:44 | |
| Tristan Gingold | 19 Apr 2006 00:33 | |
| Tian, Kevin | 19 Apr 2006 00:57 | |
| Xu, Anthony | 19 Apr 2006 21:28 | |
| Tristan Gingold | 20 Apr 2006 06:15 | |
| Xu, Anthony | 21 Apr 2006 00:44 | |
| Tristan Gingold | 21 Apr 2006 00:52 | |
| Xu, Anthony | 21 Apr 2006 00:54 | |
| Xu, Anthony | 21 Apr 2006 01:01 | |
| Tristan Gingold | 21 Apr 2006 01:04 | |
| Xu, Anthony | 21 Apr 2006 01:05 | |
| Tristan Gingold | 21 Apr 2006 01:22 |
| Subject: | RE: [Xen-ia64-devel] PATCH [resend]: more case handled in mmio.c![]() |
|---|---|
| From: | Xu, Anthony (anth...@intel.com) |
| Date: | 04/21/2006 12:44:56 AM |
| List: | com.xensource.lists.xen-ia64-devel |
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:Tris...@bull.net] Sent: 2006?4?20? 21:16 To: Xu, Anthony; xen-...@lists.xensource.com; 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-...@lists.xensource.com http://lists.xensource.com/xen-ia64-devel





.diffs