This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Atomic operations
- To: "Boris V. Guzhov" <borg at int dot spb dot ru>
- Subject: Re: [ECOS] Atomic operations
- From: Jonathan Larmour <jlarmour at redhat dot co dot uk>
- Date: Tue, 08 Aug 2000 16:29:43 +0100
- CC: ecos-discuss at sourceware dot cygnus dot com
- Organization: Red Hat UK Ltd.
- References: <006301c00147$52d39e40$7601a8c0@borg>
"Boris V. Guzhov" wrote:
> >
> >If you do need to go faster, you can try disabling and enabling
> >interrupts using cyg_interrupt_disable() and cyg_interrupt_enable().
> >Since there are only a few instructions involved for code like this,
> >it is unlikely that the maximum interrupt latency will be affected.
> >
> >Alternatively there might be some x86 instructions which will do the
> >right thing without having to disable interrupts, and which you could
> >invoke using some inline assembler. It has been quite a while since I
> >did any x86 assembler programming, I cannot help there.
>
> Thanks.
> I think that the instructions of the CPU interrupts disabling/enabling are
> available in many CPUs.
> And it's useful to have HAL macros's for them.
I think the HAL_ENABLE/DISABLE/RESTORE_INTERRUPTS macros in
hal/i386/pc/VERSION/include/var_intr.h are what you are probably looking
for here.
Jifl
--
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow." || These opinions are all my own fault