qemu-devel.nongnu.org archive mirror
 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 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).