Home
last modified time | relevance | path

Searched +full:d +full:- +full:tlb +full:- +full:size (Results 1 – 25 of 68) sorted by relevance

123

/illumos-gate/usr/src/man/man8/
H A Dtrapstat.88 trapstat \- report trap statistics
12 \fB/usr/sbin/trapstat\fR [\fB-t\fR | \fB-T\fR | \fB-e\fR \fIentry\fR]
13 [\fB-C\fR \fIprocessor_set_id\fR | \fB-c\fR \fIcpulist\fR] [\fB-P\fR] [\fB-a\fR]
14 [\fB-r\fR \fIrate\fR] [ [\fIinterval\fR [\fIcount\fR]] | \fIcommand\fR | [\fIargs\fR]]
19 \fB/usr/sbin/trapstat\fR \fB-l\fR
24 The \fBtrapstat\fR utility gathers and displays run-time trap statistics on
25 UltraSPARC-based systems. The default output is a table of trap types and
33 specified with the \fB-c\fR or \fB-C\fR option.
36 Unless the \fB-r\fR option or the \fB-a\fR option is specified, the value
38 second. If the \fB-r\fR option is specified, the value corresponds to the
[all …]
/illumos-gate/usr/src/uts/sun4u/os/
H A Dcpr_impl.c146 * private struct for tlb handling
155 uint64_t skip; /* assumes TLB <= 64 locked entries */
161 * special handling for tlb info
192 * by client_handler() to jump into the prom. here we splice-in a wrapper
228 * Do not allow setting page size codes in MMU primary context in i_cpr_mp_setup()
264 for (cp = CPU->cpu_next; cp != CPU; cp = cp->cpu_next) { in i_cpr_mp_setup()
265 cp->cpu_flags = CPU_FROZEN; in i_cpr_mp_setup()
266 cp->cpu_m.mutex_ready = 0; in i_cpr_mp_setup()
269 for (cp = CPU->cpu_next; cp != CPU; cp = cp->cpu_next) in i_cpr_mp_setup()
270 restart_other_cpu(cp->cpu_id); in i_cpr_mp_setup()
[all …]
H A Dppage.c56 * The base is PPMAPBASE and its size is PPMAPSIZE. This memory is divided
88 * There are only 64 TLB entries on spitfire, 16 on cheetah
89 * (fully-associative TLB) so we allow the cpu module to tune the
140 * page. An avoid arg of -1 means you don't care, for instance pagezero.
166 if (color == -1) { in ppmapin()
167 if ((intptr_t)hint != -1L) { in ppmapin()
170 color = addr_to_vcolor(mmu_ptob(pp->p_pagenum)); in ppmapin()
241 nset = ((uintptr_t)va >> ppmap_shift) & (nsets - 1); in ppmapout()
260 * Find a slot in per CPU page copy area. Load up a locked TLB in the
262 * mapping is only temporary. If the thread migrates it'll get a TLB
[all …]
/illumos-gate/usr/src/uts/sun4u/cpu/
H A Dus3_cheetahplus_asm.S59 * By default we assume the Ecache is 2-way so we flush both
60 * ways. Even if the cache is direct-mapped no harm will come
64 * XXX - scr2 not used.
146 * We get here via trap 70 at TL>0->Software trap 0 at TL>0. We enter
158 * This macro turns off the D$/I$ if they are on and saves their
162 * point to the ch_err_tl1_data structure and the original D$/I$ state
197 * Flush the Ecache, using the largest possible cache size with the
198 * smallest possible line size since we can't get the actual sizes
222 * If we turned off the D$, then flush it and turn it back on.
230 * Flush the D$.
[all …]
H A Dspitfire_asm.S66 * tmp3 = cache size \
67 * tmp1 = cache line size \
82 * tmp1 = cache line size \
93 bz,pn %icc, 5f /* branch if no valid sub-blocks */ ;\
109 * tmp1 = cache line size \
110 * tmp3 = cache size \
119 bz,pn %icc, 5f /* br if no valid sub-blocks */ ;\
144 * tmp2 = page size \
145 * tmp1 = cache line size \
160 #define DCACHE_FLUSHALL(size, linesize, tmp) \ argument
[all …]
H A Dus3_cheetahplus.c62 #include <sys/fm/cpu/UltraSPARC-III.h>
133 vac_mask = MMU_PAGEMASK & (vac_size - 1); in cpu_fiximp()
143 * Use Panther values for Panther-only domains.
158 /* fix hwcaps for USIV+-only domains */ in cpu_fix_allpanther()
236 endtick += (tick - lasttick); in send_mondo_set()
242 cpuid = -1; in send_mondo_set()
250 if (cheetah_sendmondo_recover && cpuid != -1 && in send_mondo_set()
270 "[%d NACK %d BUSY]\nIDSR 0x%" in send_mondo_set()
301 lo = lowbit(cpus_left) - 1; in send_mondo_set()
315 for ((index = ((int)next - 1)); in send_mondo_set()
[all …]
H A Dus3_common_mmu.c45 * pan_disable_ism_large_pages and pan_disable_large_pages are the Panther-
48 * for Panther-only systems.
50 * chpjag_disable_large_pages is the Ch/Jaguar-specific version of
67 * The function returns the USIII+(i)-IV+ mmu-specific values for the
70 * already contain the generic sparc 4 page size info, and the return
71 * values are or'd with those values.
116 * P_pgsz0 and sfmmu_pgsz[1] is used in P_pgsz1, as per Figure F-1-1
118 * Supplement and Table 15-21 DMMU Primary Context Register in the
136 * for Panther-only systems. It may be called from set_platform_defaults,
137 * if some value other than 4M is desired, for Panther-only systems.
[all …]
H A Dopl_olympus.c27 * Support for Olympus-C (SPARC64-VI) and Jupiter (SPARC64-VII).
65 #include <sys/fm/cpu/SPARC64-VI.h>
100 * Set to 1 if booted with all Jupiter cpus (all-Jupiter features enabled).
151 "TLB MultiHit", FM_EREPORT_PAYLOAD_SYNC,
154 "TLB Parity", FM_EREPORT_PAYLOAD_SYNC,
264 "l1-dcache-size", &dcache_size, OPL_DCACHE_SIZE, in cpu_fiximp()
265 "l1-dcache-line-size", &dcache_linesize, OPL_DCACHE_LSIZE, in cpu_fiximp()
266 "l1-icache-size", &icache_size, OPL_ICACHE_SIZE, in cpu_fiximp()
267 "l1-icache-line-size", &icache_linesize, OPL_ICACHE_LSIZE, in cpu_fiximp()
268 "l2-cache-size", &ecache_size, OPL_ECACHE_SIZE, in cpu_fiximp()
[all …]
H A Dus3_common_asm.S72 * tmp3 = cache size \
73 * tmp1 = cache line size \
88 * tmp1 = cache line size \
108 * tmp1 = cache line size \
109 * tmp3 = cache size \
118 bz,pn %icc, 5f /* br if no valid sub-blocks */ ;\
133 * dcache size = 64K, one way 16K
148 * tmp1 = cache line size \
156 * tmp2 = page size \
176 * flush page from the tlb
[all …]
/illumos-gate/usr/src/uts/sun4/io/
H A Dtrapstat.c54 * -------------------------------------------------------------------
60 * of machine-specific traps. The lack of insight has been especially acute
61 * on UltraSPARC microprocessors: because these microprocessors handle TLB
64 * increasingly outstripped TLB reach, this has become increasingly true.
73 * entry increments a per-trap, in-memory counter and then jumps to the actual,
76 * (Note that per-CPU statistics fall out by creating a different trap table
81 * While the idea is straight-forward, a nuance of SPARC V9 slightly
94 * +--------------------------------+- 3ff
98 * |- - - - - - - - - - - - - - - - +- 300
99 * |- - - - - - - - - - - - - - - - +- 2ff
[all …]
/illumos-gate/usr/src/psm/stand/boot/sparc/sun4/sys/
H A Dprom_plat.h40 * This file contains external platform-specific promif interface definitions.
43 * Common sun4 subset for the IEEE 1275-1994 compliant prom.
49 * Routines with fine-grained memory and MMU control are platform-dependent.
59 * R (read - soft) Set (Prom is not required to implement soft bits)
60 * X (exec - soft) Set (Prom is not required to implement soft bits)
65 * The following fields are initialized as follows in the TTE-data for any
74 * Page size of Prom mappings are typically 8k, "modify" cannot change
77 * If the virtualized "mode" is -1, the defaults as shown above are used,
80 * property contains the actual tte-data, not the virtualized "mode".
84 * and remove locked mappings. (SUNW,{i,d}tlb-load).
[all …]
/illumos-gate/usr/src/uts/sun4v/sys/
H A Dprom_plat.h43 * This file contains external platform-specific promif interface definitions.
46 * This version of the file is for the IEEE 1275-1994 compliant sun4u prom.
52 * Routines with fine-grained memory and MMU control are platform-dependent.
62 * R (read - soft) Set (Prom is not required to implement soft bits)
63 * X (exec - soft) Set (Prom is not required to implement soft bits)
68 * The following fields are initialized as follows in the TTE-data for any
77 * Page size of Prom mappings are typically 8k, "modify" cannot change
80 * If the virtualized "mode" is -1, the defaults as shown above are used,
83 * property contains the actual tte-data, not the virtualized "mode".
87 * and remove locked mappings. (SUNW,{i,d}tlb-load).
[all …]
/illumos-gate/usr/src/uts/sun4u/sys/
H A Dprom_plat.h44 * This file contains external platform-specific promif interface definitions.
47 * This version of the file is for the IEEE 1275-1994 compliant sun4u prom.
53 * Routines with fine-grained memory and MMU control are platform-dependent.
63 * R (read - soft) Set (Prom is not required to implement soft bits)
64 * X (exec - soft) Set (Prom is not required to implement soft bits)
69 * The following fields are initialized as follows in the TTE-data for any
78 * Page size of Prom mappings are typically 8k, "modify" cannot change
81 * If the virtualized "mode" is -1, the defaults as shown above are used,
84 * property contains the actual tte-data, not the virtualized "mode".
88 * and remove locked mappings. (SUNW,{i,d}tlb-load).
[all …]
H A Dmmu.h58 #define MMU_TAG_ACCESS 0x30 /* tlb tag access */
61 #define MMU_TSB_PX 0x48 /* i/d tsb primary extension reg */
62 #define MMU_TSB_SX 0x50 /* d tsb secondary extension reg */
63 #define MMU_TSB_NX 0x58 /* i/d tsb nucleus extension reg */
64 #define MMU_TAG_ACCESS_EXT 0x60 /* tlb tag access extension reg */
65 #define MMU_SHARED_CONTEXT 0x68 /* SPARC64-VII shared context */
75 * |--------------|------|----------|----|---|------|------|---|----|---|
84 #define SFSR_E 0x00000040 /* side-effect */
115 * +-----+---------+------+-------------------------+
116 * | 000 | context | -- | virtual address [63:22] |
[all …]
/illumos-gate/usr/src/psm/stand/cpr/sparcv9/sun4u/
H A Dcprboot.c27 * cprboot - prom client that restores kadb/kernel pages
30 * reset boot-file/boot-device to their original values
133 * will be found without any special-case code in get_bootargs()
140 if (cp - argp) { in get_bootargs()
142 if ((argv - cb_args) == (CB_MAXARGS - 1)) in get_bootargs()
151 prom_printf(" %d: \"%s\"\n", in get_bootargs()
152 (int)(argv - cb_args), *argv); in get_bootargs()
164 "Usage: boot -F %s [-R] [-S <diskpath>]\n%s\n\n", in usage()
171 * bootargs should start with "-F cprboot"
186 /* expect "-F" */ in check_bootargs()
[all …]
H A Dmachdep.c86 mdlen = cmach.md_size - sizeof (csu_md_t); in cb_check_machdep()
122 * a sequence of null-terminated strings stored contiguously. in cb_interpret()
135 s = sizeof (minibuf) - 4; in cb_interpret()
143 bytes -= wlen; in cb_interpret()
166 tname = 'd'; in restore_tlb()
173 if (utp->va_tag == 0) in restore_tlb()
175 virt = (caddr_t)utp->va_tag; in restore_tlb()
176 (*tfunc)(utp->index, virt, &utp->tte); in restore_tlb()
178 prom_printf(" cpu_id %d: write %ctlb " in restore_tlb()
179 "(index %x, virt 0x%lx, size 0x%x)\n", in restore_tlb()
[all …]
H A Dpages.c49 * page had already been moved - and would confuse the compare in shuffle_pages()
53 tail_ppn = descp->cpd_pfn + descp->cpd_pages; in shuffle_pages()
54 for (dst_ppn = descp->cpd_pfn; dst_ppn < tail_ppn; dst_ppn++) { in shuffle_pages()
84 dst_off = mmu_ptob(dst_ppn - sfile.low_ppn); in shuffle_pages()
92 * map-in source statefile buffer pages (read-only) at CB_SRC_VIRT;
103 dtlb_index = cb_dents - CB_MAX_KPAGES - 1; in mapin_buf_pages()
113 dtlb_index--; in mapin_buf_pages()
120 * map-in destination kernel pages (read/write) at CB_DST_VIRT
129 dtlb_index = cb_dents - 1; in mapin_dst_pages()
131 dst_ppn = descp->cpd_pfn; in mapin_dst_pages()
[all …]
/illumos-gate/usr/src/uts/sun4v/os/
H A Dfillsysinfo.c95 uint_t vac_mask = MMU_PAGEMASK & (S_VAC_SIZE - 1);
113 uint64_t associativity = 0, linesize = 0, size = 0; in fill_cpu() local
119 /* All out-of-range cpus will be stopped later. */ in fill_cpu()
121 cmn_err(CE_CONT, "fill_cpu: out of range cpuid %ld - " in fill_cpu()
128 cpunode->cpuid = (int)cpuid; in fill_cpu()
129 cpunode->device_id = cpuid; in fill_cpu()
131 if (sizeof (cpunode->fru_fmri) > strlen(CPU_FRU_FMRI)) in fill_cpu()
132 (void) strcpy(cpunode->fru_fmri, CPU_FRU_FMRI); in fill_cpu()
142 if (strlen(namebufp) > sizeof (cpunode->name)) in fill_cpu()
145 (void) strcpy(cpunode->name, namebufp); in fill_cpu()
[all …]
/illumos-gate/usr/src/uts/sun4u/io/
H A Diommu.c26 * Copyright 2012 Garrett D'Amore <garrett@damore.org>. All rights reserved.
99 * the TLB flush code to use diagnostic registers. This value was determined
138 softsp->iommu_ctrl_reg = REG_ADDR(address, OFF_IOMMU_CTRL_REG); in iommu_init()
139 softsp->tsb_base_addr = REG_ADDR(address, OFF_TSB_BASE_ADDR); in iommu_init()
140 softsp->iommu_flush_reg = REG_ADDR(address, OFF_IOMMU_FLUSH_REG); in iommu_init()
141 softsp->iommu_tlb_tag = REG_ADDR(address, OFF_IOMMU_TLB_TAG); in iommu_init()
142 softsp->iommu_tlb_data = REG_ADDR(address, OFF_IOMMU_TLB_DATA); in iommu_init()
146 mutex_init(&softsp->dma_pool_lock, NULL, MUTEX_DEFAULT, NULL); in iommu_init()
147 mutex_init(&softsp->intr_poll_list_lock, NULL, MUTEX_DEFAULT, NULL); in iommu_init()
150 if ((softsp->iommu_tsb_cookie = iommu_tsb_alloc(softsp->upa_id)) == in iommu_init()
[all …]
/illumos-gate/usr/src/uts/common/xen/public/
H A Dxen.h30 #include "xen-compat.h"
45 #include "arch-x86/xen.h"
47 #include "arch-ia64.h"
107 /* Architecture-specific hypercall definitions. */
127 /* New event-channel and physdev hypercalls introduced in 0x00030202. */
145 * In the side comments, 'V.' denotes a per-VCPU VIRQ while 'G.' denotes a
146 * global VIRQ. The former can be bound once per VCPU and cannot be re-bound.
148 * allocated to VCPU0 but can subsequently be re-bound.
159 /* Architecture-specific VIRQ definitions. */
172 * MMU-UPDATE REQUESTS
[all …]
/illumos-gate/usr/src/uts/sfmmu/vm/
H A Dhat_sfmmu.c31 * VM - Hardware Address Translation management for Spitfire MMU.
97 ASSERT(SF_RGNMAP_TEST(hat->sfmmu_hmeregion_map, rid)); \
99 _srdp = (hat)->sfmmu_srdp; \
101 ASSERT(_srdp->srd_refcnt != 0); \
102 _rgnp = _srdp->srd_hmergnp[(rid)]; \
103 ASSERT(_rgnp != NULL && _rgnp->rgn_id == rid); \
104 ASSERT(_rgnp->rgn_refcnt != 0); \
105 ASSERT(!(_rgnp->rgn_flags & SFMMU_REGION_FREE)); \
106 ASSERT((_rgnp->rgn_flags & SFMMU_REGION_TYPE_MASK) == \
108 ASSERT((saddr) >= _rgnp->rgn_saddr); \
[all …]
/illumos-gate/usr/src/uts/i86pc/vm/
H A Dhtable.c101 #define HTABLE_MUTEX_HASH(h) ((h) & (NUM_HTABLE_MUTEX - 1))
118 * A counter to track if we are stealing or reaping htables. When non-zero
204 * PT_WRITABLE | PT_VALID - regular kpm mapping
205 * PT_VALID - make mapping read-only
206 * 0 - remove mapping
208 * returns 0 on success. non-zero for failure.
305 pfn = pp->p_pagenum; in ptable_alloc()
331 ASSERT(pfn == pp->p_pagenum); in ptable_free()
338 u_offset_t off = pp->p_offset; in ptable_free()
359 ht->ht_hat = NULL; /* no longer tied to a hat */ in htable_put_reserve()
[all …]
/illumos-gate/usr/src/uts/sun4u/io/pci/
H A Dpci_iommu.c26 * Copyright 2012 Garrett D'Amore <garrett@damore.org>. All rights reserved.
52 dev_info_t *dip = pci_p->pci_dip; in iommu_create()
68 pci_p->pci_iommu_p = iommu_p; in iommu_create()
69 iommu_p->iommu_pci_p = pci_p; in iommu_create()
70 iommu_p->iommu_inst = ddi_get_instance(dip); in iommu_create()
75 iommu_p->iommu_dvma_end = pci_iommu_dvma_end; in iommu_create()
81 iommu_p->iommu_ctrl_reg = in iommu_create()
83 iommu_p->iommu_tsb_base_addr_reg = in iommu_create()
85 iommu_p->iommu_flush_page_reg = in iommu_create()
92 iommu_p->iommu_tsb_vaddr = /* retrieve TSB VA reserved by system */ in iommu_create()
[all …]
/illumos-gate/usr/src/uts/intel/os/
H A Dcpuid.c54 * multi-processing (SMT), etc.
56 * ------------------------
58 * ------------------------
80 * AMD adds non-Intel compatible
104 * various extensions. For example, AMD-
122 * Some leaves are broken down into sub-leaves. This means that the value
124 * example, Intel uses the value in %ecx on leaf 7 to indicate a sub-leaf to get
130 * program is in 64-bit mode. When executing in 64-bit mode, the upper
134 * ----------------------
136 * ----------------------
[all …]
/illumos-gate/usr/src/uts/sun4u/vm/
H A Dmach_sfmmu.h27 * VM - Hardware Address Translation management.
55 * Platforms that use UTSB_PHYS do not allocate 2 locked TLB entries to access
61 #define SCRATCHPAD_UTSBREG2 OPL_SCRATCHPAD_UTSBREG4 /* 4M-256M pages */
62 #define SCRATCHPAD_UTSBREG3 OPL_SCRATCHPAD_UTSBREG5 /* 8K-512K pages */
63 #define SCRATCHPAD_UTSBREG4 OPL_SCRATCHPAD_UTSBREG6 /* 4M-256M pages */
285 bnz,pt %xcc, label##4; /* if ref bit set-skip ahead */ \
289 blt %icc, label##2; /* skip flush if FJ-OPL cpus */ \
342 blt %icc, label##2; /* skip flush if FJ-OPL cpus */ \
377 * can vary depending upon the TSB slab size being used on the
438 * Load the locked TSB TLB entry.
[all …]

123