Lines Matching +full:mc +full:- +full:sid
1 /* SPDX-License-Identifier: GPL-2.0 */
8 * This is based on Intel IA-64 Architecture Software Developer's Manual rev 1.0
9 * chapter 11 IA-64 Processor Abstraction Layer
11 * Copyright (C) 1998-2001 Hewlett-Packard Co
12 * David Mosberger-Tang <davidm@hpl.hp.com>
21 * 00/03/23 cfleck Modified processor min-state save area to match updated PAL & SAL info
30 * Note that some of these calls use a static-register only calling
66 #define PAL_ENTER_IA_32_ENV 33 /* enter IA-32 system environment */
83 #define PAL_TEST_PROC 258 /* perform late processor self-test */
87 #define PAL_GET_PSTATE 262 /* get the current P-state */
88 #define PAL_SET_PSTATE 263 /* set the P-state */
113 #define PAL_STATUS_UNIMPLEMENTED (-1) /* Unimplemented procedure */
114 #define PAL_STATUS_EINVAL (-2) /* Invalid argument */
115 #define PAL_STATUS_ERROR (-3) /* Error */
116 #define PAL_STATUS_CACHE_INIT_FAIL (-4) /* Could not initialize the
121 #define PAL_STATUS_REQUIRES_MEMORY (-9) /* Call requires PAL memory buffer */
139 #define PAL_CACHE_FLUSH_CHK_INTRS 2 /* check for interrupts/mc while flushing */
158 at : 2, /* 2-1 Cache mem attr*/
159 reserved : 5, /* 7-3 Reserved */
160 associativity : 8, /* 16-8 Associativity*/
161 line_size : 8, /* 23-17 Line size */
162 stride : 8, /* 31-24 Stride */
163 store_latency : 8, /*39-32 Store latency*/
164 load_latency : 8, /* 47-40 Load latency*/
165 store_hints : 8, /* 55-48 Store hints*/
166 load_hints : 8; /* 63-56 Load hints */
176 u32 alias_boundary : 8, /* 39-32 aliased addr
180 tag_ls_bit : 8, /* 47-40 LSb of addr*/
181 tag_ms_bit : 8, /* 55-48 MSb of addr*/
182 reserved : 8; /* 63-56 Reserved */
224 #define PAL_CACHE_HINT_NTEMP_1 1 /* Non-temporal level 1 */
225 #define PAL_CACHE_HINT_NTEMP_ALL 3 /* Non-temporal all levels */
235 tagprot_lsb : 6, /* Least -do- */
286 u64 cache_type : 8, /* 7-0 cache type */
287 level : 8, /* 15-8 level of the
291 way : 8, /* 23-16 way in the set
293 part : 8, /* 31-24 part of the
296 reserved : 32; /* 63-32 is reserved*/
299 u64 cache_type : 8, /* 7-0 cache type */
300 level : 8, /* 15-8 level of the
304 way : 8, /* 23-16 way in the set
306 part : 8, /* 31-24 part of the
309 mesi : 8, /* 39-32 cache line
312 start : 8, /* 47-40 lsb of data to
315 length : 8, /* 55-48 #bits to
318 trigger : 8; /* 63-56 Trigger error
352 u64 pcli_data; /* 64-bit data, tag, protection bits .. */
408 ci : 1, /* MC isolated */
414 hd : 1, /* Non-essential hw
422 tl : 1, /* 1 => MC occurred
435 pm : 1, /* Precise min-state save area */
442 in : 1, /* 0 = MC, 1 = INIT */
444 cm : 1, /* MC corrected */
445 ex : 1, /* MC is expected */
579 * during cache-cache
633 u64 sid : 5, /* Structure identification */ member
727 #define pmci_cache_mc pme_cache.mc
734 #define pmci_tlb_mc pme_tlb.mc
746 #define pmci_bus_mc pme_bus.mc
756 u64 pmsa_gr[15]; /* GR1 - GR15 */
757 u64 pmsa_bank0_gr[16]; /* GR16 - GR31 */
758 u64 pmsa_bank1_gr[16]; /* GR16 - GR31 */
890 features_avail->pal_bus_features_val = iprv.v0; in ia64_pal_bus_get_features()
892 features_status->pal_bus_features_val = iprv.v1; in ia64_pal_bus_get_features()
894 features_control->pal_bus_features_val = iprv.v2; in ia64_pal_bus_get_features()
916 conf->pcci_status = iprv.status; in ia64_pal_cache_config_info()
917 conf->pcci_info_1.pcci1_data = iprv.v0; in ia64_pal_cache_config_info()
918 conf->pcci_info_2.pcci2_data = iprv.v1; in ia64_pal_cache_config_info()
919 conf->pcci_reserved = iprv.v2; in ia64_pal_cache_config_info()
934 prot->pcpi_status = iprv.status; in ia64_pal_cache_prot_info()
935 prot->pcp_info[0].pcpi_data = iprv.v0 & 0xffffffff; in ia64_pal_cache_prot_info()
936 prot->pcp_info[1].pcpi_data = iprv.v0 >> 32; in ia64_pal_cache_prot_info()
937 prot->pcp_info[2].pcpi_data = iprv.v1 & 0xffffffff; in ia64_pal_cache_prot_info()
938 prot->pcp_info[3].pcpi_data = iprv.v1 >> 32; in ia64_pal_cache_prot_info()
939 prot->pcp_info[4].pcpi_data = iprv.v2 & 0xffffffff; in ia64_pal_cache_prot_info()
940 prot->pcp_info[5].pcpi_data = iprv.v2 >> 32; in ia64_pal_cache_prot_info()
1006 /* Write the data and tag of a processor-controlled cache line for diags */
1057 /* Switch from IA64-system environment to IA-32 system environment */
1158 /* Get the current P-state information */
1168 /* Set the P-state */
1351 * self-test and the required alignment of memory.
1385 pm_info->ppmi_data = iprv.v0; in ia64_pal_perf_mon_info()
1455 return -1; in ia64_get_ptce()
1459 ptce->base = iprv.v0; in ia64_get_ptce()
1460 ptce->count[0] = iprv.v1 >> 32; in ia64_get_ptce()
1461 ptce->count[1] = iprv.v1 & 0xffffffff; in ia64_get_ptce()
1462 ptce->stride[0] = iprv.v2 >> 32; in ia64_get_ptce()
1463 ptce->stride[1] = iprv.v2 & 0xffffffff; in ia64_get_ptce()
1501 hints->ph_data = iprv.v1; in ia64_pal_rse_info()
1518 * This is usually called in IA-32 mode.
1528 /* Perform the second phase of processor self-test. */
1565 pal_min_version->pal_version_val = iprv.v0; in ia64_pal_version()
1568 pal_cur_version->pal_version_val = iprv.v1; in ia64_pal_version()
1603 tc_info->pti_val = iprv.v0; in ia64_pal_vm_info()
1659 vm_info_1->pvi1_val = iprv.v0; in ia64_pal_vm_summary()
1661 vm_info_2->pvi2_val = iprv.v1; in ia64_pal_vm_summary()
1706 tr_valid->piv_val = iprv.v0; in ia64_pal_tr_read()
1721 #define PAL_VISIBILITY_INVAL_ARG -2
1722 #define PAL_VISIBILITY_ERROR -3
1791 mapping->overview.overview_data = iprv.v0; in ia64_pal_logical_to_phys()
1792 mapping->ppli1.ppli1_data = iprv.v1; in ia64_pal_logical_to_phys()
1793 mapping->ppli2.ppli2_data = iprv.v2; in ia64_pal_logical_to_phys()
1818 info->num_shared = iprv.v0; in ia64_pal_cache_shared_info()
1819 info->ppli1.ppli1_data = iprv.v1; in ia64_pal_cache_shared_info()
1820 info->ppli2.ppli2_data = iprv.v2; in ia64_pal_cache_shared_info()