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
 
   
 

xense-devel

[Xen-devel] RE: [PATCH] txt: 1/6 - "fix" xen_phys_start for 32b builds

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, "Cihula, Joseph" <joseph.cihula@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "xense-devel@xxxxxxxxxxxxxxxxxxx" <xense-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] RE: [PATCH] txt: 1/6 - "fix" xen_phys_start for 32b builds
From: "Wang, Shane" <shane.wang@xxxxxxxxx>
Date: Tue, 20 Jan 2009 17:16:55 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc:
Delivery-date: Tue, 20 Jan 2009 01:18:07 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C59B454D.21957%keir.fraser@xxxxxxxxxxxxx>
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>
References: <037F493892196B458CD3E193E8EBAD4F0418C417@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <C59B454D.21957%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acl6wsKqi1WLQQ9jRBiGuPU70qcc+wAGrT29AAAIacAAAE1rwwAAEIbw
Thread-topic: [PATCH] txt: 1/6 - "fix" xen_phys_start for 32b builds
Yes, we have patch to check domains as well, but this kind of verification is 
configurable, considering we don't want to spend much time on S3 and resume. 
That will make S3 slow.

In our approach, we check domains in Xen and check Xen (Xen + Xen heap) in 
tboot. We can't check Xen in Xen, since the memory is changing.

I think we need to figure out another approach, if Xen heap needs to be checked.

Shane

Keir Fraser wrote:
> Yeah, I would point out in any case that Xen has always allocated
> plenty of 'domheap' memory and depends on the consistency of that too
> (e.g., VT-d tables, shadow page tables) so checking only Xen + Xen
> heap is insufficient anyway.
> 
> Could you not just check all of memory, minus a few bits you expect
> can change? I don't think any other approach will be robust.
> 
>  -- Keir
> 
> On 20/01/2009 09:04, "Wang, Shane" <shane.wang@xxxxxxxxx> wrote:
> 
>> We are using xen_phys_start ~ xenheap_phys_end to check its
>> integrity (for the purpose of memory integrity protection) before
>> and after Sx by MACing this range. It looks like xen heap is not
>> continuous any more. 
>> 
>> Shane
>> ________________________________
>> 
>> From: Keir Fraser [mailto:keir.fraser@xxxxxxxxxxxxx]
>> Sent: 2009年1月20日 17:00
>> To: Cihula, Joseph; xen-devel@xxxxxxxxxxxxxxxxxxx;
>> xense-devel@xxxxxxxxxxxxxxxxxxx
>> Cc: Wang, Shane
>> Subject: Re: [PATCH] txt: 1/6 - "fix" xen_phys_start for 32b builds
>> 
>> 
>> Xen_phys/xenheap_phys has changed a bit since removing Xen heap for
>> x86/64. It sounds like you’ll be re-sending these patches later once
>> fixed up for xen-unstable tip. Perhaps this won’t be needed any
>> more. I’m not sure what you’re using xen_phys_start for, but it does
>> sound dubious. 
>> 
>>  -- Keir
>> 
>> On 20/01/2009 05:48, "Cihula, Joseph" <joseph.cihula@xxxxxxxxx>
>> wrote: 
>> 
>> 
>> 
>> On IA32 (32b/32b PAE) builds, set xen_phys_start (and by extension
>> xenheap_phys_start) to be the start of hypervisor code (instead of
>> 0).  This reflects the actual trust/protection boundary of the
>> hypervisor. 
>> 
>> Signed-off-by: Joseph Cihula <joseph.cihula@xxxxxxxxx>
>> 
>> diff -r 8df3c145923f -r f96073a97f5c xen/arch/x86/setup.c
>> --- a/xen/arch/x86/setup.c      Mon Jan 19 17:40:28 2009 +0000
>> +++ b/xen/arch/x86/setup.c      Mon Jan 19 20:22:24 2009 -0800
>> @@ -843,7 +843,7 @@ void __init __start_xen(unsigned long mb
>>     /* Initialise the Xen heap. */
>>     init_xenheap_pages(xenheap_phys_start, xenheap_phys_end);
>>     nr_pages = (xenheap_phys_end - xenheap_phys_start) >> PAGE_SHIFT;
>> -    xenheap_phys_start = xen_phys_start;
>> +    xenheap_phys_start = xen_phys_start = __pa(&_start);
>>     printk("Xen heap: %luMB (%lukB)\n",
>>            nr_pages >> (20 - PAGE_SHIFT),
>>            nr_pages << (PAGE_SHIFT - 10));

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