* rl78/crt0.S: Initialize .saddr. Avoid using SEL.
* rl78/rl78-sim.ld: Add .saddr/.frodata section. * rl78/rl78.ld: Likewise. * rl78/rl78-sim.ld: Make room for virtual register banks. * rl78/rl78.ld: Likewise. * rl78/vregs.h: New. * rl78-sys.h: Use it. * rl78/swrite.S: New. * rl78/Makefile.in: Build it. * rl78/write.c: Use it.
This commit is contained in:
		
							
								
								
									
										41
									
								
								libgloss/rl78/swrite.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								libgloss/rl78/swrite.S
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||
|  | ||||
							
								
								
									
										56
									
								
								libgloss/rl78/vregs.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								libgloss/rl78/vregs.h
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||
		Reference in New Issue
	
	Block a user