diff options
author | Roland McGrath <roland@gnu.org> | 2002-05-28 07:34:50 +0000 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gnu.org> | 2009-06-17 23:50:15 +0200 |
commit | b5212baafd075b6134caea0c53a2335fa6ed4025 (patch) | |
tree | 51b5457b3f029794711ae7e457ccd021f00b6b1c | |
parent | 2af5b55bf7acfcf438351cf04bf3f979bf5d3a4e (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.sym | 161 | ||||
-rw-r--r-- | alpha/alpha/task.h | 34 |
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_ */ |