From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
"H. Peter Anvin" <hpa@zytor.com>,
Peter Zijlstra <peterz@infradead.org>,
Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
Mark Salter <msalter@redhat.com>,
Matt Fleming <matt.fleming@intel.com>,
Steve Capper <steve.capper@linaro.org>
Subject: linux-next: manual merge of the tip tree with the arm64 tree
Date: Fri, 23 May 2014 16:44:02 +1000 [thread overview]
Message-ID: <20140523164402.37eceb11@canb.auug.org.au> (raw)
[-- Attachment #1: Type: text/plain, Size: 2242 bytes --]
Hi all,
Today's linux-next merge of the tip tree got a conflict in
arch/arm64/mm/mmu.c between commit a501e32430d4 ("arm64: Clean up the
default pgprot setting") and 206a2a73a62d ("arm64: mm: Create gigabyte
kernel logical mappings where possible") from the arm64 tree and commit
d7ecbddf4cae ("arm64: Add function to create identity mappings") from
the tip tree.
I fixed it up (maybe - see below - this may not be complete) and can
carry the fix as necessary (no action is required).
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc arch/arm64/mm/mmu.c
index 3a729de96f15,4a829a210bb6..000000000000
--- a/arch/arm64/mm/mmu.c
+++ b/arch/arm64/mm/mmu.c
@@@ -158,6 -192,17 +160,17 @@@ static void __init alloc_init_pmd(pud_
{
pmd_t *pmd;
unsigned long next;
+ pmdval_t prot_sect;
+ pgprot_t prot_pte;
+
+ if (map_io) {
+ prot_sect = PMD_TYPE_SECT | PMD_SECT_AF |
+ PMD_ATTRINDX(MT_DEVICE_nGnRE);
+ prot_pte = __pgprot(PROT_DEVICE_nGnRE);
+ } else {
- prot_sect = prot_sect_kernel;
++ prot_sect = PROT_SECT_NORMAL_EXEC;
+ prot_pte = PAGE_KERNEL_EXEC;
+ }
/*
* Check for initial section mappings in the pgd/pud and remove them.
@@@ -195,30 -242,7 +210,30 @@@ static void __init alloc_init_pud(pgd_
do {
next = pud_addr_end(addr, end);
- alloc_init_pmd(pud, addr, next, phys, map_io);
+
+ /*
+ * For 4K granule only, attempt to put down a 1GB block
+ */
+ if ((PAGE_SHIFT == 12) &&
+ ((addr | next | phys) & ~PUD_MASK) == 0) {
+ pud_t old_pud = *pud;
+ set_pud(pud, __pud(phys | PROT_SECT_NORMAL_EXEC));
+
+ /*
+ * If we have an old value for a pud, it will
+ * be pointing to a pmd table that we no longer
+ * need (from swapper_pg_dir).
+ *
+ * Look up the old pmd table and free it.
+ */
+ if (!pud_none(old_pud)) {
+ phys_addr_t table = __pa(pmd_offset(&old_pud, 0));
+ memblock_free(table, PAGE_SIZE);
+ flush_tlb_all();
+ }
+ } else {
- alloc_init_pmd(pud, addr, next, phys);
++ alloc_init_pmd(pud, addr, next, phys, map_io);
+ }
phys += next - addr;
} while (pud++, addr = next, addr != end);
}
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next reply other threads:[~2014-05-23 6:44 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-23 6:44 Stephen Rothwell [this message]
2014-05-23 9:23 ` linux-next: manual merge of the tip tree with the arm64 tree Catalin Marinas
-- strict thread matches above, loose matches on Subject: below --
2021-12-13 16:45 broonie
2021-08-27 4:09 Stephen Rothwell
2020-05-22 6:11 Stephen Rothwell
2020-03-18 4:27 Stephen Rothwell
2020-03-18 8:50 ` Catalin Marinas
2020-03-10 1:49 Stephen Rothwell
2019-04-15 4:25 Stephen Rothwell
2019-04-15 4:21 Stephen Rothwell
2017-11-01 5:47 Stephen Rothwell
2017-11-13 22:52 ` Stephen Rothwell
2017-08-22 3:38 Stephen Rothwell
2017-09-04 5:29 ` Stephen Rothwell
2017-06-16 3:25 Stephen Rothwell
2017-07-03 1:29 ` Stephen Rothwell
2017-03-31 3:02 Stephen Rothwell
2017-03-31 9:32 ` Arnd Bergmann
2017-03-31 11:24 ` Stephen Rothwell
2016-09-12 2:54 Stephen Rothwell
2016-05-12 2:00 Stephen Rothwell
2016-04-29 3:56 Stephen Rothwell
2016-04-29 9:04 ` Matt Fleming
2016-02-26 1:53 Stephen Rothwell
2016-02-26 1:53 Stephen Rothwell
2015-10-22 2:26 Stephen Rothwell
2015-10-22 12:06 ` Suzuki K. Poulose
2015-10-22 15:32 ` Catalin Marinas
2015-10-31 22:17 ` Stephen Rothwell
2015-10-15 3:05 Stephen Rothwell
2015-10-13 2:10 Stephen Rothwell
2015-10-13 9:50 ` Will Deacon
2014-05-23 6:28 Stephen Rothwell
2014-05-23 8:41 ` 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=20140523164402.37eceb11@canb.auug.org.au \
--to=sfr@canb.auug.org.au \
--cc=catalin.marinas@arm.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=matt.fleming@intel.com \
--cc=mingo@elte.hu \
--cc=msalter@redhat.com \
--cc=peterz@infradead.org \
--cc=steve.capper@linaro.org \
--cc=tglx@linutronix.de \
/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).