* [ECOS] HAL_*_STRING
@ 2005-06-15 14:32 Leandro Fanzone
2005-06-15 14:45 ` Gary Thomas
0 siblings, 1 reply; 2+ messages in thread
From: Leandro Fanzone @ 2005-06-15 14:32 UTC (permalink / raw)
To: ecos-discuss
Hello,
I'm using ecos 2.0 under x86, and tried to use the HAL_*_STRING
macros, both for reading and writing. They don't work properly; the
assembly output shows that they lack the rep instruction preceding the
insb/outsb instructions. So the macros would be:
#define HAL_READ_UINT8_STRING( _register_, _buf_, _count_) \
CYG_MACRO_START \
asm volatile ( "rep insb" \
: \
: "c" (_count_), "d"(_register_), "D"(_buf_) \
); \
CYG_MACRO_END
#define HAL_WRITE_UINT8_STRING( _register_, _buf_, _count_) \
CYG_MACRO_START \
asm volatile ( "rep outsb" \
: \
: "c" (_count_), "d"(_register_), "S"(_buf_) \
); \
CYG_MACRO_END
The same thing for the 16 bit and 32 bit versions.
Regards,
Leandro Fanzone
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [ECOS] HAL_*_STRING
2005-06-15 14:32 [ECOS] HAL_*_STRING Leandro Fanzone
@ 2005-06-15 14:45 ` Gary Thomas
0 siblings, 0 replies; 2+ messages in thread
From: Gary Thomas @ 2005-06-15 14:45 UTC (permalink / raw)
To: Leandro Fanzone; +Cc: eCos Discussion
On Wed, 2005-06-15 at 11:28 -0300, Leandro Fanzone wrote:
> Hello,
> I'm using ecos 2.0 under x86, and tried to use the HAL_*_STRING
> macros, both for reading and writing. They don't work properly; the
> assembly output shows that they lack the rep instruction preceding the
> insb/outsb instructions. So the macros would be:
>
> #define HAL_READ_UINT8_STRING( _register_, _buf_, _count_) \
> CYG_MACRO_START \
> asm volatile ( "rep insb" \
> : \
> : "c" (_count_), "d"(_register_), "D"(_buf_) \
> ); \
> CYG_MACRO_END
>
> #define HAL_WRITE_UINT8_STRING( _register_, _buf_, _count_) \
> CYG_MACRO_START \
> asm volatile ( "rep outsb" \
> : \
> : "c" (_count_), "d"(_register_), "S"(_buf_) \
> ); \
> CYG_MACRO_END
>
> The same thing for the 16 bit and 32 bit versions.
> Regards,
These macros are only defined as a matter of reference (and then only
by a few HALs since they are not used by the kernel). In any case,
it makes sense to correct them.
Could you send a proper patch for this to ecos-patches@sourceware.org,
please? Include the changes for all versions (8/16/32).
Thanks
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-06-15 14:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-06-15 14:32 [ECOS] HAL_*_STRING Leandro Fanzone
2005-06-15 14:45 ` Gary Thomas
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).