From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: RPi3 arm64 port status
Date: Wed, 23 Mar 2016 20:13:00 -0600 [thread overview]
Message-ID: <56F34D2C.9070609@wwwdotorg.org> (raw)
In-Reply-To: <87lh58k5ge.fsf@eliezer.anholt.net>
On 03/23/2016 07:52 PM, Eric Anholt wrote:
> I spent today working on getting aarch64 working on the Raspberry Pi 3.
> Here's what I've got so far:
>
> U-Boot branch mostly based on srwarren's work:
> https://github.com/anholt/u-boot/tree/rpi_dev
>
> (Check the commit messages there for necessary config.txt contents)
>
> My linux tree:
> https://github.com/anholt/linux/tree/bcm2837-64
>
> Linux is booting to the point of initializing MMC. As of recently, I'm
> seeing MMC hangs at boot, and I haven't tracked down what's changed.
>
> I haven't implemented SMP yet. Just like the 2836, the firmware has the
> secondaries spinlooping in a little bit of firmware memory, watching a
> channel of the the inter-processor mailboxes. When the secondary sees
> the channel get a value, it jumps to it. This is the same on the new
> 64-bit chips, even though the register we're communicating through is
> only 32 bits.
Are you sure about that? I was under the impression that on the RPi 2,
the secondary CPU spin loop was implemented in a short stub that the VC
firmware placed into RAM at address 0 (the default ARM CPU reset
vector), but that that for the RPi 3 in AArch64 mode, there was no such
stub available yet.
As such I made U-Boot link to address 0, relied on setting kernel_old=1
in config.txt (which causes U-Boot to be loaded at address 0) and
enabled a similar secondary CPU spin loop in U-Boot by enabling
CONFIG_ARMV8_MULTIENTRY=y. The U-Boot code waits for a write to a memory
location (currently hard-coded to a somewhat randomly chosen 0x0FFFFFF0)
rather than for a message to appear in the HW mailbox.
next prev parent reply other threads:[~2016-03-24 2:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-24 1:52 RPi3 arm64 port status Eric Anholt
2016-03-24 2:13 ` Stephen Warren [this message]
2016-03-24 5:53 ` Eric Anholt
-- strict thread matches above, loose matches on Subject: below --
2016-03-24 1:49 Eric Anholt
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=56F34D2C.9070609@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.