summaryrefslogtreecommitdiff
path: root/sim/ppc/hw_register.c
diff options
context:
space:
mode:
Diffstat (limited to 'sim/ppc/hw_register.c')
-rw-r--r--sim/ppc/hw_register.c131
1 files changed, 0 insertions, 131 deletions
diff --git a/sim/ppc/hw_register.c b/sim/ppc/hw_register.c
deleted file mode 100644
index f361e462527..00000000000
--- a/sim/ppc/hw_register.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/* This file is part of the program psim.
-
- Copyright (C) 1994-1996, Andrew Cagney <cagney@highland.com.au>
-
- 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 of the License, 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.
-
- */
-
-
-#ifndef _HW_REGISTER_C_
-#define _HW_REGISTER_C_
-
-#include "device_table.h"
-#include <stdlib.h>
-#include "psim.h"
-
-/* DEVICE
-
-
- register - dummy device to initialize processor registers
-
-
- DESCRIPTION
-
- The properties of this device are used, during initialization, to
- specify the initial value of various processor registers. The
- property name specifying the register to be initialized with the
- special form <cpu-nr>.<register> being used to initialize a
- specific processor's register (eg 0.pc).
-
- Because, when the device tree is created, overriding properties are
- entered into the tree before any default values, this device must
- initialize registers in newest (default) to oldest (overriding)
- property order.
-
- The actual registers (for a given target) are defined in the file
- registers.c.
-
- This device is normally a child of the /openprom/init node.
-
-
- EXAMPLES
-
-
- Given a device tree containing the entry:
-
- | /openprom/init/register/pc 0xfff00cf0
-
- then specifying the command line option:
-
- | -o '/openprom/init/register/pc 0x0'
-
- would override the initial value of processor zero's program
- counter. The resultant device tree tree containing:
-
- | /openprom/init/register/0.pc 0x0
- | /openprom/init/register/pc 0xfff00cf0
-
- and would be processed last to first resulting in the sequence: set
- all program counters to 0xfff00cf0; set processor zero's program
- counter to zero.
-
- */
-
-static void
-do_register_init(device *me,
- const device_property *prop)
-{
- psim *system = device_system(me);
- if (prop != NULL) {
- const char *name = prop->name;
- unsigned32 value = device_find_integer_property(me, name);
- int processor;
-
- do_register_init(me, device_next_property(prop));
-
- if (strchr(name, '.') == NULL) {
- processor = -1;
- DTRACE(register, ("%s=0x%lx\n", name, (unsigned long)value));
- }
- else {
- char *end;
- processor = strtoul(name, &end, 0);
- ASSERT(end[0] == '.');
- name = end+1;
- DTRACE(register, ("%d.%s=0x%lx\n", processor, name,
- (unsigned long)value));
- }
- psim_write_register(system, processor, /* all processors */
- &value,
- name,
- cooked_transfer);
- }
-}
-
-
-static void
-register_init_data_callback(device *me)
-{
- const device_property *prop = device_find_property(me, NULL);
- do_register_init(me, prop);
-}
-
-
-static device_callbacks const register_callbacks = {
- { NULL, register_init_data_callback, },
- { NULL, }, /* address */
- { NULL, }, /* IO */
- { NULL, }, /* DMA */
- { NULL, }, /* interrupt */
- { NULL, }, /* unit */
-};
-
-const device_descriptor hw_register_device_descriptor[] = {
- { "register", NULL, &register_callbacks },
- { NULL },
-};
-
-#endif _HW_REGISTER_C_