cache_info
get_tag_addr(cache_info_t *cache_info)
switch (cache_info->cache) {
tag_addr = (uint64_t)(cache_info->index <<
scratch = (uint64_t)(cache_info->way <<
tag_addr = (uint64_t)(cache_info->index <<
scratch = (uint64_t)(cache_info->way <<
mem_cache_ioctl_ops(int cmd, int mode, cache_info_t *cache_info)
if (cache_info->way >= PN_CACHE_NWAYS)
switch (cache_info->cache) {
if (cache_info->index >=
if (cache_info->index >=
cpu = cpu_get(cache_info->cpu_id);
tag_addr = get_tag_addr(cache_info);
affinity_set(cache_info->cpu_id);
switch (cache_info->cache) {
if ((cache_info->bit & MSB_BIT_MASK) ==
cache_info->cache,
cache_info->index,
cache_info->way);
xt_one(cache_info->cpu_id,
cache_info->index,
cache_info->way);
if ((cache_info->bit & MSB_BIT_MASK) ==
cache_info->cache,
cache_info->index);
xt_one(cache_info->cpu_id,
cache_info->index);
tag_addr = get_tag_addr(cache_info);
affinity_set(cache_info->cpu_id);
switch (cache_info->cache) {
xt_one(cache_info->cpu_id,
cache_info->cache,
cache_info->index);
xt_one(cache_info->cpu_id,
cache_info->cache,
cache_info->index);
afar = (uint64_t)(cache_info->index
affinity_set(cache_info->cpu_id);
xt_one(cache_info->cpu_id,
switch (cache_info->cache) {
(caddr_t)cache_info->datap,
cache_info_t cache_info;
cache_info.cache = cache_info32.cache;
cache_info.index = cache_info32.index;
cache_info.way = cache_info32.way;
cache_info.cpu_id = cache_info32.cpu_id;
cache_info.bit = cache_info32.bit;
cache_info.datap = (void *)((uint64_t)cache_info32.datap);
if (ddi_copyin((cache_info_t *)arg, &cache_info,
sizeof (cache_info), mode) != DDI_SUCCESS) {
if ((cache_info.cpu_id < 0) || (cache_info.cpu_id >= _ncpu)) {
is_panther = IS_PANTHER(cpunodes[cache_info.cpu_id].implementation);
ret_val = mem_cache_ioctl_ops(cmd, mode, &cache_info);