diff options
author | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
commit | 071ea11e85eb9d529cc5eb3d35f6247466a21b99 (patch) | |
tree | 5deda65b8d7b04d1f4cbc534c3206d328e1267ec /gdb/hppam3-nat.c | |
parent | 1730ec6b1848f0f32154277f788fb29f88d8475b (diff) | |
download | gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.zip gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.tar.gz gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.tar.bz2 |
Initial creation of sourceware repository
Diffstat (limited to 'gdb/hppam3-nat.c')
-rw-r--r-- | gdb/hppam3-nat.c | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/gdb/hppam3-nat.c b/gdb/hppam3-nat.c deleted file mode 100644 index 95a66b0..0000000 --- a/gdb/hppam3-nat.c +++ /dev/null @@ -1,141 +0,0 @@ -/* Low level interface to HP800 running mach 4.0. - Copyright (C) 1995 Free Software Foundation, Inc. - -This file is part of GDB. - -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. */ - -#include "defs.h" -#include "inferior.h" -#include "floatformat.h" - -#include <stdio.h> - -#include <mach.h> -#include <mach/message.h> -#include <mach/exception.h> -#include <mach_error.h> - -#include <target.h> - -/* - * Fetch inferiors registers for gdb. - * REGNO specifies which (as gdb views it) register, -1 for all. - */ - -void -fetch_inferior_registers (regno) - int regno; -{ - kern_return_t ret; - thread_state_data_t state; - unsigned int stateCnt = TRACE_FLAVOR_SIZE; - int index; - - if (! MACH_PORT_VALID (current_thread)) - error ("fetch inferior registers: Invalid thread"); - - if (must_suspend_thread) - setup_thread (current_thread, 1); - - ret = thread_get_state (current_thread, - TRACE_FLAVOR, - state, - &stateCnt); - - if (ret != KERN_SUCCESS) - warning ("fetch_inferior_registers: %s ", - mach_error_string (ret)); - else - { - for (index = 0; index < NUM_REGS; index++) - supply_register (index,(void*)&state[index]); - } - - if (must_suspend_thread) - setup_thread (current_thread, 0); -} - -/* Store our register values back into the inferior. - * If REGNO is -1, do this for all registers. - * Otherwise, REGNO specifies which register - * - * On mach3 all registers are always saved in one call. - */ -void -store_inferior_registers (regno) - int regno; -{ - kern_return_t ret; - thread_state_data_t state; - unsigned int stateCnt = TRACE_FLAVOR_SIZE; - register int index; - - if (! MACH_PORT_VALID (current_thread)) - error ("store inferior registers: Invalid thread"); - - if (must_suspend_thread) - setup_thread (current_thread, 1); - - /* Fetch the state of the current thread */ - ret = thread_get_state (current_thread, - TRACE_FLAVOR, - state, - &stateCnt); - - if (ret != KERN_SUCCESS) - { - warning ("store_inferior_registers (get): %s", - mach_error_string (ret)); - if (must_suspend_thread) - setup_thread (current_thread, 0); - return; - } - - - /* move gdb's registers to thread's state - * - * Since we save all registers anyway, save the ones - * that gdb thinks are valid (e.g. ignore the regno - * parameter) - */ - if (regno > 0 && regno < NUM_REGS ) - { - memcpy(&state[regno], ®isters[REGISTER_BYTE (regno)], - REGISTER_RAW_SIZE(regno)); - } - else - { - for (index = 0; index < NUM_REGS; index++) - memcpy(&state[index], ®isters[REGISTER_BYTE (index)], - REGISTER_RAW_SIZE(index)); -/* state[index] = registers[REGISTER_BYTE (index)];*/ - - } - - /* Write gdb's current view of register to the thread - */ - ret = thread_set_state (current_thread, - TRACE_FLAVOR, - state, - TRACE_FLAVOR_SIZE); - - if (ret != KERN_SUCCESS) - warning ("store_inferior_registers (set): %s", - mach_error_string (ret)); - - if (must_suspend_thread) - setup_thread (current_thread, 0); -} |