diff options
author | marius <marius@FreeBSD.org> | 2010-02-20 23:24:19 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2010-02-20 23:24:19 +0000 |
commit | 27efbf647d0328612f1c44a888957c1f15f2b67c (patch) | |
tree | e93ca7084184f69831be9ec848380cb2e7a4faf0 /sys/sparc64/include/ver.h | |
parent | bd54d0edd70c92645e019f14c299149217d2a60f (diff) | |
download | FreeBSD-src-27efbf647d0328612f1c44a888957c1f15f2b67c.zip FreeBSD-src-27efbf647d0328612f1c44a888957c1f15f2b67c.tar.gz |
Some machines can not only consist of CPUs running at different speeds
but also of different types, f.e. Sun Fire V890 can be equipped with a
mix of UltraSPARC IV and IV+ CPUs, requiring different MMU initialization
and different workarounds for model specific errata. Therefore move the
CPU implementation number from a global variable to the per-CPU data.
Functions which are called before the latter is available are passed the
implementation number as a parameter now.
Diffstat (limited to 'sys/sparc64/include/ver.h')
-rw-r--r-- | sys/sparc64/include/ver.h | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/sys/sparc64/include/ver.h b/sys/sparc64/include/ver.h index 0fb7933..ad6841b 100644 --- a/sys/sparc64/include/ver.h +++ b/sys/sparc64/include/ver.h @@ -43,24 +43,28 @@ #ifndef LOCORE -#define VER_MANUF_MASK (((1L<<VER_MANUF_SIZE)-1)<<VER_MANUF_SHIFT) -#define VER_IMPL_MASK (((1L<<VER_IMPL_SIZE)-1)<<VER_IMPL_SHIFT) -#define VER_MASK_MASK (((1L<<VER_MASK_SIZE)-1)<<VER_MASK_SHIFT) -#define VER_MAXTL_MASK (((1L<<VER_MAXTL_SIZE)-1)<<VER_MAXTL_SHIFT) -#define VER_MAXWIN_MASK (((1L<<VER_MAXWIN_SIZE)-1)<<VER_MAXWIN_SHIFT) +#define VER_MANUF_MASK \ + (((1UL << VER_MANUF_SIZE) - 1) << VER_MANUF_SHIFT) +#define VER_IMPL_MASK \ + (((1UL << VER_IMPL_SIZE) - 1) << VER_IMPL_SHIFT) +#define VER_MASK_MASK \ + (((1UL << VER_MASK_SIZE) - 1) << VER_MASK_SHIFT) +#define VER_MAXTL_MASK \ + (((1UL << VER_MAXTL_SIZE) - 1) << VER_MAXTL_SHIFT) +#define VER_MAXWIN_MASK \ + (((1UL << VER_MAXWIN_SIZE) - 1) << VER_MAXWIN_SHIFT) -#define VER_MANUF(ver) \ +#define VER_MANUF(ver) \ (((ver) & VER_MANUF_MASK) >> VER_MANUF_SHIFT) -#define VER_IMPL(ver) \ +#define VER_IMPL(ver) \ (((ver) & VER_IMPL_MASK) >> VER_IMPL_SHIFT) -#define VER_MASK(ver) \ +#define VER_MASK(ver) \ (((ver) & VER_MASK_MASK) >> VER_MASK_SHIFT) -#define VER_MAXTL(ver) \ +#define VER_MAXTL(ver) \ (((ver) & VER_MAXTL_MASK) >> VER_MAXTL_SHIFT) -#define VER_MAXWIN(ver) \ +#define VER_MAXWIN(ver) \ (((ver) & VER_MAXWIN_MASK) >> VER_MAXWIN_SHIFT) -extern int cpu_impl; extern char sparc64_model[]; #endif /* !LOCORE */ |