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