X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/cf7d32b81c573a0536dc4da4157f9c26f8d0bed3..04b8595b18b1b41ac7a206e4b3d51a635f8413d7:/osfmk/i386/cpu_threads.h diff --git a/osfmk/i386/cpu_threads.h b/osfmk/i386/cpu_threads.h index 8208cc7ca..31fe81779 100644 --- a/osfmk/i386/cpu_threads.h +++ b/osfmk/i386/cpu_threads.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2007 Apple Inc. All rights reserved. + * Copyright (c) 2003-2008 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -29,8 +29,8 @@ #define _I386_CPU_THREADS_H_ #include -#include #include +#include /* * These are defined here rather than in cpu_topology.h so as to keep @@ -48,14 +48,17 @@ #define cpu_to_lcpu(cpu) ((cpu_datap(cpu) != NULL) ? _cpu_to_lcpu(cpu) : NULL) #define cpu_to_core(cpu) ((cpu_to_lcpu(cpu) != NULL) ? _cpu_to_lcpu(cpu)->core : NULL) -#define cpu_to_package(cpu) ((cpu_to_core(cpu) != NULL) ? _cpu_to_core(cpu)->package : NULL) +#define cpu_to_die(cpu) ((cpu_to_lcpu(cpu) != NULL) ? _cpu_to_lcpu(cpu)->die : NULL) +#define cpu_to_package(cpu) ((cpu_to_lcpu(cpu) != NULL) ? _cpu_to_lcpu(cpu)->package : NULL) /* Fast access: */ #define x86_lcpu() (¤t_cpu_datap()->lcpu) #define x86_core() (x86_lcpu()->core) -#define x86_package() (x86_core()->package) +#define x86_die() (x86_lcpu()->die) +#define x86_package() (x86_lcpu()->package) #define cpu_is_same_core(cpu1,cpu2) (cpu_to_core(cpu1) == cpu_to_core(cpu2)) +#define cpu_is_same_die(cpu1,cpu2) (cpu_to_die(cpu1) == cpu_to_die(cpu2)) #define cpu_is_same_package(cpu1,cpu2) (cpu_to_package(cpu1) == cpu_to_package(cpu2)) #define cpus_share_cache(cpu1,cpu2,_cl) (cpu_to_lcpu(cpu1)->caches[_cl] == cpu_to_lcpu(cpu2)->caches[_cl]) @@ -65,4 +68,16 @@ extern void *cpu_thread_alloc(int); extern void cpu_thread_init(void); extern void cpu_thread_halt(void); +extern void x86_set_logical_topology(x86_lcpu_t *lcpu, int pnum, int lnum); +extern void x86_validate_topology(void); + +extern x86_topology_parameters_t topoParms; + +extern boolean_t topo_dbg; +#define TOPO_DBG(x...) \ + do { \ + if (topo_dbg) \ + kprintf(x); \ + } while (0) \ + #endif /* _I386_CPU_THREADS_H_ */