From: "Huang, Kai" <kai.huang@linux.intel.com>
To: Julien Grall <julien.grall@arm.com>,
Kai Huang <kaih.linux@gmail.com>,
xen-devel@lists.xen.org
Cc: andrew.cooper3@citrix.com, jbeulich@suse.com
Subject: Re: [PATCH 04/15] xen: mm: add ioremap_cache
Date: Wed, 12 Jul 2017 13:52:56 +1200 [thread overview]
Message-ID: <fe285c78-b0ec-c555-8b0a-d4117c55e093@linux.intel.com> (raw)
In-Reply-To: <102fb0c9-618a-5d77-affb-0a79ed2851c6@arm.com>
Hi Julien,
Thanks for pointing out. I'll move to x86 specific.
I've cc-ed all maintainers reported by ./scripts/get_maintainer.pl,
looks this script doesn't report all maintainers. Sorry. I'll add ARM
maintainers next time.
Thanks,
-Kai
On 7/12/2017 8:14 AM, Julien Grall wrote:
> Hi,
>
> On 07/09/2017 09:10 AM, Kai Huang wrote:
>> Currently Xen only has non-cacheable version of ioremap. Although EPC is
>> reported as reserved memory in e820 but it can be mapped as cacheable.
>> This
>> patch adds ioremap_cache (cacheable version of ioremap).
>>
>> Signed-off-by: Kai Huang <kai.huang@linux.intel.com>
>> ---
>> xen/arch/x86/mm.c | 15 +++++++++++++--
>> xen/include/xen/vmap.h | 1 +
>
> First of all, this is common code and the "REST" maintainers should have
> been CCed for this include.
>
> But xen/include/xen/vmap.h is common code and going to break ARM. We
> already have an inline implementation of ioremap_nocache. You should
> move the definition in x86 specific headers.
>
> Please make sure to at least build test ARM when touching common code.
>
> Cheers,
>
>> 2 files changed, 14 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
>> index 101ab33193..d0b6b3a247 100644
>> --- a/xen/arch/x86/mm.c
>> +++ b/xen/arch/x86/mm.c
>> @@ -6284,9 +6284,10 @@ void *__init arch_vmap_virt_end(void)
>> return (void *)fix_to_virt(__end_of_fixed_addresses);
>> }
>> -void __iomem *ioremap(paddr_t pa, size_t len)
>> +static void __iomem *__ioremap(paddr_t pa, size_t len, bool_t cache)
>> {
>> mfn_t mfn = _mfn(PFN_DOWN(pa));
>> + unsigned int flags = cache ? PAGE_HYPERVISOR :
>> PAGE_HYPERVISOR_NOCACHE;
>> void *va;
>> WARN_ON(page_is_ram_type(mfn_x(mfn), RAM_TYPE_CONVENTIONAL));
>> @@ -6299,12 +6300,22 @@ void __iomem *ioremap(paddr_t pa, size_t len)
>> unsigned int offs = pa & (PAGE_SIZE - 1);
>> unsigned int nr = PFN_UP(offs + len);
>> - va = __vmap(&mfn, nr, 1, 1, PAGE_HYPERVISOR_NOCACHE,
>> VMAP_DEFAULT) + offs;
>> + va = __vmap(&mfn, nr, 1, 1, flags, VMAP_DEFAULT) + offs;
>> }
>> return (void __force __iomem *)va;
>> }
>> +void __iomem *ioremap(paddr_t pa, size_t len)
>> +{
>> + return __ioremap(pa, len, false);
>> +}
>> +
>> +void __iomem *ioremap_cache(paddr_t pa, size_t len)
>> +{
>> + return __ioremap(pa, len, true);
>> +}
>> +
>> int create_perdomain_mapping(struct domain *d, unsigned long va,
>> unsigned int nr, l1_pgentry_t **pl1tab,
>> struct page_info **ppg)
>> diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h
>> index 369560e620..f6037e368c 100644
>> --- a/xen/include/xen/vmap.h
>> +++ b/xen/include/xen/vmap.h
>> @@ -24,6 +24,7 @@ void *vzalloc(size_t size);
>> void vfree(void *va);
>> void __iomem *ioremap(paddr_t, size_t);
>> +void __iomem *ioremap_cache(paddr_t, size_t);
>> static inline void iounmap(void __iomem *va)
>> {
>>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2017-07-12 1:52 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-09 8:03 [RFC PATCH 00/15] RFC: SGX virtualization design and draft patches Kai Huang
2017-07-09 8:04 ` [PATCH 01/15] xen: x86: expose SGX to HVM domain in CPU featureset Kai Huang
2017-07-12 11:09 ` Andrew Cooper
2017-07-17 6:20 ` Huang, Kai
2017-07-18 10:12 ` Andrew Cooper
2017-07-18 22:41 ` Huang, Kai
2017-07-09 8:09 ` [PATCH 02/15] xen: vmx: detect ENCLS VMEXIT Kai Huang
2017-07-12 11:11 ` Andrew Cooper
2017-07-12 18:54 ` Jan Beulich
2017-07-13 4:57 ` Huang, Kai
2017-07-09 8:09 ` [PATCH 03/15] xen: x86: add early stage SGX feature detection Kai Huang
2017-07-19 14:23 ` Andrew Cooper
2017-07-21 9:17 ` Huang, Kai
2017-07-22 1:06 ` Huang, Kai
2017-07-09 8:09 ` [PATCH 06/15] xen: x86: add SGX basic EPC management Kai Huang
2017-07-09 8:09 ` [PATCH 07/15] xen: x86: add functions to populate and destroy EPC for domain Kai Huang
2017-07-09 8:09 ` [PATCH 09/15] xen: vmx: handle SGX related MSRs Kai Huang
2017-07-19 17:27 ` Andrew Cooper
2017-07-21 9:42 ` Huang, Kai
2017-07-22 1:37 ` Huang, Kai
2017-07-09 8:09 ` [PATCH 10/15] xen: vmx: handle ENCLS VMEXIT Kai Huang
2017-07-09 8:09 ` [PATCH 11/15] xen: vmx: handle VMEXIT from SGX enclave Kai Huang
2017-07-09 8:09 ` [PATCH 12/15] xen: x86: reset EPC when guest got suspended Kai Huang
2017-07-09 8:10 ` [PATCH 04/15] xen: mm: add ioremap_cache Kai Huang
2017-07-11 20:14 ` Julien Grall
2017-07-12 1:52 ` Huang, Kai [this message]
2017-07-12 7:13 ` Julien Grall
2017-07-13 5:01 ` Huang, Kai
2017-07-12 6:17 ` Jan Beulich
2017-07-13 4:59 ` Huang, Kai
2017-07-09 8:10 ` [PATCH 08/15] xen: x86: add SGX cpuid handling support Kai Huang
2017-07-12 10:56 ` Andrew Cooper
2017-07-13 5:42 ` Huang, Kai
2017-07-14 7:37 ` Andrew Cooper
2017-07-14 11:08 ` Jan Beulich
2017-07-17 6:16 ` Huang, Kai
2017-07-09 8:12 ` [PATCH 05/15] xen: p2m: new 'p2m_epc' type for EPC mapping Kai Huang
2017-07-12 11:01 ` Andrew Cooper
2017-07-12 12:21 ` George Dunlap
2017-07-13 5:56 ` Huang, Kai
2017-07-09 8:14 ` [PATCH 13/15] xen: tools: add new 'epc' parameter support Kai Huang
2017-07-09 8:15 ` [PATCH 14/15] xen: tools: add SGX to applying CPUID policy Kai Huang
2017-07-09 8:16 ` [PATCH 15/15] xen: tools: expose EPC in ACPI table Kai Huang
2017-07-12 11:05 ` Andrew Cooper
2017-07-13 8:23 ` Huang, Kai
2017-07-14 11:31 ` Jan Beulich
2017-07-17 6:11 ` Huang, Kai
2017-07-17 10:54 ` Roger Pau Monné
2017-07-18 8:36 ` Huang, Kai
2017-07-18 10:21 ` Roger Pau Monné
2017-07-18 22:44 ` Huang, Kai
2017-07-11 14:13 ` [RFC PATCH 00/15] RFC: SGX virtualization design and draft patches Andrew Cooper
2017-07-17 6:08 ` Huang, Kai
2017-07-21 9:04 ` Huang, Kai
2017-07-17 9:16 ` Wei Liu
2017-07-18 8:22 ` Huang, Kai
2017-07-28 13:40 ` Wei Liu
2017-07-31 8:37 ` Huang, Kai
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=fe285c78-b0ec-c555-8b0a-d4117c55e093@linux.intel.com \
--to=kai.huang@linux.intel.com \
--cc=andrew.cooper3@citrix.com \
--cc=jbeulich@suse.com \
--cc=julien.grall@arm.com \
--cc=kaih.linux@gmail.com \
--cc=xen-devel@lists.xen.org \
/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).