U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Schweigstill <andreas@schweigstill.de>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] question about interrupt
Date: Tue, 20 May 2008 10:36:25 +0200	[thread overview]
Message-ID: <48328D89.9050708@schweigstill.de> (raw)
In-Reply-To: <3a665c760805192253j4dd68bd5mb8c4fcc7407954a2@mail.gmail.com>

Hello!

loody schrieb:
> As far as I know, the cpu will set the PC to irq/fiq vector when the
> these exceptions are triggered. And these pointers are usually at the
> beginning position of bootloader, if bootloader wants to pass these
> functions to kernel, there may be some instructions like "b xxxxxx'.
> 
> If uboot don't handle these exceptions, how the kernel knows these events?

Probably you are confusing a bootloader with something like a BIOS. When
a Linux kernel starts it just copies some data (like information
contained in ATAGS on ARM processors) and activates the MMU. U-Boot just
works when the MMU is disabled because it uses physical addresses.

Usually the interrupt handler code isn't used by *plain* U-Boot, and
on many platforms it may be totally out-dated. The big advantage of this
concept is that you can implement your own interrupt handler without
fearing conflicts with other interrupt handler stuff, so the runtime
behaviour of such a single interrupt handler can be much more
predictable than in complex environments like Linux.

And the answer to the next question which you probably have in mind is:
No, the U-Boot process scheduler or realtime kernel also doesn't use
interrupts because the is no kernel. Everything is based on a main loop.
Yes, on implication is that U-Boot also won't respond to ARP/ICMP ECHO
or similar network requests when it isn't running a network command like
bootp, dhcp or ftp.

And also timer handling is not interrupt driven but instead performed by
polling some hardware timer registers.

Regards
Andreas Schweigstill


-- 
Dipl.-Phys. Andreas Schweigstill
Schweigstill IT | Embedded Systems
Schauenburgerstra?e 116, D-24118 Kiel, Germany
Phone: (+49) 431 5606-435, Fax: (+49) 431 5606-436
Mobile: (+49) 171 6921973, Web: http://www.schweigstill.de/

  parent reply	other threads:[~2008-05-20  8:36 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-20  2:11 [U-Boot-Users] question about interrupt loody
2008-05-20  5:18 ` Chetan Nanda
2008-05-20  5:53   ` loody
2008-05-20  8:36     ` Chetan Nanda
2008-05-20  9:23       ` Wolfgang Denk
2008-05-20  9:40         ` Chetan Nanda
2008-05-20 12:31           ` Wolfgang Denk
2008-05-20  8:36     ` Andreas Schweigstill [this message]
2008-05-20  9:25       ` Wolfgang Denk

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=48328D89.9050708@schweigstill.de \
    --to=andreas@schweigstill.de \
    --cc=u-boot@lists.denx.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