summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-05-28 07:34:50 +0000
committerThomas Schwinge <tschwinge@gnu.org>2009-06-17 23:50:15 +0200
commitb5212baafd075b6134caea0c53a2335fa6ed4025 (patch)
tree51b5457b3f029794711ae7e457ccd021f00b6b1c
parent2af5b55bf7acfcf438351cf04bf3f979bf5d3a4e (diff)
2002-05-28 Roland McGrath <roland@frob.com>
* alpha/alpha/alphaasm.sym: New file. * alpha/alpha/task.h: New file. * alpha/alpha/context.h (jmp_buf): Define as `struct jmp_buf' too.
-rw-r--r--alpha/alpha/alphaasm.sym161
-rw-r--r--alpha/alpha/task.h34
2 files changed, 195 insertions, 0 deletions
diff --git a/alpha/alpha/alphaasm.sym b/alpha/alpha/alphaasm.sym
new file mode 100644
index 00000000..54fde11b
--- /dev/null
+++ b/alpha/alpha/alphaasm.sym
@@ -0,0 +1,161 @@
+/*
+ * Mach Operating System
+ * Copyright (c) 1993,1992 Carnegie Mellon University
+ * All Rights Reserved.
+ *
+ * Permission to use, copy, modify and distribute this software and its
+ * documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
+ * School of Computer Science
+ * Carnegie Mellon University
+ * Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie Mellon
+ * the rights to redistribute these changes.
+ */
+#include <cpus.h>
+#include <mach_kdb.h>
+#include <stat_time.h>
+
+/*
+ * Pass field offsets to assembly code.
+ */
+#include <sys/reboot.h>
+
+#include <mach/std_types.h>
+#include <mach/alpha/thread_status.h>
+#include <kern/thread.h>
+#include <kern/task.h>
+#include <kern/syscall_emulation.h>
+#include <vm/vm_map.h>
+#include <alpha/pmap.h>
+#include <alpha/context.h>
+#include <alpha/thread.h>
+#include <alpha/prom_interface.h>
+#include <setjmp.h>
+
+
+size pcb pcb
+
+size alpha_kernel_state mks
+offset alpha_kernel_state mks s0
+offset alpha_kernel_state mks s1
+offset alpha_kernel_state mks s2
+offset alpha_kernel_state mks s3
+offset alpha_kernel_state mks s4
+offset alpha_kernel_state mks s5
+offset alpha_kernel_state mks s6
+offset alpha_kernel_state mks sp
+offset alpha_kernel_state mks pc
+
+size alpha_machine_state mms
+offset alpha_machine_state mms mfs
+offset alpha_machine_state mms msss
+
+size alpha_float_state mfs
+offset alpha_float_state mfs r0 MFS_REGS
+offset alpha_float_state mfs csr
+
+size alpha_stack_base msb
+offset alpha_stack_base msb next
+offset alpha_stack_base msb page
+offset alpha_stack_base msb pcb
+
+/* comistorical note:
+ * This would have been ASS_SIZE, so 'M' is for Machine
+ */
+size alpha_saved_state mss
+offset alpha_saved_state mss hw_pcb.ksp MSS_KSP
+offset alpha_saved_state mss hw_pcb.usp MSS_USP
+offset alpha_saved_state mss hw_pcb.asn MSS_ASN
+offset alpha_saved_state mss framep
+offset alpha_saved_state mss v0
+offset alpha_saved_state mss t0
+offset alpha_saved_state mss t7
+offset alpha_saved_state mss s0
+offset alpha_saved_state mss s1
+offset alpha_saved_state mss s2
+offset alpha_saved_state mss s3
+offset alpha_saved_state mss s4
+offset alpha_saved_state mss s5
+offset alpha_saved_state mss s6
+offset alpha_saved_state mss a0
+offset alpha_saved_state mss a1
+offset alpha_saved_state mss a2
+offset alpha_saved_state mss a3
+offset alpha_saved_state mss a4
+offset alpha_saved_state mss a5
+offset alpha_saved_state mss t8
+offset alpha_saved_state mss t9
+offset alpha_saved_state mss t10
+offset alpha_saved_state mss t11
+offset alpha_saved_state mss ra
+offset alpha_saved_state mss t12
+offset alpha_saved_state mss at
+offset alpha_saved_state mss gp
+offset alpha_saved_state mss sp
+offset alpha_saved_state mss bad_address MSS_BAD
+offset alpha_saved_state mss cause
+offset alpha_saved_state mss saved_frame MSS_SAVEDF
+offset alpha_saved_state mss saved_frame.saved_r2 MSS_T1
+offset alpha_saved_state mss saved_frame.saved_r3 MSS_T2
+offset alpha_saved_state mss saved_frame.saved_r4 MSS_T3
+offset alpha_saved_state mss saved_frame.saved_r5 MSS_T4
+offset alpha_saved_state mss saved_frame.saved_r6 MSS_T5
+offset alpha_saved_state mss saved_frame.saved_r7 MSS_T6
+offset alpha_saved_state mss saved_frame.saved_pc MSS_PC
+offset alpha_saved_state mss saved_frame.saved_ps MSS_PS
+
+size alpha_exception_link mel
+offset alpha_exception_link mel eframe
+offset alpha_exception_link mel tf
+
+size trap_frame tf
+offset trap_frame tf saved_r2 TF_R2
+offset trap_frame tf saved_r3 TF_R3
+offset trap_frame tf saved_r4 TF_R4
+offset trap_frame tf saved_r5 TF_R5
+offset trap_frame tf saved_r6 TF_R6
+offset trap_frame tf saved_r7 TF_R7
+offset trap_frame tf saved_pc TF_PC
+offset trap_frame tf saved_ps TF_PS
+
+size jmp_buf jb
+offset jmp_buf jb s0
+offset jmp_buf jb s1
+offset jmp_buf jb s2
+offset jmp_buf jb s3
+offset jmp_buf jb s4
+offset jmp_buf jb s5
+offset jmp_buf jb s6
+offset jmp_buf jb sp
+offset jmp_buf jb pc
+offset jmp_buf jb ps
+
+offset thread thread task
+offset thread thread pcb
+offset thread thread kernel_stack
+offset thread thread swap_func
+offset thread thread recover
+
+offset pmap pmap pid
+offset vm_map map pmap
+
+offset task task map
+offset task task eml_dispatch EML_DISPATCH
+
+offset eml_dispatch disp disp_count DISP_COUNT
+offset eml_dispatch disp disp_min DISP_MIN
+offset eml_dispatch disp disp_vector[0] DISP_VECTOR
+
+offset restart_blk hwrpb primary_cpu_id HWRPB_PRIMARY_ID
diff --git a/alpha/alpha/task.h b/alpha/alpha/task.h
new file mode 100644
index 00000000..be5722c5
--- /dev/null
+++ b/alpha/alpha/task.h
@@ -0,0 +1,34 @@
+/* task.h - Data types for machine specific parts of tasks on Alpha.
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+ This file is part of GNU Mach.
+
+ GNU Mach 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.
+
+ GNU Mach 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, USA. */
+
+#ifndef _ALPHA_TASK_H_
+#define _ALPHA_TASK_H_
+
+/* The machine specific data of a task. */
+struct machine_task
+{
+};
+typedef struct machine_task machine_task_t;
+
+#define machine_task_module_init() ((void) 0)
+#define machine_task_init(task) ((void) (task))
+#define machine_task_terminate(task) ((void) (task))
+#define machine_task_collect(task) ((void) (task))
+
+#endif /* _ALPHA_TASK_H_ */