1*aa27b838Svisa /* $OpenBSD: cpu.h,v 1.10 2018/03/24 04:19:43 visa Exp $ */ 23180e169Smiod /* public domain */ 32fa72412Spirofti #ifndef _MACHINE_CPU_H_ 46670778bSaoyama #define _MACHINE_CPU_H_ 5d22fc21dSmiod 6d17918f3Saoyama #include <m88k/asm_macro.h> 73180e169Smiod #include <m88k/cpu.h> 8d22fc21dSmiod 9d22fc21dSmiod #ifdef _KERNEL 108adebe84Smiod 118adebe84Smiod /* 128adebe84Smiod * 88110 systems only have cpudep6..7 available so far. 138adebe84Smiod * By the time Luna2001/2010 are supported, we can grow ci_cpudep to a 148adebe84Smiod * couple more fields to unbreak this. 158adebe84Smiod */ 168adebe84Smiod #ifndef M88110 178adebe84Smiod #define ci_curspl ci_cpudep4 188adebe84Smiod #define ci_swireg ci_cpudep5 198adebe84Smiod #endif 208adebe84Smiod #define ci_intr_mask ci_cpudep6 218adebe84Smiod #define ci_clock_ack ci_cpudep7 228adebe84Smiod 2332bca666Smiod void luna88k_ext_int(struct trapframe *eframe); 24d22fc21dSmiod #define md_interrupt_func luna88k_ext_int 25d17918f3Saoyama 26d17918f3Saoyama static inline u_long intr_disable(void)27d17918f3Saoyamaintr_disable(void) 28d17918f3Saoyama { 29d17918f3Saoyama u_long psr; 30d17918f3Saoyama 31d17918f3Saoyama psr = get_psr(); 32d17918f3Saoyama set_psr(psr | PSR_IND); 33d17918f3Saoyama return psr; 34d17918f3Saoyama } 35d17918f3Saoyama 36d17918f3Saoyama static inline void intr_restore(u_long psr)37d17918f3Saoyamaintr_restore(u_long psr) 38d17918f3Saoyama { 39*aa27b838Svisa set_psr(psr); 40d17918f3Saoyama } 41d17918f3Saoyama 42d22fc21dSmiod #endif /* _KERNEL */ 43d22fc21dSmiod 446670778bSaoyama #endif /* _MACHINE_CPU_H_ */ 45