From: Robert Shideleff <bigbob@shideleff.com>
To: sid@sources.redhat.com, cgen@sources.redhat.com
Subject: SID/CGEN IRQ bug
Date: Thu, 01 Jul 2004 18:19:00 -0000 [thread overview]
Message-ID: <200407011418.58797.bigbob@shideleff.com> (raw)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I am sending this to both the SID and CGEN mailing lists because I am not sure
who would be in a position to fix this.
The SID model of the arm7t currently enters an interrupt in a way that
resembles edge detected interrupts in hardware. (It doesn't model them
perfectly, because it currently doesn't sense high-to-low transitions.
Instead, any call to drive the pin low no matter what state it is currently
in will spark an interrupt.)
However, regardless of the correctness of how the edge detected interrupts are
currently modeled, the arm7 irq pin is actually level sensitive, not edge
sensitive. This means that any attempt to model interrupt clearing and
setting cannot be made accurate. As an example, eCos depends on the level
sensitive behavior of interrupts. Otherwise, if multiple interrupts arrive at
the same time, it will miss all but one of them.
There is an incredibly trivial way to fix this in the already comgen'ed code.
I would simply modify the function that sets cpsr to check the sense of the
two interrupt pins and drive another irq if necessary. But this wouldn't fix
the original code. I looked through the compgen stuff, and got completely
lost. Is there anybody out there who knows how to fix this in the compgen
code?
Bob
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFA5FWR8XjOGQDr37YRAvlKAKCKGjrYiRDU6typvSPUgmeuI12HTACfSnAC
dyIlHVNVcg9qlLcMNtfOJcM=
=DCFz
-----END PGP SIGNATURE-----
next reply other threads:[~2004-07-01 18:19 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-07-01 18:19 Robert Shideleff [this message]
2004-07-02 18:29 ` Robert Shideleff
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=200407011418.58797.bigbob@shideleff.com \
--to=bigbob@shideleff.com \
--cc=cgen@sources.redhat.com \
--cc=sid@sources.redhat.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 read-only IMAP folder(s) and NNTP newsgroup(s).