From: Stefan Agner <stefan@agner.ch>
To: Arnd Bergmann <arnd@arndb.de>, robh+dt@kernel.org, keescook@chromium.org
Cc: linux-arm-kernel@lists.infradead.org, shawn.guo@linaro.org,
kernel@pengutronix.de, linux@arm.linux.org.uk,
u.kleine-koenig@pengutronix.de, jason@lakedaemon.net,
olof@lixom.net, daniel.lezcano@linaro.org, tglx@linutronix.de,
mark.rutland@arm.com, pawel.moll@arm.com,
ijc+devicetree@hellion.org.uk, galak@codeaurora.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
robh@kernel.org
Subject: Re: [PATCH 11/12] ARM: dts: add support for Vybrid running on Cortex-M4
Date: Sat, 20 Dec 2014 19:49:32 +0100 [thread overview]
Message-ID: <7bc0b583d64785eab13d28132af528b0@agner.ch> (raw)
In-Reply-To: <2375016.nxLFC8UMcD@wuerfel>
On 2014-12-18 23:44, Arnd Bergmann wrote:
> On Thursday 18 December 2014 21:36:31 Stefan Agner wrote:
>> On 2014-12-17 13:31, Arnd Bergmann wrote:
>> > On Wednesday 17 December 2014 00:41:33 Stefan Agner wrote:
>> >> On 2014-12-03 12:03, Arnd Bergmann wrote:
>> >> > Starting with v3.19, you should be able to use the earlycon framework on
>> >> > arm32, so it would be better to replace earlyprintk with earlycon here
>> >> > and add a stdout-path property in chosen that points to the console
>> >> > uart.
>> >>
>> >> I started to implement earlycon support, but something currently fails
>> >> when earlycon tries to map the UART registers:
>> >> [ 0.000000] earlycon_map: Couldn't map 0x40027000
>> >>
>> >> I traced the issue a bit further down and found that get_vm_area_caller
>> >> returns NULL (in __arm_ioremap_pfn_caller). This happend on Linus master
>> >> as of today (2dbfca5a181973558277b28b1f4c36362291f5e0). Do I miss
>> >> something here?
>> >
>> > Hmm, I fear the arm32 FIX_EARLYCON_MEM support ended up not making it
>> > into 3.19 after all.
>>
>> Is it because early_ioremap and fixmap still missing for arm32?
>> According to Rob's patchset from spring fixmap is required, there is
>> something in this tree:
>> https://git.kernel.org/cgit/linux/kernel/git/robh/linux.git/log/?h=arm-fixmap
>
> Right, that's the one, thanks for finding that again. There are five
> patches on that branch. The first three got merged, and the one we
> need is just the last one (ARM: fixmap early permanent mapping support),
> but the implementation depends on the previous patch (arm: add
> early_ioremap support).
>
> I was hoping we'd see both of them in 3.19, but apparently Rob didn't
> submit the latest version. If you don't mind, could you try forward-porting
> them to the latest kernel and then submit them for inclusion? You could
> also try adapting the last patch to work without the early_ioremap
> support that we don't really need that urgently on arm32.
Looked into that a bit more in depth. I tried creating a patch which
adds just what is necessary to support FIX_EARLYCON_MEM. Fixmap seems to
be in place, just for earlycon it would need a fixmap entry with
FIX_EARLYCON_MEM_BASE. And I guess later during boot, it would need a
call to create_mapping to create a permanent mapping of it.
Currently I'm stuck in the __set_fixmap call, on set_pte_ext call the
kernel freezes. The arguments look fine as far as I can tell (vaddr
ffeff000, phys 40027000, pgprot is FIXMAP_PAGE_IO, defined as in Rob's
patchset).
Afaik, initialization for early fixmap is missing, I guess we could do
something which looks similar to what ARM64 has now:
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=af86e5974d3069bd26ebcf7c046c6e59726acaaa
I'm wondering what the value is of __set_fixmap without that, as is
right now? I still need to understand the whole MM stuff a bit more. I
will be away the next couple of days, but will have a look into it
towards the end of the year. But if anyone else can help make that
happen (who might be better in the picture of fixmap than I am), I'm
happy too :-)
--
Stefan
next prev parent reply other threads:[~2014-12-20 18:49 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-03 0:11 [PATCH 00/12] ARM: vf610m4: Add Vybrid Cortex-M4 support Stefan Agner
2014-12-03 0:12 ` [PATCH 01/12] ARM: dts: vf610: add routable-irqs property for gic node Stefan Agner
2014-12-03 0:12 ` [PATCH 02/12] ARM: dts: vf610: add Miscellaneous System Control Module (MSCM) Stefan Agner
2014-12-03 0:12 ` [PATCH 03/12] irqchip: gic: define register_routable_domain_ops conditional Stefan Agner
2014-12-03 10:46 ` Arnd Bergmann
2014-12-03 13:04 ` Thomas Gleixner
2014-12-03 17:28 ` Stefan Agner
2014-12-03 19:04 ` Marc Zyngier
2014-12-04 0:03 ` Thomas Gleixner
2014-12-04 13:35 ` Stefan Agner
2014-12-04 13:42 ` Marc Zyngier
2014-12-04 13:50 ` Stefan Agner
2014-12-03 0:12 ` [PATCH 04/12] irqchip: nvic: support routable irq domain ops Stefan Agner
2014-12-03 9:39 ` Uwe Kleine-König
2014-12-03 10:49 ` Arnd Bergmann
2014-12-03 17:32 ` Stefan Agner
2014-12-03 0:12 ` [PATCH 05/12] irqchip: nvic: increase number of external interrupts to 112 Stefan Agner
2014-12-03 8:12 ` Uwe Kleine-König
2014-12-03 17:40 ` Stefan Agner
2014-12-03 0:12 ` [PATCH 06/12] ARM: imx: add support for MSCM interrupt router Stefan Agner
2014-12-03 10:51 ` Arnd Bergmann
2014-12-03 0:12 ` [PATCH 07/12] Documentation: dt: imx: add MSCM documentation Stefan Agner
2014-12-03 10:52 ` Arnd Bergmann
2014-12-03 17:49 ` Stefan Agner
2014-12-03 0:12 ` [PATCH 08/12] clocksource: add dependencies for Vybrid pit clocksource Stefan Agner
2014-12-03 0:12 ` [PATCH 09/12] ARM: unify MMU/!MMU addruart calls Stefan Agner
2014-12-03 10:53 ` Arnd Bergmann
2014-12-03 0:12 ` [PATCH 10/12] ARM: vf610m4: add new machine and SoC for Vybrid on Cortex-M4 Stefan Agner
2014-12-03 10:56 ` Arnd Bergmann
2014-12-03 18:00 ` Stefan Agner
2014-12-03 0:12 ` [PATCH 11/12] ARM: dts: add support for Vybrid running " Stefan Agner
2014-12-03 11:03 ` Arnd Bergmann
2014-12-16 22:19 ` Stefan Agner
2014-12-17 10:57 ` Arnd Bergmann
2014-12-16 23:41 ` Stefan Agner
2014-12-17 12:31 ` Arnd Bergmann
2014-12-18 20:36 ` Stefan Agner
2014-12-18 22:44 ` Arnd Bergmann
2014-12-20 18:49 ` Stefan Agner [this message]
2014-12-03 0:12 ` [PATCH 12/12] ARM: vf610m4: add defconfig for Linux on Vybrids Cortex-M4 Stefan Agner
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=7bc0b583d64785eab13d28132af528b0@agner.ch \
--to=stefan@agner.ch \
--cc=arnd@arndb.de \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=jason@lakedaemon.net \
--cc=keescook@chromium.org \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=olof@lixom.net \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=robh@kernel.org \
--cc=shawn.guo@linaro.org \
--cc=tglx@linutronix.de \
--cc=u.kleine-koenig@pengutronix.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
Powered by JetHome