From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
Nicolas Pitre <nicolas.pitre@linaro.org>,
Russell King <rmk@arm.linux.org.uk>
Subject: linux-next: manual merge of the arm-lpae tree with the arm tree
Date: Tue, 22 Nov 2011 12:03:58 +1100 [thread overview]
Message-ID: <20111122120358.aa2cefdcdace9a98acafd4b9@canb.auug.org.au> (raw)
[-- Attachment #1: Type: text/plain, Size: 2968 bytes --]
Hi Catalin,
Today's linux-next merge of the arm-lpae tree got a conflict in
arch/arm/mm/ioremap.c between commit 3afb51f744b6 ("ARM: add generic
ioremap optimization by reusing static mappings") from the arm tree and
commit ec93d80c4b07 ("ARM: LPAE: Page table maintenance for the 3-level
format") from the arm-lpae tree.
I guessed (probably incorrectly) about the fix up (see below). Please
supply a better fix if necessary.
More generally, is the LPAE stuff going to be merged soon? The above
arm-lpae commit dates from February (though it was recommitted on Nov
15) ...
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc arch/arm/mm/ioremap.c
index 12c7ad2,d1f78ba..0000000
--- a/arch/arm/mm/ioremap.c
+++ b/arch/arm/mm/ioremap.c
@@@ -194,7 -208,14 +202,8 @@@ void __iomem * __arm_ioremap_pfn_caller
*/
if (pfn >= 0x100000 && (__pfn_to_phys(pfn) & ~SUPERSECTION_MASK))
return NULL;
+ #endif
- /*
- * Don't allow RAM to be mapped - this causes problems with ARMv6+
- */
- if (WARN_ON(pfn_valid(pfn)))
- return NULL;
-
type = get_mem_type(mtype);
if (!type)
return NULL;
@@@ -329,34 -322,28 +338,34 @@@ __arm_ioremap_exec(unsigned long phys_a
void __iounmap(volatile void __iomem *io_addr)
{
void *addr = (void *)(PAGE_MASK & (unsigned long)io_addr);
-#if !defined(CONFIG_SMP) && !defined(CONFIG_ARM_LPAE)
- struct vm_struct **p, *tmp;
+ struct vm_struct *vm;
- /*
- * If this is a section based mapping we need to handle it
- * specially as the VM subsystem does not know how to handle
- * such a beast. We need the lock here b/c we need to clear
- * all the mappings before the area can be reclaimed
- * by someone else.
- */
- write_lock(&vmlist_lock);
- for (p = &vmlist ; (tmp = *p) ; p = &tmp->next) {
- if ((tmp->flags & VM_IOREMAP) && (tmp->addr == addr)) {
- if (tmp->flags & VM_ARM_SECTION_MAPPING) {
- unmap_area_sections((unsigned long)tmp->addr,
- tmp->size);
- }
+ read_lock(&vmlist_lock);
+ for (vm = vmlist; vm; vm = vm->next) {
+ if (vm->addr > addr)
+ break;
+ if (!(vm->flags & VM_IOREMAP))
+ continue;
+ /* If this is a static mapping we must leave it alone */
+ if ((vm->flags & VM_ARM_STATIC_MAPPING) &&
+ (vm->addr <= addr) && (vm->addr + vm->size > addr)) {
+ read_unlock(&vmlist_lock);
+ return;
+ }
- #ifndef CONFIG_SMP
++#if !defined(CONFIG_SMP) && !defined(CONFIG_ARM_LPAE)
+ /*
+ * If this is a section based mapping we need to handle it
+ * specially as the VM subsystem does not know how to handle
+ * such a beast.
+ */
+ if ((vm->addr == addr) &&
+ (vm->flags & VM_ARM_SECTION_MAPPING)) {
+ unmap_area_sections((unsigned long)vm->addr, vm->size);
break;
}
- }
- write_unlock(&vmlist_lock);
#endif
+ }
+ read_unlock(&vmlist_lock);
vunmap(addr);
}
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
next reply other threads:[~2011-11-22 1:04 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-22 1:03 Stephen Rothwell [this message]
2011-11-22 8:13 ` linux-next: manual merge of the arm-lpae tree with the arm tree Russell King
2011-11-22 9:58 ` Catalin Marinas
2011-11-22 9:47 ` Catalin Marinas
2011-11-22 11:05 ` Catalin Marinas
-- strict thread matches above, loose matches on Subject: below --
2011-12-08 0:00 Stephen Rothwell
2011-12-09 10:36 ` Catalin Marinas
2011-12-09 11:11 ` Stephen Rothwell
2011-09-12 1:15 Stephen Rothwell
2011-07-07 1:14 Stephen Rothwell
2011-06-17 0:26 Stephen Rothwell
2011-06-17 10:17 ` Catalin Marinas
2011-06-10 0:52 Stephen Rothwell
2011-06-10 14:43 ` Catalin Marinas
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=20111122120358.aa2cefdcdace9a98acafd4b9@canb.auug.org.au \
--to=sfr@canb.auug.org.au \
--cc=catalin.marinas@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=nicolas.pitre@linaro.org \
--cc=rmk@arm.linux.org.uk \
/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).