All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christopher Covington <cov@codeaurora.org>
To: Semion Prihodko <semion.ababo@gmail.com>
Cc: Claudio Fontana <claudio.fontana@huawei.com>,
	QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] HelloWord kernel for qemu-system-aarch64
Date: Fri, 05 Sep 2014 14:27:09 -0400	[thread overview]
Message-ID: <540A007D.6090500@codeaurora.org> (raw)
In-Reply-To: <CAOLuvB0O89=ciHZZ5eVvUfwCCUL1ubSg2BZV9_-bsMbXZcKuaQ@mail.gmail.com>

On 09/05/2014 01:52 PM, Semion Prihodko wrote:
> This is tricky to deepen in this large code base. It looks strange that
> there's no simple concrete tutorial like we have for all other CPU
> architectures (e.g. in osdev.org <http://osdev.org>).

AArch64 hasn't really changed the PL011 UART (nor GIC, nor VirtIO-MMIO, nor
semihosting, although maybe DCC a little) as far as I recall. The UART
functions from the following article are probably reusable.

http://wiki.osdev.org/ARM_Integrator-CP_IRQTimerAndPIC

Among other things, AArch64 is pretty new compared to the other architectures
on osdev.org. If you get something going, maybe you can write the tutorial.

Christopher

> 05 Сен 2014 г. 19:57 пользователь "Claudio Fontana"
> <claudio.fontana@huawei.com <mailto:claudio.fontana@huawei.com>> написал:
> 
>     On 05.09.2014 16 <tel:05.09.2014%2016>:50, Semion Prihodko wrote:
>     > Let's discard semihosting. I have aarch64-linux-gnu-* toolchain and
>     > qemu-system-aarch64 emulator. How can I build a minimal kernel which
>     > outputs Hello World! via serial port and run it on the emulator?
>     >
> 
>     If you run qemu with the "virt" platform, you can write to the UART at
>     0x9000000
>     to get a character out, works very early.
> 
>     You could check the AArch64 port of the OSv Operating System, has a simple
>     boot loader
>     you can look at (arch/aarch64/preboot.S and arch/aarch64/boot.S)
>     and the pl011 device you find in drivers/pl011.cc
> 
>     https://github.com/cloudius-systems/osv/wiki/AArch64
> 
>     Good luck,
> 
>     Claudio
> 
>     >
>     > 2014-09-04 21:15 GMT+03:00 Christopher Covington <cov@codeaurora.org
>     <mailto:cov@codeaurora.org>>:
>     >
>     >> Hi Semion,
>     >>
>     >> On 09/04/2014 09:40 AM, Semion Prihodko wrote:
>     >>> Still don't know how to build/run a simple Hello World kernel on
>     >>> qemu-system-aarch64?
>     >>>
>     >>> Guys, this is a very basic thing, please provide concrete steps. Thanks.
>     >>
>     >> Here you go. Start at the wget.
>     >>
>     >> http://lists.gnu.org/archive/html/qemu-devel/2014-07/msg03487.html
>     >>
>     >> Angel semihosting isn't implemented upstream so a text hello world won't be
>     >> trivial, although given enough time it should be possible to implement
>     >> Angel
>     >> semihosting for A64 in QEMU, implement DCC in QEMU and Newlib/libgloss or
>     >> implement PL011 UART or VirtIO-MMIO console in Newlib/libgloss.
>     >>
>     >> Some of the bootloaders and firmwares out there (bootwrapper, ARM trusted
>     >> firmware, UEFI/Tianocore) may have examples of using the PL011 UART.
>     >>
>     >> Christopher
>     >>
>     >> --
>     >> Employee of Qualcomm Innovation Center, Inc.
>     >> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>     >> hosted by the Linux Foundation.
>     >>
> 


-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by the Linux Foundation.

      reply	other threads:[~2014-09-05 18:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-04 10:40 [Qemu-devel] HelloWord kernel for qemu-system-aarch64 Semion Prihodko
2014-09-04 13:29 ` Peter Maydell
2014-09-04 13:40   ` Semion Prihodko
2014-09-04 13:44     ` Peter Maydell
2014-09-04 13:49       ` Semion Prihodko
2014-09-04 13:50         ` Peter Maydell
2014-09-04 18:15     ` Christopher Covington
2014-09-05 14:50       ` Semion Prihodko
2014-09-05 16:57         ` Claudio Fontana
2014-09-05 17:52           ` Semion Prihodko
2014-09-05 18:27             ` Christopher Covington [this message]

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=540A007D.6090500@codeaurora.org \
    --to=cov@codeaurora.org \
    --cc=claudio.fontana@huawei.com \
    --cc=qemu-devel@nongnu.org \
    --cc=semion.ababo@gmail.com \
    /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.