cpu.h revision 133084
1/* $NetBSD: cpu.h,v 1.2 2001/02/23 21:23:52 reinoud Exp $ */ 2/* $FreeBSD: head/sys/arm/include/cpu.h 133084 2004-08-03 18:44:27Z mux $ */ 3 4#ifndef MACHINE_CPU_H 5#define MACHINE_CPU_H 6 7#include <machine/armreg.h> 8 9void cpu_halt(void); 10void swi_vm(void *); 11 12static __inline uint64_t 13get_cyclecount(void) 14{ 15 return (0); 16} 17 18#define CPU_CONSDEV 1 19#define CPU_ADJKERNTZ 2 /* int: timezone offset (seconds) */ 20#define CPU_DISRTCSET 3 /* int: disable resettodr() call */ 21#define CPU_BOOTINFO 4 /* struct: bootinfo */ 22#define CPU_WALLCLOCK 5 /* int: indicates wall CMOS clock */ 23#define CPU_MAXID 6 /* number of valid machdep ids */ 24 25 26#define CLKF_USERMODE(frame) ((frame->if_spsr & PSR_MODE) == PSR_USR32_MODE) 27 28#define TRAPF_USERMODE(frame) ((frame->tf_spsr & PSR_MODE) == PSR_USR32_MODE) 29#define CLKF_PC(frame) (frame->if_pc) 30 31#define TRAPF_PC(tfp) ((tfp)->tf_pc) 32 33#define cpu_getstack(td) ((td)->td_frame->tf_usr_sp) 34#define cpu_setstack(td, sp) ((td)->td_frame->tf_usr_sp = (sp)) 35#define cpu_spinwait() /* nothing */ 36 37#define ARM_NVEC 8 38#define ARM_VEC_ALL 0xffffffff 39 40extern vm_offset_t vector_page; 41 42void fork_trampoline(void); 43void *initarm(void *, void *); 44void arm_vector_init(vm_offset_t, int); 45void identify_arm_cpu(void); 46 47extern char btext[]; 48extern char etext[]; 49int badaddr_read (void *, size_t, void *); 50#endif /* !MACHINE_CPU_H */ 51