Blame sysdeps/generic/thread_state.h

Packit Service 82fcde
/* Mach thread state definitions for machine-independent code.  Stub version.
Packit Service 82fcde
   Copyright (C) 1994-2018 Free Software Foundation, Inc.
Packit Service 82fcde
   This file is part of the GNU C Library.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is free software; you can redistribute it and/or
Packit Service 82fcde
   modify it under the terms of the GNU Lesser General Public
Packit Service 82fcde
   License as published by the Free Software Foundation; either
Packit Service 82fcde
   version 2.1 of the License, or (at your option) any later version.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is distributed in the hope that it will be useful,
Packit Service 82fcde
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 82fcde
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 82fcde
   Lesser General Public License for more details.
Packit Service 82fcde
Packit Service 82fcde
   You should have received a copy of the GNU Lesser General Public
Packit Service 82fcde
   License along with the GNU C Library; if not, see
Packit Service 82fcde
   <http://www.gnu.org/licenses/>.  */
Packit Service 82fcde
Packit Service 82fcde
/* Everything else is called `thread_state', but CMU's header file is
Packit Service 82fcde
   called `thread_status'.  Oh boy.  */
Packit Service 82fcde
#include <mach/thread_state.h>
Packit Service 82fcde
Packit Service 82fcde
/* Replace <machine> with "i386" or "mips" or whatever.  */
Packit Service 82fcde
Packit Service 82fcde
/* This lets the kernel define architecture-specific registers for a new
Packit Service 82fcde
   thread.  */
Packit Service 82fcde
#define MACHINE_NEW_THREAD_STATE_FLAVOR	<machine>_NEW_THREAD_STATE
Packit Service 82fcde
/* This makes the kernel load all architectures-specific registers for the
Packit Service 82fcde
   thread.  */
Packit Service 82fcde
#define MACHINE_THREAD_STATE_FLAVOR	<machine>_THREAD_STATE
Packit Service 82fcde
#define MACHINE_THREAD_STATE_COUNT	<machine>_THREAD_STATE_COUNT
Packit Service 82fcde
Packit Service 82fcde
#define machine_thread_state <machine>_thread_state
Packit Service 82fcde
Packit Service 82fcde
/* Define these to the member names in `struct <machine>_thread_state'
Packit Service 82fcde
   for the PC and stack pointer.  */
Packit Service 82fcde
#define PC ?
Packit Service 82fcde
#define SP ?
Packit Service 82fcde
Packit Service 82fcde
/* This structure should contain all of the different flavors of thread
Packit Service 82fcde
   state structures which are meaningful for this machine.  Every machine's
Packit Service 82fcde
   definition of this structure should have a member `int set' which is a
Packit Service 82fcde
   bit mask (1 << FLAVOR) of the flavors of thread state in the structure
Packit Service 82fcde
   which are filled in; and a member `struct machine_thread_state basic'.
Packit Service 82fcde
   On some machines those are the only members (e.g. i386); on others,
Packit Service 82fcde
   there are several relevant flavors of thread state (e.g. mips).  */
Packit Service 82fcde
struct machine_thread_all_state
Packit Service 82fcde
  {
Packit Service 82fcde
    int set;			/* Mask of bits (1 << FLAVOR).  */
Packit Service 82fcde
    struct <machine>_thread_state basic;
Packit Service 82fcde
  };