On Thu, Sep 13, 2007 at 03:31:43PM +0900, Horms wrote:
> On Wed, Sep 12, 2007 at 06:08:30PM +0900, SUZUKI Kazuhiro wrote:
[snip]
> > > 4. Fix VHPT purging code to treat what is at the IA64_DOMAIN_FLAGS_OFFSET
> > > offset as a litteral value (flag) rather than a pointer to a literal.
> >
> > Suppose that,
> >
> > struct domain *dom = 0xf000000007ccc080;
> > IA64_DOMAIN_FLAGS_OFFSET = 0x688
> >
> > And I show how the value of r3 becomes since each instruction is
> > executed.
> >
> > @@ -289,25 +304,24 @@ ia64_do_tlb_purge:
> > ld8 r3=[r3];; // r3=0xf000000007ccc080 virtual address of dom
> > dep r3=0,r3,60,4;; // r3=0x0000000007ccc080 physical address of dom
> > add r3=IA64_DOMAIN_FLAGS_OFFSET,r3;; // r3=0x0000000007ccc708 physical
> > address of dom->arch.flags
> > ld8 r3=[r3];; // r3=2 load the value of domain->arch.flags
> >
> > So 'r3=[r3]' is necessary.
>
> Understood. I am pretty sure that this was causing a problem.
> I will look into it again.
Hi Suzuki-san,
I removed this change as you suggested and everything seems fine.
--
Horms
H: http://www.vergenet.net/~horms/
W: http://www.valinux.co.jp/en/
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|