linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Dave.Martin@arm.com (Dave Martin)
To: linux-arm-kernel@lists.infradead.org
Subject: angel_SWI_ARM
Date: Thu, 8 Aug 2013 19:13:55 +0100	[thread overview]
Message-ID: <20130808181355.GC2356@localhost.localdomain> (raw)
In-Reply-To: <52025020.1020506@codeaurora.org>

On Wed, Aug 07, 2013 at 09:48:16AM -0400, Christopher Covington wrote:
> On 08/07/2013 06:57 AM, zhaobin xv wrote:
> > Hello
> > when I read linux/arch/arm/boot/compressed/head.S
> > I can't understand :
> >  mrs    r2, cpsr        @ get current mode
> >         tst    r2, #3            @ not user?
> >         bne    not_angel
> >         mov    r0, #0x17        @ angel_SWIreason_EnterSVC
> >         swi    0x123456        @ angel_SWI_ARM
> > I want to know :
> > a) what is angel_SWI_ARM
> > b) what is angel debuger
> > c)Do the code " swi    0x123456 " make interrupt what make program
> > jump to addr 0x0000 0008
> > ,but addr 0x0000 0008 doesn't initialize.
> 
> Angel is ARM's semihosting interface.
> 
> http://infocenter.arm.com/help/topic/com.arm.doc.dui0471c/CHDJHHDI.html

I believe it's been used in the past to boot some early StrongARM based
boards like Assabet.

Since this seems to require an image to be downloaded via the serial
port, boards configured to use this are probably not self-booting.  I
doubt there are many people still using this today.


For all other configurations, the kernel is entered in SVC mode, not
User mode, so the code will be skipped.


Documentation/arm/Booting:

  For CPUs which do not include the ARM virtualization extensions, the
  CPU must be in SVC mode.  (A special exception exists for Angel)

Cheers
---Dave

      reply	other threads:[~2013-08-08 18:13 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-07 10:57 angel_SWI_ARM zhaobin xv
2013-08-07 13:48 ` angel_SWI_ARM Christopher Covington
2013-08-08 18:13   ` Dave Martin [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=20130808181355.GC2356@localhost.localdomain \
    --to=dave.martin@arm.com \
    --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 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).