Module Name: src Committed By: cliff Date: Wed Jan 13 09:42:16 UTC 2010
Modified Files: src/sys/arch/mips/include [matt-nb5-mips64]: cpu.h Log Message: - cpu_identify() now gets device_t arg - add CIDFL's for RMI L2, cores, threads attributes To generate a diff of this commit: cvs rdiff -u -r1.90.16.9 -r1.90.16.10 src/sys/arch/mips/include/cpu.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/mips/include/cpu.h diff -u src/sys/arch/mips/include/cpu.h:1.90.16.9 src/sys/arch/mips/include/cpu.h:1.90.16.10 --- src/sys/arch/mips/include/cpu.h:1.90.16.9 Wed Dec 30 04:51:26 2009 +++ src/sys/arch/mips/include/cpu.h Wed Jan 13 09:42:16 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.90.16.9 2009/12/30 04:51:26 matt Exp $ */ +/* $NetBSD: cpu.h,v 1.90.16.10 2010/01/13 09:42:16 cliff Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -46,6 +46,7 @@ #ifdef _KERNEL #ifndef _LOCORE #include <sys/cpu_data.h> +#include <sys/device.h> #if defined(_KERNEL_OPT) #include "opt_lockdebug.h" @@ -84,10 +85,40 @@ /* * RMI company-specific cpu_cidflags */ -#define MIPS_CIDFL_RMI_TYPE __BITS(0,2) -#define CIDFL_RMI_TYPE_XLR 0 -#define CIDFL_RMI_TYPE_XLS 1 -#define CIDFL_RMI_TYPE_XLP 2 +#define MIPS_CIDFL_RMI_TYPE __BITS(2,0) +# define CIDFL_RMI_TYPE_XLR 0 +# define CIDFL_RMI_TYPE_XLS 1 +# define CIDFL_RMI_TYPE_XLP 2 +#define MIPS_CIDFL_RMI_THREADS_MASK __BITS(6,3) +# define MIPS_CIDFL_RMI_THREADS_SHIFT 3 +#define MIPS_CIDFL_RMI_CORES_MASK __BITS(10,7) +# define MIPS_CIDFL_RMI_CORES_SHIFT 7 +# define LOG2_1 0 +# define LOG2_2 1 +# define LOG2_4 2 +# define LOG2_8 3 +# define MIPS_CIDFL_RMI_CPUS(ncores, nthreads) \ + ((LOG2_ ## ncores << MIPS_CIDFL_RMI_CORES_SHIFT) \ + |(LOG2_ ## nthreads << MIPS_CIDFL_RMI_THREADS_SHIFT)) +# define MIPS_CIDFL_RMI_NTHREADS(cidfl) \ + (1 << (((cidfl) & MIPS_CIDFL_RMI_THREADS_MASK) \ + >> MIPS_CIDFL_RMI_THREADS_SHIFT)) +# define MIPS_CIDFL_RMI_NCORES(cidfl) \ + (1 << (((cidfl) & MIPS_CIDFL_RMI_CORES_MASK) \ + >> MIPS_CIDFL_RMI_CORES_SHIFT)) +#define MIPS_CIDFL_RMI_L2SZ_MASK __BITS(14,11) +# define MIPS_CIDFL_RMI_L2SZ_SHIFT 11 +# define RMI_L2SZ_256KB 0 +# define RMI_L2SZ_512KB 1 +# define RMI_L2SZ_1MB 2 +# define RMI_L2SZ_2MB 3 +# define RMI_L2SZ_4MB 4 +# define MIPS_CIDFL_RMI_L2(l2sz) \ + (RMI_L2SZ_ ## l2sz << MIPS_CIDFL_RMI_L2SZ_SHIFT) +# define MIPS_CIDFL_RMI_L2SZ(cidfl) \ + ((256*1024) << (((cidfl) & MIPS_CIDFL_RMI_L2SZ_MASK) \ + >> MIPS_CIDFL_RMI_L2SZ_SHIFT)) + struct cpu_info { @@ -495,7 +526,7 @@ int badaddr64(uint64_t, size_t); /* mips_machdep.c */ -void cpu_identify(void); +void cpu_identify(device_t); void mips_vector_init(void); #endif /* ! _LOCORE */