From: "ariga masahiro" <ariga@link-lab.co.jp>
To: "Andrew Lunn" <andrew@lunn.ch>
Cc: <ecos-discuss@ecos.sourceware.org>
Subject: Re: [ECOS] How DSR is executed in interrupt ?
Date: Wed, 12 Sep 2007 04:51:00 -0000 [thread overview]
Message-ID: <000901c7f4f8$8e3a2330$1c0110ac@ariga> (raw)
In-Reply-To: <20070911141856.GG23980@lunn.ch>
Hi,
Andrew wrote,
> Which SH processor do you have? Take a look at the code in
> sh*/current/src/var_misc.c:hal_interrupt_mask()
SH7709S.
In my ISR(cf.below),calling cyg_drv_interrupt_mask(cpd->interrupt),
and it is defined like next.
packages\hal\common\v2_0\include\drv_api.h(101): #define
cyg_drv_interrupt_mask cyg_interrupt_mask
So I presumed
packages\kernel\v2_0\src\common\kapi.cxx(590): externC void
cyg_interrupt_mask(cyg_vector_t vector)
/* Interrupt controller access
*/
externC void cyg_interrupt_mask(cyg_vector_t vector)
{
Cyg_Interrupt::mask_interrupt( (cyg_vector)vector);
}
is called.
Am I mistaken ?
I am especially dubious whether it is correctly called.
My next dubious point is that argument cpd->interrupt is
used as eCos Vector-Table refence pointer.Is it correct to pass the same
number to
cyg_drv_interrupt_mask ? But I am sorry I can't fathom it yet.
-- my ISR routine is below
lan91cxx_isr(cyg_vector_t vector, cyg_addrword_t data
/* , HAL_SavedRegisters *regs */ )
{
struct eth_drv_sc *sc = (struct eth_drv_sc *)data;
struct lan91cxx_priv_data *cpd =
(struct lan91cxx_priv_data *)sc->driver_private;
DEBUG_FUNCTION();
INCR_STAT( interrupts );
//20070903
diag_printf("ISR int=%d\n",cpd->interrupt);
cyg_drv_interrupt_mask(cpd->interrupt);
cyg_drv_interrupt_acknowledge(cpd->interrupt);
return (CYG_ISR_HANDLED|CYG_ISR_CALL_DSR); // Run the DSR
}
> You might have a firewall blocking access. Take a look at
> www.ecoscentric.com. They have daily snapshots of the CVS trunk.
I abondoned WinCvs1.2 because of executing not properly
althoug I nulled firewall.
Instead I used shell command on cygwin and could retrieve latest version( I
think ).
I checked cvs version and learned it is 1.11.22.
I created directory for CVS and named it /ecoscvs.
I cd'ed to /ecoscvs,and used next checkout command.
cvs -z3 -d :pserver:anoncvs@ecos.sourceware.org:/cvs/ecos co -P ecos
Though appeared next warning, I ignored.
cvs checkout: warning: failed to open /home/LINK/.cvspass for reading: No
such f
ile or directory
Followning short wait period, began downloading and outputting log
on cygwin shell window.
But little time later,it stops and never return to shell prompt.
I tried several times and I am confirmed it always stops same log posion.
I presumed it is caused by something like EOF and assumed
revised-source-proper are downloaded correctlry.
-- next is last part of log when stopped
cvs checkout: Updating ecos/packages/hal/arm/ebsa285/current/support
cvs checkout: Updating ecos/packages/hal/arm/ebsa285/current/support/linux
cvs checkout: Updating
ecos/packages/hal/arm/ebsa285/current/support/linux/safl_util
cvs checkout: Updating ecos/packages/hal/arm/ebsa285/current/tests
cvs checkout: Updating ecos/packages/hal/arm/edb7xxx
cvs checkout: Updating ecos/packages/hal/arm/edb7xxx/current
cvs checkout: Updating ecos/packages/hal/arm/edb7xxx/current/cdl
cvs checkout: Updating ecos/packages/hal/arm/edb7xxx/current/include
cvs checkout: Updating ecos/packages/hal/arm/edb7xxx/current/include/pkgconf
cvs checkout: Updating ecos/packages/hal/arm/edb7xxx/current/misc
After that
I replaced newly-downloaded source as follows.
First I copied and reserved current ecos directory C:\cygwin\opt\ecos
by renaminig C:\cygwin\opt\ecos_precvs.
And I copied renewd source from /ecoscvs into corresponding current
directoy,
and amended minor target-dependent changed to copied files.
Anyway this is first time I revised source using CVS,I have no confidence
about
correct procedures.
Please enlighten me if I mistook something.
Masahiro Ariga
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
next prev parent reply other threads:[~2007-09-12 4:51 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-10 8:21 ariga masahiro
2007-09-10 8:52 ` Andrew Lunn
2007-09-11 2:44 ` ariga masahiro
2007-09-11 14:19 ` Andrew Lunn
2007-09-12 4:51 ` ariga masahiro [this message]
2007-09-12 5:14 ` Paul D. DeRocco
2007-09-12 8:19 ariga masahiro
2007-09-12 8:25 ` Andrew Lunn
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='000901c7f4f8$8e3a2330$1c0110ac@ariga' \
--to=ariga@link-lab.co.jp \
--cc=andrew@lunn.ch \
--cc=ecos-discuss@ecos.sourceware.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 read-only IMAP folder(s) and NNTP newsgroup(s).