1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00

Remove unused stuff from cpu.h.

Move inappropriate stuff in cpu.h elsewhere:
{s,g}et_intr_mask -> md_var.h
num_tlbentries -> tlb.h
Remove #define clockframe trapframe and fix clock, which was the only place
this was used.
All the rest of this stuff was unused.

# we're not quite minimal yet, since we duplicate a few status register things
# here...

Inspired by: bde@
This commit is contained in:
Warner Losh 2010-07-15 01:58:20 +00:00
parent fde8aa4e5c
commit 9d1f4f86c5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=210100
4 changed files with 12 additions and 149 deletions

View File

@ -17,7 +17,7 @@
extern int cpu_clock;
extern uint32_t clockintr(uint32_t, struct clockframe *);
extern uint32_t clockintr(uint32_t, struct trapframe *);
#define wall_cmos_clock 0
#define adjkerntz 0

View File

@ -83,175 +83,34 @@
* Exported definitions unique to mips cpu support.
*/
#define cpu_swapout(p) panic("cpu_swapout: can't get here");
#ifndef _LOCORE
#include <machine/cpufunc.h>
#include <machine/frame.h>
/*
* Arguments to hardclock and gatherstats encapsulate the previous
* machine state in an opaque clockframe.
*/
#define clockframe trapframe /* Use normal trap frame */
#define CLKF_USERMODE(framep) ((framep)->sr & SR_KSU_USER)
#define CLKF_PC(framep) ((framep)->pc)
#define CLKF_INTR(framep) (0)
#define MIPS_CLKF_INTR() (intr_nesting_level >= 1)
#define TRAPF_USERMODE(framep) (((framep)->sr & SR_KSU_USER) != 0)
#define TRAPF_PC(framep) ((framep)->pc)
#define cpu_getstack(td) ((td)->td_frame->sp)
#define cpu_setstack(td, nsp) ((td)->td_frame->sp = (nsp))
#define cpu_spinwait() /* nothing */
/*
* A machine-independent interface to the CPU's counter.
*/
#define get_cyclecount() mips_rd_count()
static __inline uint64_t
get_cyclecount(void)
{
return (mips_rd_count());
}
#endif /* !_LOCORE */
/*
* CTL_MACHDEP definitions.
*/
#define CPU_CONSDEV 1 /* dev_t: console terminal device */
#define CPU_ADJKERNTZ 2 /* int: timezone offset (seconds) */
#define CPU_DISRTCSET 3 /* int: disable resettodr() call */
#define CPU_BOOTINFO 4 /* struct: bootinfo */
#define CPU_WALLCLOCK 5 /* int: indicates wall CMOS clock */
#define CPU_MAXID 6 /* number of valid machdep ids */
#define CTL_MACHDEP_NAMES { \
{ 0, 0 }, \
{ "console_device", CTLTYPE_STRUCT }, \
{ "adjkerntz", CTLTYPE_INT }, \
{ "disable_rtc_set", CTLTYPE_INT }, \
{ "bootinfo", CTLTYPE_STRUCT }, \
{ "wall_cmos_clock", CTLTYPE_INT }, \
}
/*
* MIPS CPU types (cp_imp).
*/
#define MIPS_R2000 0x01 /* MIPS R2000 CPU ISA I */
#define MIPS_R3000 0x02 /* MIPS R3000 CPU ISA I */
#define MIPS_R6000 0x03 /* MIPS R6000 CPU ISA II */
#define MIPS_R4000 0x04 /* MIPS R4000/4400 CPU ISA III */
#define MIPS_R3LSI 0x05 /* LSI Logic R3000 derivate ISA I */
#define MIPS_R6000A 0x06 /* MIPS R6000A CPU ISA II */
#define MIPS_R3IDT 0x07 /* IDT R3000 derivate ISA I */
#define MIPS_R10000 0x09 /* MIPS R10000/T5 CPU ISA IV */
#define MIPS_R4200 0x0a /* MIPS R4200 CPU (ICE) ISA III */
#define MIPS_R4300 0x0b /* NEC VR4300 CPU ISA III */
#define MIPS_R4100 0x0c /* NEC VR41xx CPU MIPS-16 ISA III */
#define MIPS_R8000 0x10 /* MIPS R8000 Blackbird/TFP ISA IV */
#define MIPS_R4600 0x20 /* QED R4600 Orion ISA III */
#define MIPS_R4700 0x21 /* QED R4700 Orion ISA III */
#define MIPS_R3TOSH 0x22 /* Toshiba R3000 based CPU ISA I */
#define MIPS_R5000 0x23 /* MIPS R5000 CPU ISA IV */
#define MIPS_RM7000 0x27 /* QED RM7000 CPU ISA IV */
#define MIPS_RM52X0 0x28 /* QED RM52X0 CPU ISA IV */
#define MIPS_VR5400 0x54 /* NEC Vr5400 CPU ISA IV+ */
#define MIPS_RM9000 0x34 /* E9000 CPU */
/*
* MIPS FPU types
*/
#define MIPS_SOFT 0x00 /* Software emulation ISA I */
#define MIPS_R2360 0x01 /* MIPS R2360 FPC ISA I */
#define MIPS_R2010 0x02 /* MIPS R2010 FPC ISA I */
#define MIPS_R3010 0x03 /* MIPS R3010 FPC ISA I */
#define MIPS_R6010 0x04 /* MIPS R6010 FPC ISA II */
#define MIPS_R4010 0x05 /* MIPS R4000/R4400 FPC ISA II */
#define MIPS_R31LSI 0x06 /* LSI Logic derivate ISA I */
#define MIPS_R10010 0x09 /* MIPS R10000/T5 FPU ISA IV */
#define MIPS_R4210 0x0a /* MIPS R4200 FPC (ICE) ISA III */
#define MIPS_UNKF1 0x0b /* unnanounced product cpu ISA III */
#define MIPS_R8000 0x10 /* MIPS R8000 Blackbird/TFP ISA IV */
#define MIPS_R4600 0x20 /* QED R4600 Orion ISA III */
#define MIPS_R3SONY 0x21 /* Sony R3000 based FPU ISA I */
#define MIPS_R3TOSH 0x22 /* Toshiba R3000 based FPU ISA I */
#define MIPS_R5010 0x23 /* MIPS R5000 based FPU ISA IV */
#define MIPS_RM7000 0x27 /* QED RM7000 FPU ISA IV */
#define MIPS_RM5230 0x28 /* QED RM52X0 based FPU ISA IV */
#define MIPS_RM52XX 0x28 /* QED RM52X0 based FPU ISA IV */
#define MIPS_VR5400 0x54 /* NEC Vr5400 FPU ISA IV+ */
#if defined(_KERNEL) && !defined(_LOCORE)
struct user;
int Mips_ConfigCache(void);
void Mips_SyncCache(void);
void Mips_SyncDCache(vm_offset_t, int);
void Mips_HitSyncDCache(vm_offset_t, int);
void Mips_HitSyncSCache(vm_offset_t, int);
void Mips_IOSyncDCache(vm_offset_t, int, int);
void Mips_HitInvalidateDCache(vm_offset_t, int);
void Mips_SyncICache(vm_offset_t, int);
void Mips_InvalidateICache(vm_offset_t, int);
void wbflush(void);
extern u_int32_t cpu_counter_interval; /* Number of counter ticks/tick */
extern u_int32_t cpu_counter_last; /* Last compare value loaded */
extern int num_tlbentries;
extern char btext[];
extern char etext[];
extern int intr_nesting_level;
#define func_0args_asmmacro(func, in) \
__asm __volatile ( "jalr %0" \
: "=r" (in) /* outputs */ \
: "r" (func) /* inputs */ \
: "$31", "$4");
#define func_1args_asmmacro(func, arg0) \
__asm __volatile ("move $4, %1;" \
"jalr %0" \
: /* outputs */ \
: "r" (func), "r" (arg0) /* inputs */ \
: "$31", "$4");
#define func_2args_asmmacro(func, arg0, arg1) \
__asm __volatile ("move $4, %1;" \
"move $5, %2;" \
"jalr %0" \
: /* outputs */ \
: "r" (func), "r" (arg0), "r" (arg1) /* inputs */ \
: "$31", "$4", "$5");
#define func_3args_asmmacro(func, arg0, arg1, arg2) \
__asm __volatile ( "move $4, %1;" \
"move $5, %2;" \
"move $6, %3;" \
"jalr %0" \
: /* outputs */ \
: "r" (func), "r" (arg0), "r" (arg1), "r" (arg2) /* inputs */ \
: "$31", "$4", "$5", "$6");
/*
* Enable realtime clock (always enabled).
*/
#define enablertclock()
/*
* Are we in an interrupt handler? required by JunOS
*/
#define IN_INT_HANDLER() \
(curthread->td_intr_nesting_level != 0 || \
(curthread->td_pflags & TDP_ITHREAD))
/*
* Low level access routines to CPU registers
*/
void swi_vm(void *);
void cpu_halt(void);
void cpu_reset(void);
u_int32_t set_intr_mask(u_int32_t);
u_int32_t get_intr_mask(void);
#define cpu_spinwait() /* nothing */
#endif /* _KERNEL */
#endif /* !_MACHINE_CPU_H_ */

View File

@ -77,4 +77,7 @@ void platform_identify(void);
extern int busdma_swi_pending;
void busdma_swi(void);
u_int32_t set_intr_mask(u_int32_t);
u_int32_t get_intr_mask(void);
#endif /* !_MACHINE_MD_VAR_H_ */

View File

@ -35,5 +35,6 @@ void tlb_invalidate_all(void);
void tlb_invalidate_all_user(struct pmap *);
void tlb_save(void);
void tlb_update(struct pmap *, vm_offset_t, pt_entry_t);
extern int num_tlbentries;
#endif /* !_MACHINE_TLB_H_ */