Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> wrote on 09/19/2005 07:40:50 AM:
>
> On 19 Sep 2005, at 11:52, Jiang, Yunhong wrote:
>
> >> I think it's more correct to do get/put in vmx_set_cr0 (at that point
> >> we can know what format the pagetables should be, for example
> >> (32/32p/64). But I think it's a bigger cleanup patch.
> >
> > Do you mean put all get/put on vmx_set_cr0 ? even for paging enabled
> > case?
>
> No, I mean that get/put on cr3 change (or guest destruction) should be
> gated on CR0_PG. Then, additionally, get or put is required when CR0_PG
> is toggled.
>
> > And there is one more issue .If the guest is destroyed before the
> > kernel enabling paging, how about the page pointed by cr3? It may
> > cause one referece count left. The reason is, currently when destroy
> > domain, only domain->guest_table is released. However, if the paging
> > is not enabled, then the get_page on vmx_set_cr0 has no corresponding
> > put_page, which may cause problem. Hope comments on this point.
>
> Doing what I describe above would fix this: CR0_PG would be clear, so
> put_page() would not happen.
>
> >>
> >> Whatever you go for: please send a complete tested patch. :-)
> >
> > Sure!
>
> Thanks!
>
> -- Keir
>
If the shadow page reference counts are handled correctly now (I look
forward to receiving a complete patch!), do we really need
shadow_tainted_refcnts flag in the domain structure ? What's
the real purpose of this flag ? Is it used to indicate that
shadow mode was enabled but now disabled ?
Thanks.
Khoa H.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|