diff options
Diffstat (limited to 'libgloss')
-rw-r--r-- | libgloss/rl78/swrite.S | 41 | ||||
-rw-r--r-- | libgloss/rl78/vregs.h | 56 |
2 files changed, 97 insertions, 0 deletions
diff --git a/libgloss/rl78/swrite.S b/libgloss/rl78/swrite.S new file mode 100644 index 000000000..a9f4158bc --- /dev/null +++ b/libgloss/rl78/swrite.S @@ -0,0 +1,41 @@ +/* + +Copyright (c) 2011 Red Hat Incorporated. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + The name of Red Hat Incorporated may not be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#include "rl78-sys.h" + + + .global __SYS_write + .type __SYS_write, @function +__SYS_write: + SYSCALL(SYS_write) + .size __SYS_write, . - __SYS_write + diff --git a/libgloss/rl78/vregs.h b/libgloss/rl78/vregs.h new file mode 100644 index 000000000..fa488fabc --- /dev/null +++ b/libgloss/rl78/vregs.h @@ -0,0 +1,56 @@ + +; real +; GAS defines r0..r7 as aliases for real registers; we want the saddr +; forms here. +r_0 = 0xffef8 +r_1 = 0xffef9 +r_2 = 0xffefa +r_3 = 0xffefb +r_4 = 0xffefc +r_5 = 0xffefd +r_6 = 0xffefe +r_7 = 0xffeff + +#ifdef __RL78_G10__ + +; clobberable +r8 = 0xffec8 +r9 = 0xffec9 +r10 = 0xffeca +r11 = 0xffecb +r12 = 0xffecc +r13 = 0xffecd +r14 = 0xffece +r15 = 0xffecf +; preserved +r16 = 0xffed0 +r17 = 0xffed1 +r18 = 0xffed2 +r19 = 0xffed3 +r20 = 0xffed4 +r21 = 0xffed5 +r22 = 0xffed6 +r23 = 0xffed7 + +#else + +; clobberable +r8 = 0xffef0 +r9 = 0xffef1 +r10 = 0xffef2 +r11 = 0xffef3 +r12 = 0xffef4 +r13 = 0xffef5 +r14 = 0xffef6 +r15 = 0xffef7 +; preserved +r16 = 0xffee8 +r17 = 0xffee9 +r18 = 0xffeea +r19 = 0xffeeb +r20 = 0xffeec +r21 = 0xffeed +r22 = 0xffeee +r23 = 0xffeef + +#endif |