diff options
Diffstat (limited to 'sim/common/hw-alloc.c')
-rw-r--r-- | sim/common/hw-alloc.c | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/sim/common/hw-alloc.c b/sim/common/hw-alloc.c deleted file mode 100644 index 1172c4d..0000000 --- a/sim/common/hw-alloc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* Hardware memory allocator. - Copyright (C) 1998 Free Software Foundation, Inc. - Contributed by Cygnus Support. - -This file is part of GDB, the GNU debugger. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - - -#include "sim-main.h" -#include "hw-base.h" - - -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif - -struct hw_alloc_data { - void *alloc; - int zalloc_p; - struct hw_alloc_data *next; -}; - -void -create_hw_alloc_data (struct hw *me) -{ - /* NULL */ -} - -void -delete_hw_alloc_data (struct hw *me) -{ - if (me->alloc_of_hw != NULL) - hw_abort (me, "hw-alloc botch"); - while (me->alloc_of_hw != NULL) - { - hw_free (me, me->alloc_of_hw->alloc); - } -} - - - -void * -hw_zalloc (struct hw *me, unsigned long size) -{ - struct hw_alloc_data *memory = ZALLOC (struct hw_alloc_data); - memory->alloc = zalloc (size); - memory->zalloc_p = 1; - memory->next = me->alloc_of_hw; - me->alloc_of_hw = memory; - return memory->alloc; -} - -void * -hw_malloc (struct hw *me, unsigned long size) -{ - struct hw_alloc_data *memory = ZALLOC (struct hw_alloc_data); - memory->alloc = zalloc (size); - memory->zalloc_p = 0; - memory->next = me->alloc_of_hw; - me->alloc_of_hw = memory; - return memory->alloc; -} - -void -hw_free (struct hw *me, - void *alloc) -{ - struct hw_alloc_data **memory; - for (memory = &me->alloc_of_hw; - *memory != NULL; - memory = &(*memory)->next) - { - if ((*memory)->alloc == alloc) - { - struct hw_alloc_data *die = (*memory); - (*memory) = die->next; - if (die->zalloc_p) - zfree (die->alloc); - else - free (die->alloc); - zfree (die); - return; - } - } - hw_abort (me, "free of memory not belonging to a device"); -} |