2 * Due to problems while transferring data I've put these routines as assembly
4 * Since I'm no PPC assembler guru, the code is just the assembler version of
6 int oktag_to_io(long *paddr,long *addr,long len)
9 for(len=(len+sizeof(long)-1)/sizeof(long);len--;)
14 int oktag_from_io(long *addr,long *paddr,long len)
17 for(len=(len+sizeof(long)-1)/sizeof(long);len--;)
22 * assembled using gcc -O2 -S, with two exception catch points where data
23 * is moved to/from the IO register.
28 The code which follows is for 680x0 based assembler and is meant for
29 Linux/m68k. It was created by cross compiling the code using the
30 instructions given above. I then added the four labels used in the
31 exception handler table at the bottom of this file.
32 - Kevin <kcozens@interlog.com>
43 .type oktag_to_io,@function
74 .size oktag_to_io,.Lfe1-oktag_to_io
77 .type oktag_from_io,@function
107 .size oktag_from_io,.Lfe2-oktag_from_io
108 .ident "GCC: (GNU) 2.7.2.1"
112 * Second longword shows where to jump when an exception at the addr the first
113 * longword is pointing to is caught.
116 .section __ex_table,"a"