#ifndef _LOCORE
#include <sys/signal.h>
#include <sys/types.h>
#include <sys/ucontext.h>
#ifndef _MACHINE_PROFILE_H_
#define _MACHINE_PROFILE_H_
/*
* Config generates something to tell the compiler to align functions on 32
* byte boundaries. A strict alignment is good for keeping the tables small.
#ifndef _MACHINE_PROC_H_
#define _MACHINE_PROC_H_
#include <machine/utrap.h>
struct md_utrap {
#ifndef _MACHINE_UCONTEXT_H_
#define _MACHINE_UCONTEXT_H_
typedef struct __mcontext {
int mc_vers;
int mc_flags;
#ifndef _MACHINE_PCB_H_
#define _MACHINE_PCB_H_
typedef register_t faultbuf[25];
struct pcb {
#ifndef _POWERPC_SPR_H_
#define _POWERPC_SPR_H_
#define mtspr(reg, val) \
__asm __volatile("mtspr %0,%1" : : "K"(reg), "r"(val))
#ifndef _POWERPC_REG_H_
#define _POWERPC_REG_H_
#if defined(_KERNEL) && !defined(KLD_MODULE) && !defined(_STANDALONE)
#include "opt_compat.h"
#endif
#ifndef _POWERPC_INCLUDE__ALIGN_H_
#define _POWERPC_INCLUDE__ALIGN_H_
* Round p (pointer or byte index) up to a correctly-aligned value
* for all data types (int, long, ...). The result is unsigned int
#define _MCOUNT_DECL void __mcount
#define FUNCTION_ALIGNMENT 4
#ifndef _MACHINE_PCPU_H_
#define _MACHINE_PCPU_H_
#include <machine/cpufunc.h>
#include <machine/slb.h>
#include <machine/tlb.h>
#include <sys/queue.h>
#include <sys/tree.h>
#include <sys/_cpuset.h>
#include <sys/_lock.h>
#include <sys/_mutex.h>
* Machine-dependent part of the proc structure
*/
#ifndef _MACHINE_SMP_H_
#define _MACHINE_SMP_H_
#ifdef SMP
#define CPU_TICKSYNC 1
#if !defined(_KERNEL) && !defined(_SYS_CDEFS_H_)
#error this file needs sys/cdefs.h as a prerequisite
#ifndef _MACHINE_CPUFUNC_H_
#define _MACHINE_CPUFUNC_H_
#include <machine/asi.h>
#include <machine/pstate.h>
#define MCOUNT
struct mdthread {
int md_spinlock_count; /* (k) */
int md_saved_intr; /* (k) */
#ifndef _MACHINE_SIGFRAME_H_
#define _MACHINE_SIGFRAME_H_
* WARNING: code in locore.s assumes the layout shown for sf_signum
* thru sf_addr so... don't alter them!
#include <machine/frame.h>
#ifndef _MIPS_DB_MACHDEP_H_
#define _MIPS_DB_MACHDEP_H_
#include <machine/trap.h>
#include <machine/endian.h>
#ifndef _MACHINE_REG_H_
#define _MACHINE_REG_H_
* Location of the users' stored registers relative to ZERO.
* must be visible to assembly code.
#ifndef _MACHINE_FRAME_H_
#define _MACHINE_FRAME_H_
struct trapframe {
register_t zero;
register_t ast;
* Machine-dependent part of the proc structure.
#ifndef _MACHINE_TRAP_H_
#define _MACHINE_TRAP_H_
* Trap codes also known in trap.c for name strings.
* Used for indexing so modify with care.
#include <sys/proc.h>
#include <sys/sched.h>
#include <sys/sleepqueue.h>
#define MAX_SCHEDULE_TIMEOUT LONG_MAX
#ifndef _X86_INCLUDE__ALIGN_H_
#define _X86_INCLUDE__ALIGN_H_
* Signal frames, arguments passed to application signal handlers.
#ifndef _MACHINE_APICVAR_H_
#define _MACHINE_APICVAR_H_
* Local && I/O APIC variable definitions.
#ifndef _SYS_CDEFS_H_
#include <machine/segments.h>
struct proc_ldt {
* AMD64 process control block
#include <machine/fpu.h>
#if defined(_KERNEL) && !defined(_STANDALONE)
#define _MACHINE_FRAME_H_ 1
* System stack frames.
#ifndef __MACHINE_INTR_MACHDEP_H__
#define __MACHINE_INTR_MACHDEP_H__
#ifdef _KERNEL
#error "sys/cdefs.h is a prerequisite for this file"
#include <sys/cpuset.h>
#include <sys/_semaphore.h>
#include <bsm/audit_kevents.h>
#define _SYS_SYSENT_H_
#include <bsm/audit.h>
struct rlimit;
struct sysent;
#else
#include <sys/pcpu.h>
#include <sys/ucred.h>
#include <machine/proc.h> /* Machine-dependent proc substruct. */
#ifndef _SYS_KTRACE_H_
#define _SYS_KTRACE_H_
* operations to ktrace system call (KTROP(op))