[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[avr-libc-dev] [patch #6500] Reentrant code faq
From: |
Anatoly Sokolov |
Subject: |
[avr-libc-dev] [patch #6500] Reentrant code faq |
Date: |
Thu, 01 May 2008 14:32:31 +0000 |
User-agent: |
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; MRA 5.0 (build 02094); SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; Media Center PC 5.0; .NET CLR 3.5.21022) |
Follow-up Comment #1, patch #6500 (project avr-libc):
+ <tr>
+ <td>pgm_*_far()</td>
+ <td>Accesses I/O register RAMPZ.</td>
+ <td>Protect calls with cli()/sei(), ATOMIC_BLOCK(), or use OS
locking.</td>
+ </tr>
The GCC starting from 4.3 save RAMPZ register in interrupt handler routines,
and don't demand protect RAMPZ register accesses and 'pgm_*_far' calls.
Certainly, RT-OSes should be changed, and save the RAMPZ register at context
switching.
Anatoly.
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/patch/?6500>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/