From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31169 invoked by alias); 12 Sep 2007 04:51:32 -0000 Received: (qmail 31161 invoked by uid 22791); 12 Sep 2007 04:51:31 -0000 X-Spam-Check-By: sourceware.org Received: from pop132.ocn.ne.jp (HELO pop132.ocn.ne.jp) (60.37.31.215) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 12 Sep 2007 04:51:26 +0000 Received: from ariga (p3109-ipbf1207marunouchi.tokyo.ocn.ne.jp [124.84.132.109]) by pop132.ocn.ne.jp (OCN) with SMTP id l8C4pMAG028554; Wed, 12 Sep 2007 13:51:22 +0900 (JST) Message-ID: <000901c7f4f8$8e3a2330$1c0110ac@ariga> From: "ariga masahiro" To: "Andrew Lunn" Cc: References: <001701c7f383$91bcbfc0$1c0110ac@ariga> <20070910085235.GC19258@lunn.ch> <000801c7f41d$a6c00720$1c0110ac@ariga> <20070911141856.GG23980@lunn.ch> Date: Wed, 12 Sep 2007 04:51:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook Express 6.00.2900.2869 X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] How DSR is executed in interrupt ? X-SW-Source: 2007-09/txt/msg00062.txt.bz2 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