20000317 sourceware import
This commit is contained in:
		
							
								
								
									
										69
									
								
								libgloss/mips/nullmon.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								libgloss/mips/nullmon.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,69 @@ | ||||
| /* nullmon.c - Stub or monitor services. | ||||
|  * | ||||
|  * Copyright (c) 1998 Cygnus Support | ||||
|  * | ||||
|  * The authors hereby grant permission to use, copy, modify, distribute, | ||||
|  * and license this software and its documentation for any purpose, provided | ||||
|  * that existing copyright notices are retained in all copies and that this | ||||
|  * notice is included verbatim in any distributions. No written agreement, | ||||
|  * license, or royalty fee is required for any of the authorized uses. | ||||
|  * Modifications to this software may be copyrighted by their authors | ||||
|  * and need not follow the licensing terms described here, provided that | ||||
|  * the new terms are clearly indicated on the first page of each file where | ||||
|  * they apply. | ||||
|  */ | ||||
|  | ||||
| /* This is a ROMSTUB | ||||
|     Various libraries in libgloss may reference board specific services. | ||||
|    These are often performed by system calls and by rom specific | ||||
|    interfaces such as dvemon.c This file defines the null interface in | ||||
|    which the rom monitor either does not exist or is not used. | ||||
|    Linking with this file supports applications which only exercise | ||||
|    the processor, specifically, the GDB test suite. | ||||
|    By linking this object in rather than a monitor specific support | ||||
|    we can insure that the testsuite will run without references or | ||||
|    linkages to nonexistent monitor services. | ||||
|    Similarly, every service provided by this file muse be provided by all | ||||
|    monitor speciifc interfaces. | ||||
|    PLEASE DO NOT MAKE THIS FILE SPECIFIC TO ANY MONITOR | ||||
|  */    | ||||
|  | ||||
| /* This form is giving linker relocation errors */ | ||||
| #if ! defined(BOARD_MEM_SIZE) | ||||
| #define BOARD_MEM_SIZE 0x100000 /* About a megabyte */ | ||||
| #endif | ||||
| extern unsigned char _ftext ; /* Defined in nullmon.ld */ | ||||
| extern unsigned char _end ;   /* Defined in nullmon.ld */ | ||||
|  | ||||
| #if defined(FIXME_WARNINGS) | ||||
| #warning("FIXME: struct s_mem belongs in a header file") | ||||
| #endif | ||||
| struct s_mem | ||||
| { unsigned int size; | ||||
|   unsigned int icsize; | ||||
|   unsigned int dcsize; | ||||
| }; | ||||
|  | ||||
| void | ||||
| get_mem_info (mem) | ||||
|      struct s_mem *mem; | ||||
| { char * t1, * t2 ; | ||||
|   unsigned long long tmp ; | ||||
|   t1 = & _ftext ; | ||||
|   t2 = & _end ; | ||||
|   tmp = (unsigned long long) (t2 - t1) ; | ||||
|   tmp = (unsigned long long) BOARD_MEM_SIZE - tmp ; | ||||
|   mem->size = tmp ; | ||||
| } | ||||
|  | ||||
| /*  SYSTEM INTERFACE | ||||
|   Since we are defining a NULL operating environment here, I am | ||||
|   entering the stub definitions for the GNUpro libraries, System Calls. | ||||
|   I would rather not to even pretend to support these functions but, they | ||||
|   get pulled in by other libraries. | ||||
| */ | ||||
|   | ||||
| int read(int file, char * ptr , int len) {   return 0 ; } | ||||
| int close (int file) { return -1 ; } | ||||
| int write(int file , char * ptr, int len) { return 0 ; } | ||||
| /*eof*/ | ||||
		Reference in New Issue
	
	Block a user