From: "Chen, Tiejun" <tiejun.chen@intel.com>
To: "Tian, Kevin" <kevin.tian@intel.com>, Jan Beulich <JBeulich@suse.com>
Cc: "Zhang, Yang Z" <yang.z.zhang@intel.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
"ian.jackson@eu.citrix.com" <ian.jackson@eu.citrix.com>,
"ian.campbell@citrix.com" <ian.campbell@citrix.com>,
"stefano.stabellini@eu.citrix.com"
<stefano.stabellini@eu.citrix.com>
Subject: Re: [RFC][PATCH 4/5] tools:firmware:hvmloader: reserve RMRR mappings in e820
Date: Tue, 12 Aug 2014 18:59:19 +0800 [thread overview]
Message-ID: <53E9F387.60605@intel.com> (raw)
In-Reply-To: <AADFC41AFE54684AB9EE6CBC0274A5D126030616@SHSMSX101.ccr.corp.intel.com>
On 2014/8/12 0:00, Tian, Kevin wrote:
>> From: Jan Beulich [mailto:JBeulich@suse.com]
>> Sent: Sunday, August 10, 2014 11:53 PM
>>
>>>>> On 08.08.14 at 23:47, <kevin.tian@intel.com> wrote:
>>>> From: Chen, Tiejun
>>>> Sent: Thursday, August 07, 2014 4:03 AM
>>>>
>>>> We need to reserve all RMRR mappings in e820 to avoid any
>>>> potential guest memory conflict.
>>>
>>> strictly speaking besides reserving in e820, you should also poke later
>>> MMIO BAR allocations to avoid confliction too. Currently it's relative
>>> to low_mem_pgend, which is likely to be different from host layout
>>> so it's still possible to see a virtual MMIO bar base conflicting to the
>>> RMRR ranges which are supposed to be sparse.
>>
>> Correct. And what's worse: Possible collisions between RMRRs and
>> the BIOS we place into the VM need to be taken care of, which may
>> turn out rather tricky.
>>
>
> right that becomes tricky. We can provide another hypercall to allow a
> VM tell Xen which RMRR can't be assigned due to confliction with gust
> BIOS or other hvmloader allocation (if confliction can't be resolved).
>
> If Xen detects a device owning RMRR is already assigned to the VM,
> then fail the hypercall and hvmloader just panic with information to
> indicate confliction.
>
> Otherwise Xen records the information and future dynamic device
> assignment like hotplug will be failed if associated RMRR will be in
> the confliction list.
From my point of view its becoming over complicated.
In HVM case, theoretically any devices involving RMRR may be assigned to
any given VM. So it may not be necessary to introduce such complex
mechanism. Therefore, I think we can reserve all RMRR maps simply in
e820, and check if MMIO is overlapping with RMRR for every VM. It should
be acceptable.
Or please further comments in next revision, I can address your opinion
again.
Thanks
Tiejun
>
> Thanks
> Kevin
>
next prev parent reply other threads:[~2014-08-12 10:59 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-07 11:02 [RFC][PATCH 0/5] xen: reserve RMRR to avoid conflicting MMIO/RAM Tiejun Chen
2014-08-07 11:02 ` [RFC][PATCH 1/5] xen:x86: record RMRR mappings Tiejun Chen
2014-08-08 15:36 ` Jan Beulich
2014-08-11 3:04 ` Chen, Tiejun
2014-08-11 6:51 ` Jan Beulich
2014-08-11 7:00 ` Chen, Tiejun
2014-08-11 8:42 ` Jan Beulich
2014-08-07 11:02 ` [RFC][PATCH 2/5] xen:x86: introduce a new hypercall to get " Tiejun Chen
2014-08-08 15:45 ` Jan Beulich
2014-08-12 10:55 ` Chen, Tiejun
2014-08-12 12:19 ` Jan Beulich
2014-08-13 0:40 ` Chen, Tiejun
2014-08-13 18:21 ` Tian, Kevin
2014-08-14 1:07 ` Chen, Tiejun
2014-08-14 16:51 ` Jan Beulich
2014-08-15 6:13 ` Chen, Tiejun
2014-08-07 11:02 ` [RFC][PATCH 3/5] tools:libxc: remove mmio BAR out of " Tiejun Chen
2014-08-08 15:49 ` Jan Beulich
2014-08-08 21:33 ` Tian, Kevin
2014-08-12 10:56 ` Chen, Tiejun
2014-08-12 12:21 ` Jan Beulich
2014-08-12 10:55 ` Chen, Tiejun
2014-08-07 11:02 ` [RFC][PATCH 4/5] tools:firmware:hvmloader: reserve RMRR mappings in e820 Tiejun Chen
2014-08-07 12:03 ` Andrew Cooper
2014-08-08 2:11 ` Chen, Tiejun
2014-08-08 6:42 ` Jan Beulich
2014-08-08 7:30 ` Chen, Tiejun
2014-08-08 7:43 ` Jan Beulich
2014-08-08 8:39 ` Chen, Tiejun
2014-08-08 9:01 ` Jan Beulich
2014-08-08 9:28 ` Chen, Tiejun
2014-08-08 15:53 ` Jan Beulich
2014-08-08 15:58 ` Andrew Cooper
2014-08-11 6:48 ` Jan Beulich
2014-08-12 7:59 ` Chen, Tiejun
2014-08-08 21:47 ` Tian, Kevin
2014-08-11 6:53 ` Jan Beulich
2014-08-11 16:00 ` Tian, Kevin
2014-08-12 10:59 ` Chen, Tiejun [this message]
2014-08-12 12:25 ` Jan Beulich
2014-08-13 0:57 ` Chen, Tiejun
2014-08-13 19:10 ` Tian, Kevin
2014-08-14 3:03 ` Chen, Tiejun
2014-08-14 23:11 ` Tian, Kevin
2014-08-15 8:21 ` Chen, Tiejun
2014-08-12 10:56 ` Chen, Tiejun
2014-08-12 12:22 ` Jan Beulich
2014-08-12 10:56 ` Chen, Tiejun
2014-08-07 11:02 ` [RFC][PATCH 5/5] xen:vtd: make USB RMRR mapping safe Tiejun Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53E9F387.60605@intel.com \
--to=tiejun.chen@intel.com \
--cc=JBeulich@suse.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=kevin.tian@intel.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xen.org \
--cc=yang.z.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).