public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
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

  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).