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-devel

Re: [Xen-devel] Re: [PATCH] Add a new p2m type for broken memory

To: "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx>, Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Re: [PATCH] Add a new p2m type for broken memory
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Wed, 14 Jul 2010 14:50:20 +0100
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 14 Jul 2010 06:51:19 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <789F9655DD1B8F43B48D77C5D30659731F5714F0@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcsjNaUjcuGtCGW8Qw6D2JOsbOxGfAAIUDeAAAEmZsg=
Thread-topic: [Xen-devel] Re: [PATCH] Add a new p2m type for broken memory
User-agent: Microsoft-Entourage/12.24.0.100205
On 14/07/2010 14:41, "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx> wrote:

>> You should probably do this in more places, even if you don't care
>> about shadow pagetables -- MMIO emulation should behave the same as
>> normal accesses.
> 
> What do you mean of " the same as normal access"?
> MMIO will not be poisoned and will not be marked as p2m_ram_broken. We only
> need track guest's access to poison RAM.
> 
> There are some case need considered, like hypervisor emulate instruction for
> guest. For example, considering "movs (*rsi), (*rdi)", where rdi points to
> MMIO or APIC, while rsi points to poison memory. However, In such situation,
> it will trigger EPT fault firstly and cause the guest be crashed (I tested
> movs from poison memory to apic range). As there is no prefetch in EPT
> situation if I understand correctly, I assume it should be ok at least for EPT
> guest.

I doubt it's architecturally guaranteed. What about edge cases like 'PUSH
mem' from an MMIO location, destination is stack, pointer to which has just
crossed a page boundary to a broken page? I don't think it's hard to fill in
the blanks for emulation of guest instructions so you might as well do so.

 -- Keir



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