diff options
author | Michael Meissner <gnu@the-meissners.org> | 2002-02-01 17:22:59 +0000 |
---|---|---|
committer | Michael Meissner <gnu@the-meissners.org> | 2002-02-01 17:22:59 +0000 |
commit | 2c8d73598c360a079215758061c644ed1f88960a (patch) | |
tree | c48378dbd6ff6e91075c2450e8ee3a4b62daf0e4 /libgloss | |
parent | d49d4a33da25072a891202be25f987aed8c2a2d8 (diff) | |
download | newlib-2c8d73598c360a079215758061c644ed1f88960a.zip newlib-2c8d73598c360a079215758061c644ed1f88960a.tar.gz newlib-2c8d73598c360a079215758061c644ed1f88960a.tar.bz2 |
Allow mips user to override memory size
Diffstat (limited to 'libgloss')
-rw-r--r-- | libgloss/ChangeLog | 6 | ||||
-rw-r--r-- | libgloss/mips/cma101.c | 10 |
2 files changed, 15 insertions, 1 deletions
diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog index e888fab..11b8857 100644 --- a/libgloss/ChangeLog +++ b/libgloss/ChangeLog @@ -1,3 +1,9 @@ +2002-02-01 Michael Meissner <meissner@redhat.com> + + * mips/cma101.c (__sizemem_default): Allow user to specify the + memory size. + (__sizemem): Use it. + 2002-01-24 Mark Salter <msalter@redhat.com> * arm/redboot-crt0.S: Use __get_memtop to put stack in high memory. diff --git a/libgloss/mips/cma101.c b/libgloss/mips/cma101.c index 83fa4d5..5456eaf 100644 --- a/libgloss/mips/cma101.c +++ b/libgloss/mips/cma101.c @@ -1,7 +1,7 @@ /* * cma101.c -- lo-level support for Cogent CMA101 development board. * - * Copyright (c) 1996, 2001 Cygnus Support + * Copyright (c) 1996, 2001, 2002 Cygnus Support * * The authors hereby grant permission to use, copy, modify, distribute, * and license this software and its documentation for any purpose, provided @@ -179,6 +179,9 @@ extern unsigned int __buserr_count(void); extern void __default_buserr_handler(void); extern void __restore_buserr_handler(void); +/* Allow the user to provide his/her own defaults. */ +unsigned int __sizemem_default; + unsigned int __sizemem () { @@ -190,6 +193,11 @@ __sizemem () char *endptr = (char *)&end; int extra; + /* If the linker script provided a value for the memory size (or the user + overrode it in a debugger), use that. */ + if (__sizemem_default) + return __sizemem_default; + /* If we are running in kernel segment 0 (possibly cached), try sizing memory in kernel segment 1 (uncached) to avoid some problems with monitors. */ if (endptr >= K0BASE_ADDR && endptr < K1BASE_ADDR) |