usr/src/boot/i386/common/drv.c
61
packet.seg = VTOPSEG(buf);
usr/src/boot/i386/common/drv.c
85
packet.seg = VTOPSEG(buf);
usr/src/boot/i386/common/edd.h
40
uint16_t seg;
usr/src/boot/i386/common/edd.h
48
uint16_t seg;
usr/src/boot/i386/libi386/biosdisk.c
1134
packet.seg = VTOPSEG(dest);
usr/src/boot/sys/i386/include/pc/bios.h
314
struct bios_segments seg;
usr/src/cmd/bhyve/amd64/task_switch.c
672
calculate_gla(enum vm_cpu_mode cpu_mode, enum vm_reg_name seg,
usr/src/cmd/bhyve/amd64/task_switch.c
679
assert(seg >= VM_REG_GUEST_ES && seg <= VM_REG_GUEST_GS);
usr/src/cmd/bhyve/amd64/task_switch.c
758
if (cpu_mode == CPU_MODE_64BIT && seg != VM_REG_GUEST_FS &&
usr/src/cmd/bhyve/amd64/task_switch.c
759
seg != VM_REG_GUEST_GS) {
usr/src/cmd/bhyve/common/pci_e82545.c
1086
int desc, dtype, ntype, iovcnt, tcp, tso, paylen, seg, tiovcnt, pv;
usr/src/cmd/bhyve/common/pci_e82545.c
1411
for (seg = 0, left = paylen; left > 0; seg++, left -= now) {
usr/src/cmd/bhyve/common/pci_e82545.c
1440
seg, hdrlen, now, tiovcnt);
usr/src/cmd/bhyve/common/pci_e82545.c
1448
htons(ipid + seg);
usr/src/cmd/fm/schemes/mem/mem_read.c
106
bcopy(segp, &seg, sizeof (seeprom_seg_t));
usr/src/cmd/fm/schemes/mem/mem_read.c
107
seg.sees_segoff = ntohs(seg.sees_segoff);
usr/src/cmd/fm/schemes/mem/mem_read.c
108
seg.sees_seglen = ntohs(seg.sees_seglen);
usr/src/cmd/fm/schemes/mem/mem_read.c
110
if (bufsz < seg.sees_segoff + seg.sees_seglen)
usr/src/cmd/fm/schemes/mem/mem_read.c
113
if (strncmp(segname, seg.sees_name,
usr/src/cmd/fm/schemes/mem/mem_read.c
114
sizeof (seg.sees_name)) == 0) {
usr/src/cmd/fm/schemes/mem/mem_read.c
115
*segszp = seg.sees_seglen;
usr/src/cmd/fm/schemes/mem/mem_read.c
116
return ((void *)(buf + seg.sees_segoff));
usr/src/cmd/fm/schemes/mem/mem_read.c
84
seeprom_seg_t *segp, seg;
usr/src/cmd/fm/schemes/mem/mem_read.c
87
if (strlen(segname) != sizeof (seg.sees_name))
usr/src/cmd/ipf/lib/ports.c
17
int ports(seg, proto, pp, cp, tp, linenum)
usr/src/cmd/ipf/lib/ports.c
18
char ***seg;
usr/src/cmd/ipf/lib/ports.c
27
if (!*seg || !**seg || !***seg)
usr/src/cmd/ipf/lib/ports.c
29
if (!strcasecmp(**seg, "port") && *(*seg + 1) && *(*seg + 2)) {
usr/src/cmd/ipf/lib/ports.c
30
(*seg)++;
usr/src/cmd/ipf/lib/ports.c
31
if (ISALNUM(***seg) && *(*seg + 2)) {
usr/src/cmd/ipf/lib/ports.c
32
if (portnum(**seg, proto, pp, linenum) == 0)
usr/src/cmd/ipf/lib/ports.c
34
(*seg)++;
usr/src/cmd/ipf/lib/ports.c
35
if (!strcmp(**seg, "<>"))
usr/src/cmd/ipf/lib/ports.c
37
else if (!strcmp(**seg, "><"))
usr/src/cmd/ipf/lib/ports.c
42
linenum, **seg);
usr/src/cmd/ipf/lib/ports.c
45
(*seg)++;
usr/src/cmd/ipf/lib/ports.c
46
if (**seg == NULL) {
usr/src/cmd/ipf/lib/ports.c
51
if (portnum(**seg, proto, tp, linenum) == 0)
usr/src/cmd/ipf/lib/ports.c
53
} else if (!strcmp(**seg, "=") || !strcasecmp(**seg, "eq"))
usr/src/cmd/ipf/lib/ports.c
55
else if (!strcmp(**seg, "!=") || !strcasecmp(**seg, "ne"))
usr/src/cmd/ipf/lib/ports.c
57
else if (!strcmp(**seg, "<") || !strcasecmp(**seg, "lt"))
usr/src/cmd/ipf/lib/ports.c
59
else if (!strcmp(**seg, ">") || !strcasecmp(**seg, "gt"))
usr/src/cmd/ipf/lib/ports.c
61
else if (!strcmp(**seg, "<=") || !strcasecmp(**seg, "le"))
usr/src/cmd/ipf/lib/ports.c
63
else if (!strcmp(**seg, ">=") || !strcasecmp(**seg, "ge"))
usr/src/cmd/ipf/lib/ports.c
67
linenum, **seg);
usr/src/cmd/ipf/lib/ports.c
71
(*seg)++;
usr/src/cmd/ipf/lib/ports.c
72
if (portnum(**seg, proto, pp, linenum) == 0)
usr/src/cmd/ipf/lib/ports.c
76
(*seg)++;
usr/src/cmd/mdb/common/modules/dtrace/dtrace.c
1558
dtrace_state_walk(uintptr_t addr, const vmem_seg_t *seg, minor_t *highest)
usr/src/cmd/mdb/common/modules/dtrace/dtrace.c
1560
if (seg->vs_end > *highest)
usr/src/cmd/mdb/common/modules/dtrace/dtrace.c
1561
*highest = seg->vs_end;
usr/src/cmd/mdb/common/modules/genunix/gcore.c
163
mdb_seg_t *seg = gs->gs_seg;
usr/src/cmd/mdb/common/modules/genunix/gcore.c
168
if (seg->s_data != 0) {
usr/src/cmd/mdb/common/modules/genunix/gcore.c
171
seg->s_data, 0) == -1) {
usr/src/cmd/mdb/common/modules/genunix/gcore.c
176
nvpage = seg_pages(seg);
usr/src/cmd/mdb/common/modules/genunix/gcore.c
209
mdb_seg_t *seg = gs->gs_seg;
usr/src/cmd/mdb/common/modules/genunix/gcore.c
211
return (svd->offset + (uintptr_t)(addr - seg->s_base));
usr/src/cmd/mdb/common/modules/genunix/gcore.c
221
mdb_seg_t *seg = gs->gs_seg;
usr/src/cmd/mdb/common/modules/genunix/gcore.c
231
if (mdb_ctf_vread(&as, "struct as", "mdb_as_t", seg->s_as, 0)
usr/src/cmd/mdb/common/modules/genunix/gcore.c
385
mdb_seg_t *seg = gs->gs_seg;
usr/src/cmd/mdb/common/modules/genunix/gcore.c
396
p = seg_page(seg, addr);
usr/src/cmd/mdb/common/modules/genunix/gcore.c
397
ep = seg_page(seg, eaddr);
usr/src/cmd/mdb/common/modules/genunix/gcore.c
426
mdb_seg_t *seg = gs->gs_seg;
usr/src/cmd/mdb/common/modules/genunix/gcore.c
432
dprintf("addr: %p pgno: %p\n", addr, seg_page(seg, addr));
usr/src/cmd/mdb/common/modules/genunix/gcore.c
433
return (VPP_PROT(&svd->vpage[seg_page(seg, addr)]));
usr/src/cmd/mdb/common/modules/genunix/gcore.c
444
mdb_seg_t seg;
usr/src/cmd/mdb/common/modules/genunix/gcore.c
446
if (mdb_ctf_vread(&seg, "struct seg", "mdb_seg_t", seg_addr, 0) == -1) {
usr/src/cmd/mdb/common/modules/genunix/gcore.c
450
if (as_segat_arg->addr < seg.s_base) {
usr/src/cmd/mdb/common/modules/genunix/gcore.c
454
if (as_segat_arg->addr >= seg.s_base + seg.s_size) {
usr/src/cmd/mdb/common/modules/genunix/gcore.c
542
gcore_pr_getsegsize(mdb_seg_t *seg)
usr/src/cmd/mdb/common/modules/genunix/gcore.c
544
uint64_t size = seg->s_size;
usr/src/cmd/mdb/common/modules/genunix/gcore.c
546
if (seg->s_ops == gcore_segvn_ops) {
usr/src/cmd/mdb/common/modules/genunix/gcore.c
550
seg->s_data, 0) == -1) {
usr/src/cmd/mdb/common/modules/genunix/gcore.c
686
gcore_seg_create(mdb_seg_t *seg)
usr/src/cmd/mdb/common/modules/genunix/gcore.c
691
gs->gs_seg = seg;
usr/src/cmd/mdb/common/modules/genunix/gcore.c
692
if (seg->s_ops == gcore_segvn_ops) {
usr/src/cmd/mdb/common/modules/genunix/gcore.c
695
mdb_warn("Unhandled segment type, ops: %p\n", seg->s_ops);
usr/src/cmd/mdb/common/modules/genunix/gcore.c
724
mdb_seg_t *seg;
usr/src/cmd/mdb/common/modules/genunix/gcore.c
735
seg = &s;
usr/src/cmd/mdb/common/modules/genunix/gcore.c
736
eaddr = seg->s_base + gcore_pr_getsegsize(seg);
usr/src/cmd/mdb/common/modules/genunix/gcore.c
738
if ((gs = gcore_seg_create(seg)) == NULL) {
usr/src/cmd/mdb/common/modules/genunix/gcore.c
748
for (saddr = seg->s_base; saddr < eaddr; saddr = baddr) {
usr/src/cmd/mdb/common/modules/genunix/gcore.c
780
if (seg->s_ops == gcore_segvn_ops) {
usr/src/cmd/mdb/common/modules/genunix/gcore.c
782
"mdb_segvn_data_t", seg->s_data, 0) == 0 &&
usr/src/cmd/mdb/common/modules/genunix/genunix.c
2427
kgrep_walk_seg(uintptr_t addr, const struct seg *seg, kgrep_walk_data_t *kg)
usr/src/cmd/mdb/common/modules/genunix/genunix.c
2429
uintptr_t base = (uintptr_t)seg->s_base;
usr/src/cmd/mdb/common/modules/genunix/genunix.c
2435
if ((uintptr_t)seg->s_ops == kg->kg_segkpm)
usr/src/cmd/mdb/common/modules/genunix/genunix.c
2438
return (kg->kg_cb(base, base + seg->s_size, kg->kg_cbdata));
usr/src/cmd/mdb/common/modules/genunix/genunix.c
2443
kgrep_walk_vseg(uintptr_t addr, const vmem_seg_t *seg, kgrep_walk_data_t *kg)
usr/src/cmd/mdb/common/modules/genunix/genunix.c
2449
if (seg->vs_start == kg->kg_heap_lp_base &&
usr/src/cmd/mdb/common/modules/genunix/genunix.c
2450
seg->vs_end == kg->kg_heap_lp_end)
usr/src/cmd/mdb/common/modules/genunix/genunix.c
2453
return (kg->kg_cb(seg->vs_start, seg->vs_end, kg->kg_cbdata));
usr/src/cmd/mdb/common/modules/genunix/genunix.c
2458
kgrep_xwalk_vseg(uintptr_t addr, const vmem_seg_t *seg, kgrep_walk_data_t *kg)
usr/src/cmd/mdb/common/modules/genunix/genunix.c
2460
return (kg->kg_cb(seg->vs_start, seg->vs_end, kg->kg_cbdata));
usr/src/cmd/mdb/common/modules/genunix/genunix.c
4383
{ "seg", ":", "print address space segment", seg },
usr/src/cmd/mdb/common/modules/genunix/kmem.c
2551
whatis_walk_memseg(uintptr_t addr, const struct memseg *seg, mdb_whatis_t *w)
usr/src/cmd/mdb/common/modules/genunix/kmem.c
2555
uintptr_t base = (uintptr_t)seg->pages;
usr/src/cmd/mdb/common/modules/genunix/kmem.c
2556
size_t size = (uintptr_t)seg->epages - base;
usr/src/cmd/mdb/common/modules/genunix/kmem.c
3556
vmem_seg_t seg;
usr/src/cmd/mdb/common/modules/genunix/kmem.c
3569
if (seg_size < sizeof (seg))
usr/src/cmd/mdb/common/modules/genunix/kmem.c
3570
bzero((caddr_t)&seg + seg_size, sizeof (seg) - seg_size);
usr/src/cmd/mdb/common/modules/genunix/kmem.c
3572
if (mdb_vread(&seg, seg_size, addr) == -1) {
usr/src/cmd/mdb/common/modules/genunix/kmem.c
3577
vsw->vsw_current = (uintptr_t)seg.vs_anext;
usr/src/cmd/mdb/common/modules/genunix/kmem.c
3578
if (vsw->vsw_type != VMEM_NONE && seg.vs_type != vsw->vsw_type) {
usr/src/cmd/mdb/common/modules/genunix/kmem.c
3581
rval = wsp->walk_callback(addr, &seg, wsp->walk_cbdata);
usr/src/cmd/mdb/common/modules/genunix/leaky_subr.c
313
leaky_kstat(uintptr_t addr, vmem_seg_t *seg, void *ignored)
usr/src/cmd/mdb/common/modules/genunix/leaky_subr.c
315
leaky_grep(seg->vs_start, seg->vs_end - seg->vs_start);
usr/src/cmd/mdb/common/modules/genunix/leaky_subr.c
92
leaky_seg(uintptr_t addr, const vmem_seg_t *seg, leak_mtab_t **lmp)
usr/src/cmd/mdb/common/modules/genunix/leaky_subr.c
96
lm->lkm_base = seg->vs_start;
usr/src/cmd/mdb/common/modules/genunix/leaky_subr.c
97
lm->lkm_limit = seg->vs_end;
usr/src/cmd/mdb/common/modules/genunix/memory.c
1001
mdb_printf("%0?p %0?p %7dk", addr, seg->s_base, seg->s_size / 1024);
usr/src/cmd/mdb/common/modules/genunix/memory.c
1003
if (ops == types->pwt_segvn && seg->s_data != NULL) {
usr/src/cmd/mdb/common/modules/genunix/memory.c
1008
(void) mdb_vread(&svn, sizeof (svn), (uintptr_t)seg->s_data);
usr/src/cmd/mdb/common/modules/genunix/memory.c
1015
(uintptr_t)seg->s_data) == -1) {
usr/src/cmd/mdb/common/modules/genunix/memory.c
1017
seg->s_data);
usr/src/cmd/mdb/common/modules/genunix/memory.c
1029
} else if (ops == types->pwt_seghole && seg->s_data != NULL) {
usr/src/cmd/mdb/common/modules/genunix/memory.c
1033
(void) mdb_vread(&shd, sizeof (shd), (uintptr_t)seg->s_data);
usr/src/cmd/mdb/common/modules/genunix/memory.c
1042
mdb_printf(" %8s [ &%a ]", "?", seg->s_ops);
usr/src/cmd/mdb/common/modules/genunix/memory.c
1050
pmap_walk_seg_quick(uintptr_t addr, const struct seg *seg,
usr/src/cmd/mdb/common/modules/genunix/memory.c
1053
const uintptr_t ops = (uintptr_t)seg->s_ops;
usr/src/cmd/mdb/common/modules/genunix/memory.c
1055
mdb_printf("%0?p %0?p %7dk", addr, seg->s_base, seg->s_size / 1024);
usr/src/cmd/mdb/common/modules/genunix/memory.c
1057
if (ops == types->pwt_segvn && seg->s_data != NULL) {
usr/src/cmd/mdb/common/modules/genunix/memory.c
1061
(void) mdb_vread(&svn, sizeof (svn), (uintptr_t)seg->s_data);
usr/src/cmd/mdb/common/modules/genunix/memory.c
1069
mdb_printf(" [ &%a ]", seg->s_ops);
usr/src/cmd/mdb/common/modules/genunix/memory.c
1296
struct seg seg;
usr/src/cmd/mdb/common/modules/genunix/memory.c
1318
seg_addr = (uintptr_t)svd.seg;
usr/src/cmd/mdb/common/modules/genunix/memory.c
1319
if (mdb_vread(&seg, sizeof (seg), seg_addr) == -1) {
usr/src/cmd/mdb/common/modules/genunix/memory.c
1324
if ((seg.s_size + (svd.anon_index << PAGESHIFT)) > amp.size) {
usr/src/cmd/mdb/common/modules/genunix/memory.c
1332
svd.anon_index, svd.anon_index + (seg.s_size >> PAGESHIFT)));
usr/src/cmd/mdb/common/modules/genunix/memory.c
1345
struct seg svw_seg;
usr/src/cmd/mdb/common/modules/genunix/memory.c
1428
(uintptr_t)svd->seg) == -1) {
usr/src/cmd/mdb/common/modules/genunix/memory.c
1430
svd->seg, &((struct segvn_data *)(wsp->walk_addr))->seg);
usr/src/cmd/mdb/common/modules/genunix/memory.c
1499
struct seg *const seg = &svw->svw_seg;
usr/src/cmd/mdb/common/modules/genunix/memory.c
1505
if (svw->svw_walkoff >= seg->s_size) {
usr/src/cmd/mdb/common/modules/genunix/memory.c
1611
struct seg seg;
usr/src/cmd/mdb/common/modules/genunix/memory.c
1636
if (mdb_vread(&seg, sizeof (seg), kaddr) == -1) {
usr/src/cmd/mdb/common/modules/genunix/memory.c
1665
sizeof (smp)) * MAXBSIZE + seg.s_base);
usr/src/cmd/mdb/common/modules/genunix/memory.c
1681
struct seg seg;
usr/src/cmd/mdb/common/modules/genunix/memory.c
1692
if (mdb_vread(&seg, sizeof (seg), kaddr) == -1) {
usr/src/cmd/mdb/common/modules/genunix/memory.c
1697
if (mdb_vread(&sd, sizeof (sd), (uintptr_t)seg.s_data) == -1) {
usr/src/cmd/mdb/common/modules/genunix/memory.c
1698
mdb_warn("failed to read segmap_data at %p", seg.s_data);
usr/src/cmd/mdb/common/modules/genunix/memory.c
1703
((addr - (uintptr_t)seg.s_base) >> MAXBSHIFT) *
usr/src/cmd/mdb/common/modules/genunix/memory.c
958
struct seg s;
usr/src/cmd/mdb/common/modules/genunix/memory.c
996
pmap_walk_seg(uintptr_t addr, const struct seg *seg,
usr/src/cmd/mdb/common/modules/genunix/memory.c
999
const uintptr_t ops = (uintptr_t)seg->s_ops;
usr/src/cmd/mdb/common/modules/genunix/memory.h
46
int seg(uintptr_t, uint_t, int, const mdb_arg_t *);
usr/src/cmd/mdb/common/modules/genunix/typegraph.c
1186
typegraph_seg(uintptr_t addr, const vmem_seg_t *seg, tg_node_t **tgp)
usr/src/cmd/mdb/common/modules/genunix/typegraph.c
1191
tgd.tgd_size = seg->vs_end - seg->vs_start;
usr/src/cmd/mdb/common/modules/genunix/typegraph.c
1193
typegraph_buf(seg->vs_start, NULL, &tgd);
usr/src/cmd/mdb/common/modules/genunix/typegraph.c
1426
typegraph_kstat(uintptr_t addr, const vmem_seg_t *seg, mdb_ctf_id_t *type)
usr/src/cmd/mdb/common/modules/genunix/typegraph.c
1430
typegraph_build_anchored(seg->vs_start, size, *type);
usr/src/cmd/mdb/common/modules/genunix/typegraph.c
2373
struct seg seg;
usr/src/cmd/mdb/common/modules/genunix/typegraph.c
2375
if (mdb_vread(&seg, sizeof (seg), segkp) == -1) {
usr/src/cmd/mdb/common/modules/genunix/typegraph.c
2378
typegraph_known_node((uintptr_t)seg.s_data,
usr/src/cmd/mdb/common/modules/libumem/leaky_subr.c
117
leaky_seg(uintptr_t addr, const vmem_seg_t *seg, leak_mtab_t **lmp)
usr/src/cmd/mdb/common/modules/libumem/leaky_subr.c
121
lm->lkm_base = seg->vs_start;
usr/src/cmd/mdb/common/modules/libumem/leaky_subr.c
122
lm->lkm_limit = seg->vs_end;
usr/src/cmd/mdb/common/modules/libumem/leaky_subr.c
203
leaky_read_segs(uintptr_t addr, const vmem_seg_t *seg, leaky_maps_t *lmp)
usr/src/cmd/mdb/common/modules/libumem/leaky_subr.c
207
if (seg->vs_start == seg->vs_end && seg->vs_start == 0)
usr/src/cmd/mdb/common/modules/libumem/leaky_subr.c
213
my_si->ls_start = seg->vs_start;
usr/src/cmd/mdb/common/modules/libumem/leaky_subr.c
214
my_si->ls_end = seg->vs_end;
usr/src/cmd/mdb/common/modules/libumem/umem.c
3174
vmem_seg_t seg;
usr/src/cmd/mdb/common/modules/libumem/umem.c
3187
if (seg_size < sizeof (seg))
usr/src/cmd/mdb/common/modules/libumem/umem.c
3188
bzero((caddr_t)&seg + seg_size, sizeof (seg) - seg_size);
usr/src/cmd/mdb/common/modules/libumem/umem.c
3190
if (mdb_vread(&seg, seg_size, addr) == -1) {
usr/src/cmd/mdb/common/modules/libumem/umem.c
3195
vsw->vsw_current = (uintptr_t)seg.vs_anext;
usr/src/cmd/mdb/common/modules/libumem/umem.c
3196
if (vsw->vsw_type != VMEM_NONE && seg.vs_type != vsw->vsw_type) {
usr/src/cmd/mdb/common/modules/libumem/umem.c
3199
rval = wsp->walk_callback(addr, &seg, wsp->walk_cbdata);
usr/src/cmd/mdb/common/modules/mdb_ks/mdb_ks.c
1375
asmap_step(uintptr_t addr, const struct seg *seg, asmap_arg_t *asmp)
usr/src/cmd/mdb/common/modules/mdb_ks/mdb_ks.c
1380
if (seg->s_ops == asmp->asm_segvn_ops && mdb_vread(&svd,
usr/src/cmd/mdb/common/modules/mdb_ks/mdb_ks.c
1381
sizeof (svd), (uintptr_t)seg->s_data) == sizeof (svd)) {
usr/src/cmd/mdb/common/modules/mdb_ks/mdb_ks.c
1397
map.map_base = (uintptr_t)seg->s_base;
usr/src/cmd/mdb/common/modules/mdb_ks/mdb_ks.c
1398
map.map_size = seg->s_size;
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
1224
int seg;
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
1228
seg = bd->bd_defseg;
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
1232
seg = VMM_DESC_CS;
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
1236
seg = VMM_DESC_SS;
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
1243
if (vmm_vtop(bd->bd_vmm, bd->bd_curcpu, seg, va, pa) != 0) {
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
752
bhyve_seg2reg(const char *seg)
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
754
if (strcasecmp(seg, "cs") == 0)
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
756
else if (strcasecmp(seg, "ds") == 0)
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
758
else if (strcasecmp(seg, "es") == 0)
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
760
else if (strcasecmp(seg, "fs") == 0)
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
762
else if (strcasecmp(seg, "gs") == 0)
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
764
else if (strcasecmp(seg, "ss") == 0)
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
775
char *seg = "";
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
782
i = mdb_getopts(argc, argv, 's', MDB_OPT_STR, &seg, NULL);
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
791
segreg = bhyve_seg2reg(seg);
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
815
char *seg = "";
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
822
i = mdb_getopts(argc, argv, 's', MDB_OPT_STR, &seg, NULL);
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
828
segreg = bhyve_seg2reg(seg);
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
850
char *seg = "";
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
856
i = mdb_getopts(argc, argv, 's', MDB_OPT_STR, &seg, NULL);
usr/src/cmd/mdb/intel/mdb/mdb_bhyve.c
865
segreg = bhyve_seg2reg(seg);
usr/src/cmd/sgs/elfedit/common/_elfedit.h
166
const char **seg; /* path segments */
usr/src/cmd/sgs/elfedit/common/elfedit.c
1788
MSG_ORIG(MSG_FMT_BLDSOPATH), state.modpath.seg[i],
usr/src/cmd/sgs/elfedit/common/elfedit.c
1792
state.modpath.seg[i], name, NULL, NULL);
usr/src/cmd/sgs/elfedit/common/elfedit.c
2020
elfedit_load_moddir(state.modpath.seg[i], 0, 0);
usr/src/cmd/sgs/elfedit/common/elfedit.c
2844
state.modpath.seg = elfedit_malloc(MSG_INTL(MSG_ALLOC_PATHARR),
usr/src/cmd/sgs/elfedit/common/elfedit.c
2845
sizeof (state.modpath.seg[0]) * state.modpath.n);
usr/src/cmd/sgs/elfedit/common/elfedit.c
2850
state.modpath.seg[len] = MSG_ORIG(MSG_STR_DOT);
usr/src/cmd/sgs/elfedit/common/elfedit.c
2853
state.modpath.seg[len] = src;
usr/src/cmd/sgs/elfedit/common/sys.c
645
state.modpath.seg[i]);
usr/src/grub/grub-0.97/stage2/builtins.c
5439
unsigned short seg = (ptr >> 16);
usr/src/grub/grub-0.97/stage2/builtins.c
5442
return (seg << 4) + off;
usr/src/lib/libdevinfo/devinfo_devlink.c
2883
db_seg_t seg)
usr/src/lib/libdevinfo/devinfo_devlink.c
2894
if (!VALID_INDEX(hdp, seg, idx)) {
usr/src/lib/libdevinfo/devinfo_devlink.c
2896
"map_seg: seg(%d): invalid idx(%u)\n", seg, idx);
usr/src/lib/libdevinfo/devinfo_devlink.c
2904
if (DB_SEG(hdp, seg) != NULL) {
usr/src/lib/libdevinfo/devinfo_devlink.c
2905
if (DB_SEG_PROT(hdp, seg) != prot) {
usr/src/lib/libdevinfo/devinfo_devlink.c
2909
seg, idx, DB_SEG_PROT(hdp, seg), prot);
usr/src/lib/libdevinfo/devinfo_devlink.c
2912
return (DB_SEG(hdp, seg) + idx * elem_sizes[seg]);
usr/src/lib/libdevinfo/devinfo_devlink.c
2919
for (s = 0; s < seg; s++) {
usr/src/lib/libdevinfo/devinfo_devlink.c
2922
slen = seg_size(hdp, seg);
usr/src/lib/libdevinfo/devinfo_devlink.c
2927
"map_seg: seg[%d]: mmap failed: %s\n", seg,
usr/src/lib/libdevinfo/devinfo_devlink.c
2935
DB_SEG(hdp, seg) = addr;
usr/src/lib/libdevinfo/devinfo_devlink.c
2936
DB_SEG_PROT(hdp, seg) = prot;
usr/src/lib/libdevinfo/devinfo_devlink.c
2939
"fd=%d, off=%ld, seg_base=%p\n", seg, (ulong_t)slen, prot,
usr/src/lib/libdevinfo/devinfo_devlink.c
2942
return (DB_SEG(hdp, seg) + idx * elem_sizes[seg]);
usr/src/lib/libdevinfo/devinfo_devlink.c
2949
seg_size(struct di_devlink_handle *hdp, int seg)
usr/src/lib/libdevinfo/devinfo_devlink.c
2955
if (seg == DB_HEADER) {
usr/src/lib/libdevinfo/devinfo_devlink.c
2958
assert(DB_NUM(hdp, seg) >= 1);
usr/src/lib/libdevinfo/devinfo_devlink.c
2959
sz = DB_NUM(hdp, seg) * elem_sizes[seg];
usr/src/lib/libdevinfo/devinfo_devlink.h
301
static size_t seg_size(struct di_devlink_handle *hdp, int seg);
usr/src/lib/libdevinfo/devinfo_devlink.h
366
db_seg_t seg);
usr/src/lib/libfru/libfrupicl/frupicl.c
858
picl_nodehdl_t seg;
usr/src/lib/libfru/libfrupicl/frupicl.c
862
tag, instance, &seg, &tagHdl)) != FRU_SUCCESS) {
usr/src/lib/libfru/libfrupicl/frupicl.c
897
picl_nodehdl_t seg;
usr/src/lib/libfru/libfrupicl/frupicl.c
901
tag, instance, &seg, &tagHdl)) != FRU_SUCCESS) {
usr/src/lib/libfru/libfrupicltree/frupicltree.c
870
picl_nodehdl_t seg;
usr/src/lib/libfru/libfrupicltree/frupicltree.c
874
tag, instance, &seg, &tagHdl)) != FRU_SUCCESS) {
usr/src/lib/libfru/libfrupicltree/frupicltree.c
909
picl_nodehdl_t seg;
usr/src/lib/libfru/libfrupicltree/frupicltree.c
913
tag, instance, &seg, &tagHdl)) != FRU_SUCCESS) {
usr/src/lib/libprtdiag/common/memory.c
270
memory_seg_t *seg;
usr/src/lib/libprtdiag/common/memory.c
313
seg = match_seg(base);
usr/src/lib/libprtdiag/common/memory.c
403
bank->bank_status, dimm_size, intlv, seg->id);
usr/src/lib/librsm/common/rsmgen.c
107
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmgen.c
109
(uint8_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmgen.c
118
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
119
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmgen.c
120
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
130
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
131
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmgen.c
132
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
150
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmgen.c
153
(uint16_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmgen.c
162
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
163
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmgen.c
164
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
174
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
175
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmgen.c
176
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
194
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmgen.c
197
(uint32_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmgen.c
206
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
207
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmgen.c
208
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
218
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
219
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmgen.c
220
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
238
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmgen.c
241
(uint64_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmgen.c
250
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
251
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmgen.c
252
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
262
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
263
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmgen.c
264
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
297
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmgen.c
299
(uint8_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmgen.c
308
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
309
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmgen.c
310
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
320
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
321
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmgen.c
322
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
340
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmgen.c
343
(uint16_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmgen.c
352
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
353
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmgen.c
354
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
364
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
365
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmgen.c
366
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
384
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmgen.c
387
(uint32_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmgen.c
396
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
397
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmgen.c
398
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
408
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
409
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmgen.c
410
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
428
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmgen.c
431
(uint64_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmgen.c
440
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
441
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmgen.c
442
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
452
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
453
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmgen.c
454
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
470
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmgen.c
476
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
477
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmgen.c
478
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
484
(void) bcopy(seg->rsmseg_vaddr + offset - seg->rsmseg_mapoffset,
usr/src/lib/librsm/common/rsmgen.c
487
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
488
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmgen.c
489
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
620
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmgen.c
626
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
627
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmgen.c
628
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
634
bcopy(src_addr, seg->rsmseg_vaddr + offset - seg->rsmseg_mapoffset,
usr/src/lib/librsm/common/rsmgen.c
637
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmgen.c
638
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmgen.c
639
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmgen.c
777
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmgen.c
786
if (!seg) {
usr/src/lib/librsm/common/rsmgen.c
805
bar->rsmgenbar_seg = seg;
usr/src/lib/librsm/common/rsmgen.c
817
rsmseg_handle_t *seg;
usr/src/lib/librsm/common/rsmgen.c
829
if ((seg = bar->rsmgenbar_seg) == 0) {
usr/src/lib/librsm/common/rsmgen.c
837
if (ioctl(seg->rsmseg_fd,
usr/src/lib/librsm/common/rsmgen.c
855
rsmseg_handle_t *seg;
usr/src/lib/librsm/common/rsmgen.c
866
if ((seg = bar->rsmgenbar_seg) == 0) {
usr/src/lib/librsm/common/rsmgen.c
873
if (ioctl(seg->rsmseg_fd, RSM_IOCTL_BAR_ORDER, &msg) < 0) {
usr/src/lib/librsm/common/rsmgen.c
889
rsmseg_handle_t *seg;
usr/src/lib/librsm/common/rsmgen.c
900
if ((seg = bar->rsmgenbar_seg) == 0) {
usr/src/lib/librsm/common/rsmgen.c
907
if (ioctl(seg->rsmseg_fd, RSM_IOCTL_BAR_CLOSE, &msg) < 0) {
usr/src/lib/librsm/common/rsmlib.c
1004
if (!seg) {
usr/src/lib/librsm/common/rsmlib.c
1016
mutex_lock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1017
if (seg->rsmseg_state != EXPORT_BIND) {
usr/src/lib/librsm/common/rsmlib.c
1018
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1031
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1041
if (ioctl(seg->rsmseg_fd, RSM_IOCTL_PUBLISH, &msg) < 0) {
usr/src/lib/librsm/common/rsmlib.c
1042
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1048
seg->rsmseg_keyid = msg.key;
usr/src/lib/librsm/common/rsmlib.c
1049
seg->rsmseg_state = EXPORT_PUBLISH;
usr/src/lib/librsm/common/rsmlib.c
1050
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1066
rsmseg_handle_t *seg = (rsmseg_handle_t *)memseg;
usr/src/lib/librsm/common/rsmlib.c
1071
if (!seg) {
usr/src/lib/librsm/common/rsmlib.c
1077
mutex_lock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1078
if (seg->rsmseg_state != EXPORT_PUBLISH) {
usr/src/lib/librsm/common/rsmlib.c
1079
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1082
seg->rsmseg_keyid));
usr/src/lib/librsm/common/rsmlib.c
1086
msg.key = seg->rsmseg_keyid;
usr/src/lib/librsm/common/rsmlib.c
1087
if (ioctl(seg->rsmseg_fd, RSM_IOCTL_UNPUBLISH, &msg) < 0) {
usr/src/lib/librsm/common/rsmlib.c
1088
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1094
seg->rsmseg_state = EXPORT_BIND;
usr/src/lib/librsm/common/rsmlib.c
1095
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1110
rsmseg_handle_t *seg = (rsmseg_handle_t *)memseg;
usr/src/lib/librsm/common/rsmlib.c
1115
if (!seg) {
usr/src/lib/librsm/common/rsmlib.c
1121
mutex_lock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1122
if (seg->rsmseg_state != EXPORT_PUBLISH) {
usr/src/lib/librsm/common/rsmlib.c
1123
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1130
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1136
msg.key = seg->rsmseg_keyid;
usr/src/lib/librsm/common/rsmlib.c
1140
if (ioctl(seg->rsmseg_fd, RSM_IOCTL_REPUBLISH, &msg) < 0) {
usr/src/lib/librsm/common/rsmlib.c
1141
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1146
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1299
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
1305
if (!seg) {
usr/src/lib/librsm/common/rsmlib.c
1311
if (seg->rsmseg_state != IMPORT_CONNECT) {
usr/src/lib/librsm/common/rsmlib.c
1312
if (seg->rsmseg_flags & RSM_IMPLICIT_MAP) {
usr/src/lib/librsm/common/rsmlib.c
1326
mutex_lock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1327
if (seg->rsmseg_pollfd_refcnt) {
usr/src/lib/librsm/common/rsmlib.c
1328
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1333
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1335
e = seg->rsmseg_ops->rsm_memseg_import_disconnect(im_memseg);
usr/src/lib/librsm/common/rsmlib.c
1338
(void) close(seg->rsmseg_fd);
usr/src/lib/librsm/common/rsmlib.c
1339
mutex_destroy(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
1340
free((void *)seg);
usr/src/lib/librsm/common/rsmlib.c
1354
__rsm_import_verify_access(rsmseg_handle_t *seg,
usr/src/lib/librsm/common/rsmlib.c
1366
if (!seg) {
usr/src/lib/librsm/common/rsmlib.c
1393
if (seg->rsmseg_state != IMPORT_CONNECT &&
usr/src/lib/librsm/common/rsmlib.c
1394
seg->rsmseg_state != IMPORT_MAP) {
usr/src/lib/librsm/common/rsmlib.c
1401
if (seg->rsmseg_state == IMPORT_CONNECT) {
usr/src/lib/librsm/common/rsmlib.c
1402
error = __rsm_import_implicit_map(seg, RSM_IOTYPE_PUTGET);
usr/src/lib/librsm/common/rsmlib.c
1410
if ((seg->rsmseg_perm & perm) != perm) {
usr/src/lib/librsm/common/rsmlib.c
1416
if (seg->rsmseg_state == IMPORT_MAP) {
usr/src/lib/librsm/common/rsmlib.c
1417
if ((offset < seg->rsmseg_mapoffset) ||
usr/src/lib/librsm/common/rsmlib.c
1418
(offset + len > seg->rsmseg_mapoffset +
usr/src/lib/librsm/common/rsmlib.c
1419
seg->rsmseg_maplen)) {
usr/src/lib/librsm/common/rsmlib.c
1425
if ((len + offset) > seg->rsmseg_size) {
usr/src/lib/librsm/common/rsmlib.c
1432
if ((seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) &&
usr/src/lib/librsm/common/rsmlib.c
1433
(seg->rsmseg_barrier == NULL)) {
usr/src/lib/librsm/common/rsmlib.c
1446
__rsm_import_implicit_map(rsmseg_handle_t *seg, int iotype)
usr/src/lib/librsm/common/rsmlib.c
1457
mapping_reqd = seg->rsmseg_controller->cntr_lib_attr->
usr/src/lib/librsm/common/rsmlib.c
1460
mapping_reqd = seg->rsmseg_controller->cntr_lib_attr->
usr/src/lib/librsm/common/rsmlib.c
1465
va = mmap(NULL, seg->rsmseg_size, prot,
usr/src/lib/librsm/common/rsmlib.c
1466
flag, seg->rsmseg_fd, 0);
usr/src/lib/librsm/common/rsmlib.c
1485
seg->rsmseg_vaddr = va;
usr/src/lib/librsm/common/rsmlib.c
1486
seg->rsmseg_maplen = seg->rsmseg_size;
usr/src/lib/librsm/common/rsmlib.c
1487
seg->rsmseg_mapoffset = 0;
usr/src/lib/librsm/common/rsmlib.c
1488
seg->rsmseg_state = IMPORT_MAP;
usr/src/lib/librsm/common/rsmlib.c
1489
seg->rsmseg_flags |= RSM_IMPLICIT_MAP;
usr/src/lib/librsm/common/rsmlib.c
1504
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
1510
e = __rsm_import_verify_access(seg, offset, (caddr_t)datap, rep_cnt,
usr/src/lib/librsm/common/rsmlib.c
1514
rsm_segops_t *ops = seg->rsmseg_ops;
usr/src/lib/librsm/common/rsmlib.c
1515
rsmbar_handle_t *bar = (rsmbar_handle_t *)seg->rsmseg_barrier;
usr/src/lib/librsm/common/rsmlib.c
1517
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1525
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1545
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
1551
e = __rsm_import_verify_access(seg, offset, (caddr_t)datap, rep_cnt*2,
usr/src/lib/librsm/common/rsmlib.c
1555
rsm_segops_t *ops = seg->rsmseg_ops;
usr/src/lib/librsm/common/rsmlib.c
1556
rsmbar_handle_t *bar = (rsmbar_handle_t *)seg->rsmseg_barrier;
usr/src/lib/librsm/common/rsmlib.c
1558
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1566
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1587
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
1593
e = __rsm_import_verify_access(seg, offset, (caddr_t)datap, rep_cnt*4,
usr/src/lib/librsm/common/rsmlib.c
1597
rsm_segops_t *ops = seg->rsmseg_ops;
usr/src/lib/librsm/common/rsmlib.c
1598
rsmbar_handle_t *bar = (rsmbar_handle_t *)seg->rsmseg_barrier;
usr/src/lib/librsm/common/rsmlib.c
1600
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1608
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1628
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
1634
e = __rsm_import_verify_access(seg, offset, (caddr_t)datap, rep_cnt*8,
usr/src/lib/librsm/common/rsmlib.c
1638
rsm_segops_t *ops = seg->rsmseg_ops;
usr/src/lib/librsm/common/rsmlib.c
1639
rsmbar_handle_t *bar = (rsmbar_handle_t *)seg->rsmseg_barrier;
usr/src/lib/librsm/common/rsmlib.c
1641
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1649
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1669
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
1675
e = __rsm_import_verify_access(seg, offset, (caddr_t)dst_addr, length,
usr/src/lib/librsm/common/rsmlib.c
1679
rsm_segops_t *ops = seg->rsmseg_ops;
usr/src/lib/librsm/common/rsmlib.c
1680
rsmbar_handle_t *bar = (rsmbar_handle_t *)seg->rsmseg_barrier;
usr/src/lib/librsm/common/rsmlib.c
1682
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1690
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1709
rsmseg_handle_t *seg;
usr/src/lib/librsm/common/rsmlib.c
1723
seg = (rsmseg_handle_t *)sg_io->remote_handle;
usr/src/lib/librsm/common/rsmlib.c
1724
if (seg == NULL) {
usr/src/lib/librsm/common/rsmlib.c
1730
cntrl = (rsm_controller_t *)seg->rsmseg_controller;
usr/src/lib/librsm/common/rsmlib.c
1744
if (seg->rsmseg_state == IMPORT_CONNECT) {
usr/src/lib/librsm/common/rsmlib.c
1745
e = __rsm_import_implicit_map(seg, RSM_IOTYPE_SCATGATH);
usr/src/lib/librsm/common/rsmlib.c
1803
e = rsm_intr_signal_post(seg, sigpost_flags);
usr/src/lib/librsm/common/rsmlib.c
1826
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
1834
e = __rsm_import_verify_access(seg, offset, (caddr_t)datap, rep_cnt,
usr/src/lib/librsm/common/rsmlib.c
1838
rsm_segops_t *ops = seg->rsmseg_ops;
usr/src/lib/librsm/common/rsmlib.c
1839
rsmbar_handle_t *bar = (rsmbar_handle_t *)seg->rsmseg_barrier;
usr/src/lib/librsm/common/rsmlib.c
1841
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1849
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1869
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
1877
e = __rsm_import_verify_access(seg, offset, (caddr_t)datap, rep_cnt*2,
usr/src/lib/librsm/common/rsmlib.c
1881
rsm_segops_t *ops = seg->rsmseg_ops;
usr/src/lib/librsm/common/rsmlib.c
1882
rsmbar_handle_t *bar = (rsmbar_handle_t *)seg->rsmseg_barrier;
usr/src/lib/librsm/common/rsmlib.c
1884
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1892
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1913
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
1921
e = __rsm_import_verify_access(seg, offset, (caddr_t)datap, rep_cnt*4,
usr/src/lib/librsm/common/rsmlib.c
1925
rsm_segops_t *ops = seg->rsmseg_ops;
usr/src/lib/librsm/common/rsmlib.c
1926
rsmbar_handle_t *bar = (rsmbar_handle_t *)seg->rsmseg_barrier;
usr/src/lib/librsm/common/rsmlib.c
1928
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1936
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1956
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
1964
e = __rsm_import_verify_access(seg, offset, (caddr_t)datap, rep_cnt*8,
usr/src/lib/librsm/common/rsmlib.c
1968
rsm_segops_t *ops = seg->rsmseg_ops;
usr/src/lib/librsm/common/rsmlib.c
1969
rsmbar_handle_t *bar = (rsmbar_handle_t *)seg->rsmseg_barrier;
usr/src/lib/librsm/common/rsmlib.c
1971
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1979
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
1999
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
2005
e = __rsm_import_verify_access(seg, offset, (caddr_t)src_addr, length,
usr/src/lib/librsm/common/rsmlib.c
2009
rsm_segops_t *ops = seg->rsmseg_ops;
usr/src/lib/librsm/common/rsmlib.c
2010
rsmbar_handle_t *bar = (rsmbar_handle_t *)seg->rsmseg_barrier;
usr/src/lib/librsm/common/rsmlib.c
2012
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
2020
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmlib.c
2039
rsmseg_handle_t *seg;
usr/src/lib/librsm/common/rsmlib.c
2054
seg = (rsmseg_handle_t *)sg_io->remote_handle;
usr/src/lib/librsm/common/rsmlib.c
2055
if (seg == NULL) {
usr/src/lib/librsm/common/rsmlib.c
2061
cntrl = (rsm_controller_t *)seg->rsmseg_controller;
usr/src/lib/librsm/common/rsmlib.c
2076
if (seg->rsmseg_state == IMPORT_CONNECT) {
usr/src/lib/librsm/common/rsmlib.c
2077
e = __rsm_import_implicit_map(seg, RSM_IOTYPE_SCATGATH);
usr/src/lib/librsm/common/rsmlib.c
2135
e = rsm_intr_signal_post(seg, sigpost_flags);
usr/src/lib/librsm/common/rsmlib.c
2160
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
2168
if (!seg) {
usr/src/lib/librsm/common/rsmlib.c
2183
mutex_lock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2185
if (seg->rsmseg_state == IMPORT_MAP) {
usr/src/lib/librsm/common/rsmlib.c
2186
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2193
if (seg->rsmseg_state != IMPORT_CONNECT) {
usr/src/lib/librsm/common/rsmlib.c
2194
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2202
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2209
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2213
if (offset + length > seg->rsmseg_size) {
usr/src/lib/librsm/common/rsmlib.c
2216
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2241
va = mmap(*address, length, prot, flag, seg->rsmseg_fd, offset);
usr/src/lib/librsm/common/rsmlib.c
2247
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2271
seg->rsmseg_vaddr = va;
usr/src/lib/librsm/common/rsmlib.c
2272
seg->rsmseg_maplen = length;
usr/src/lib/librsm/common/rsmlib.c
2273
seg->rsmseg_mapoffset = offset;
usr/src/lib/librsm/common/rsmlib.c
2274
seg->rsmseg_state = IMPORT_MAP;
usr/src/lib/librsm/common/rsmlib.c
2276
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2292
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
2297
if (!seg) {
usr/src/lib/librsm/common/rsmlib.c
2303
mutex_lock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2304
if (seg->rsmseg_state != IMPORT_MAP) {
usr/src/lib/librsm/common/rsmlib.c
2305
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2309
seg->rsmseg_mapoffset = 0; /* reset the offset */
usr/src/lib/librsm/common/rsmlib.c
2310
seg->rsmseg_state = IMPORT_CONNECT;
usr/src/lib/librsm/common/rsmlib.c
2311
seg->rsmseg_flags &= ~RSM_IMPLICIT_MAP;
usr/src/lib/librsm/common/rsmlib.c
2312
(void) munmap(seg->rsmseg_vaddr, seg->rsmseg_maplen);
usr/src/lib/librsm/common/rsmlib.c
2314
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2331
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
2337
if (!seg) {
usr/src/lib/librsm/common/rsmlib.c
2349
bar->rsmbar_seg = seg;
usr/src/lib/librsm/common/rsmlib.c
2351
seg->rsmseg_barrier = barrier; /* used in put/get fns */
usr/src/lib/librsm/common/rsmlib.c
2356
return (seg->rsmseg_ops->rsm_memseg_import_init_barrier(im_memseg,
usr/src/lib/librsm/common/rsmlib.c
2490
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
2495
if (seg) {
usr/src/lib/librsm/common/rsmlib.c
2496
*mode = seg->rsmseg_barmode;
usr/src/lib/librsm/common/rsmlib.c
2500
return (seg->rsmseg_ops->rsm_memseg_import_get_mode(im_memseg,
usr/src/lib/librsm/common/rsmlib.c
2515
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmlib.c
2519
if (seg) {
usr/src/lib/librsm/common/rsmlib.c
2522
seg->rsmseg_barmode = mode;
usr/src/lib/librsm/common/rsmlib.c
2526
return (seg->rsmseg_ops->rsm_memseg_import_set_mode(
usr/src/lib/librsm/common/rsmlib.c
2546
rsmseg_handle_t *seg = (rsmseg_handle_t *)memseg;
usr/src/lib/librsm/common/rsmlib.c
2553
if (!seg) {
usr/src/lib/librsm/common/rsmlib.c
2559
if (ioctl(seg->rsmseg_fd, RSM_IOCTL_RING_BELL, &msg) < 0) {
usr/src/lib/librsm/common/rsmlib.c
2574
rsmseg_handle_t *seg = (rsmseg_handle_t *)memseg;
usr/src/lib/librsm/common/rsmlib.c
2581
if (!seg) {
usr/src/lib/librsm/common/rsmlib.c
2587
fds.fd = seg->rsmseg_fd;
usr/src/lib/librsm/common/rsmlib.c
2590
rnum = seg->rsmseg_rnum;
usr/src/lib/librsm/common/rsmlib.c
2780
rsmseg_handle_t *seg = (rsmseg_handle_t *)memseg;
usr/src/lib/librsm/common/rsmlib.c
2785
if (!seg) {
usr/src/lib/librsm/common/rsmlib.c
2791
mutex_lock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2793
poll_fd->fd = seg->rsmseg_fd;
usr/src/lib/librsm/common/rsmlib.c
2795
seg->rsmseg_pollfd_refcnt++;
usr/src/lib/librsm/common/rsmlib.c
2796
if (seg->rsmseg_pollfd_refcnt == 1) {
usr/src/lib/librsm/common/rsmlib.c
2798
err = _rsm_insert_pollfd_table(seg->rsmseg_fd,
usr/src/lib/librsm/common/rsmlib.c
2799
seg->rsmseg_rnum);
usr/src/lib/librsm/common/rsmlib.c
2802
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2819
rsmseg_handle_t *seg = (rsmseg_handle_t *)memseg;
usr/src/lib/librsm/common/rsmlib.c
2824
if (!seg) {
usr/src/lib/librsm/common/rsmlib.c
2830
mutex_lock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
2832
if (seg->rsmseg_pollfd_refcnt) {
usr/src/lib/librsm/common/rsmlib.c
2833
seg->rsmseg_pollfd_refcnt--;
usr/src/lib/librsm/common/rsmlib.c
2834
if (seg->rsmseg_pollfd_refcnt == 0) {
usr/src/lib/librsm/common/rsmlib.c
2836
_rsm_remove_pollfd_table(seg->rsmseg_fd);
usr/src/lib/librsm/common/rsmlib.c
2840
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
903
rsmseg_handle_t *seg;
usr/src/lib/librsm/common/rsmlib.c
914
seg = (rsmseg_handle_t *)memseg;
usr/src/lib/librsm/common/rsmlib.c
916
mutex_lock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
917
if (seg->rsmseg_pollfd_refcnt) {
usr/src/lib/librsm/common/rsmlib.c
918
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
924
seg->rsmseg_state = EXPORT_BIND;
usr/src/lib/librsm/common/rsmlib.c
926
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
928
(void) close(seg->rsmseg_fd);
usr/src/lib/librsm/common/rsmlib.c
929
mutex_destroy(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
930
free((void *)seg);
usr/src/lib/librsm/common/rsmlib.c
943
rsmseg_handle_t *seg = (rsmseg_handle_t *)memseg;
usr/src/lib/librsm/common/rsmlib.c
950
if (!seg) {
usr/src/lib/librsm/common/rsmlib.c
969
mutex_lock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
970
if (ioctl(seg->rsmseg_fd, RSM_IOCTL_REBIND, &msg) < 0) {
usr/src/lib/librsm/common/rsmlib.c
971
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
977
mutex_unlock(&seg->rsmseg_lock);
usr/src/lib/librsm/common/rsmlib.c
993
rsmseg_handle_t *seg = (rsmseg_handle_t *)memseg;
usr/src/lib/librsm/common/rsmloopback.c
107
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmloopback.c
110
(uint16_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmloopback.c
119
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
120
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmloopback.c
121
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
131
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
132
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmloopback.c
133
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
151
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmloopback.c
154
(uint32_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmloopback.c
163
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
164
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmloopback.c
165
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
175
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
176
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmloopback.c
177
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
195
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmloopback.c
198
(uint64_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmloopback.c
207
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
208
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmloopback.c
209
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
219
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
220
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmloopback.c
221
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
239
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmloopback.c
241
(uint8_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmloopback.c
250
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
251
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmloopback.c
252
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
262
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
263
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmloopback.c
264
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
282
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmloopback.c
285
(uint16_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmloopback.c
294
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
295
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmloopback.c
296
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
306
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
307
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmloopback.c
308
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
326
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmloopback.c
329
(uint32_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmloopback.c
338
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
339
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmloopback.c
340
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
350
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
351
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmloopback.c
352
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
370
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmloopback.c
373
(uint64_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmloopback.c
382
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
383
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmloopback.c
384
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
394
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
395
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmloopback.c
396
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
412
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmloopback.c
418
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
419
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmloopback.c
420
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
426
bcopy(seg->rsmseg_vaddr + offset - seg->rsmseg_mapoffset, dst_addr,
usr/src/lib/librsm/common/rsmloopback.c
429
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
430
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmloopback.c
431
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
477
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmloopback.c
483
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
484
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmloopback.c
485
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
491
bcopy(src_addr, seg->rsmseg_vaddr + offset - seg->rsmseg_mapoffset,
usr/src/lib/librsm/common/rsmloopback.c
494
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
495
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmloopback.c
496
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
64
rsmseg_handle_t *seg = (rsmseg_handle_t *)im_memseg;
usr/src/lib/librsm/common/rsmloopback.c
66
(uint8_t *)&seg->rsmseg_vaddr[off - seg->rsmseg_mapoffset];
usr/src/lib/librsm/common/rsmloopback.c
75
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
76
e = seg->rsmseg_ops->rsm_memseg_import_open_barrier(
usr/src/lib/librsm/common/rsmloopback.c
77
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/librsm/common/rsmloopback.c
87
if (seg->rsmseg_barmode == RSM_BARRIER_MODE_IMPLICIT) {
usr/src/lib/librsm/common/rsmloopback.c
88
e = seg->rsmseg_ops->rsm_memseg_import_close_barrier(
usr/src/lib/librsm/common/rsmloopback.c
89
(rsm_barrier_handle_t)seg->rsmseg_barrier);
usr/src/lib/libsldap/common/ns_common.c
1718
int i, seg, digit, port;
usr/src/lib/libsldap/common/ns_common.c
1723
digit = seg = port = 0;
usr/src/lib/libsldap/common/ns_common.c
1734
seg++;
usr/src/lib/libsldap/common/ns_common.c
1742
seg++;
usr/src/lib/libsldap/common/ns_common.c
1748
if ((seg == 3 && port == 0 && digit > 0 && digit < 4) ||
usr/src/lib/libsldap/common/ns_common.c
1749
(seg == 4 && port == 1 && digit > 0))
usr/src/lib/libsldap/common/ns_common.c
1843
int i, seg, alpha, digit, port;
usr/src/lib/libsldap/common/ns_common.c
1848
alpha = digit = seg = port = 0;
usr/src/lib/libsldap/common/ns_common.c
1867
seg++;
usr/src/lib/libsldap/common/ns_common.c
1875
seg++;
usr/src/lib/libsldap/common/ns_common.c
1881
if ((port == 0 && (seg || alpha || digit)) ||
usr/src/lib/libtecla/common/history.c
1019
GlhLineSeg *seg; /* One segment of a line being saved */
usr/src/lib/libtecla/common/history.c
1063
for(seg=node->line->head; seg; seg=seg->next) {
usr/src/lib/libtecla/common/history.c
1064
size_t slen = seg->next ? GLH_SEG_SIZE : strlen(seg->s);
usr/src/lib/libtecla/common/history.c
1065
if(fwrite(seg->s, sizeof(char), slen, fp) != slen)
usr/src/lib/libtecla/common/history.c
1461
GlhLineSeg *seg; /* One segment of a line being displayed */
usr/src/lib/libtecla/common/history.c
1591
for(seg=node->line->head; seg; seg=seg->next) {
usr/src/lib/libtecla/common/history.c
1592
len = seg->next ? GLH_SEG_SIZE : strlen(seg->s);
usr/src/lib/libtecla/common/history.c
1593
if(write_fn(data, seg->s, len) != len)
usr/src/lib/libtecla/common/history.c
1667
GlhLineSeg *seg = glh->unused + i;
usr/src/lib/libtecla/common/history.c
1668
seg->next = seg + 1;
usr/src/lib/libtecla/common/history.c
1711
GlhLineSeg *seg = hnode->head;
usr/src/lib/libtecla/common/history.c
1713
for( ; seg; seg=seg->next) {
usr/src/lib/libtecla/common/history.c
1714
buffer[nbusy] = *seg;
usr/src/lib/libtecla/common/history.c
1715
buffer[nbusy].next = seg->next ? &buffer[nbusy+1] : NULL;
usr/src/lib/libtecla/common/history.c
1836
GlhLineSeg *seg = glh->unused + i;
usr/src/lib/libtecla/common/history.c
1837
seg->next = seg + 1;
usr/src/lib/libtecla/common/history.c
218
GlhLineSeg *seg; /* The line segment that the next character will */
usr/src/lib/libtecla/common/history.c
2185
GlhLineSeg *seg; /* A line segment */
usr/src/lib/libtecla/common/history.c
2209
for(i=0,seg=glh->unused; i<nseg-1; i++,seg=seg->next, offset+=GLH_SEG_SIZE)
usr/src/lib/libtecla/common/history.c
2210
memcpy(seg->s, line + offset, GLH_SEG_SIZE);
usr/src/lib/libtecla/common/history.c
2211
memcpy(seg->s, line + offset, n-offset);
usr/src/lib/libtecla/common/history.c
2212
seg->s[n-offset] = '\0';
usr/src/lib/libtecla/common/history.c
2224
glh->unused = seg->next;
usr/src/lib/libtecla/common/history.c
2225
seg->next = NULL;
usr/src/lib/libtecla/common/history.c
2383
GlhLineSeg *seg; /* A node in the list of line segments */
usr/src/lib/libtecla/common/history.c
2394
for(seg=hash->head; n>0 && seg; seg=seg->next) {
usr/src/lib/libtecla/common/history.c
2395
const char *s = seg->s;
usr/src/lib/libtecla/common/history.c
2467
GlhLineSeg *seg; /* A node in the list of line segments */
usr/src/lib/libtecla/common/history.c
2469
for(seg=hash->head; dim>0 && seg; seg=seg->next) {
usr/src/lib/libtecla/common/history.c
2470
const char *s = seg->s;
usr/src/lib/libtecla/common/history.c
2555
str->seg = line ? line->head : NULL;
usr/src/lib/libtecla/common/history.c
2557
str->c = str->seg ? str->seg->s[0] : '\0';
usr/src/lib/libtecla/common/history.c
2573
str->c = str->seg ? str->seg->s[str->posn] : '\0';
usr/src/lib/libtecla/common/history.c
2580
str->seg = str->seg->next;
usr/src/lib/libtecla/common/history.c
308
GlhLineSeg *seg = glh->unused + i;
usr/src/lib/libtecla/common/history.c
309
seg->next = seg + 1;
usr/src/lib/libvmm/libvmm.c
770
vmm_vtol(vmm_t *vmm, int vcpuid, int seg, uint64_t vaddr, uint64_t *laddr)
usr/src/lib/libvmm/libvmm.c
775
if (vmm_get_desc(vmm, vcpuid, seg, &desc) != 0)
usr/src/lib/libvmm/libvmm.c
780
if (seg == VMM_DESC_FS || seg == VMM_DESC_GS)
usr/src/lib/libvmm/libvmm.c
815
vmm_vtop(vmm_t *vmm, int vcpuid, int seg, uint64_t vaddr, uint64_t *paddr)
usr/src/lib/libvmm/libvmm.c
820
if (vmm_vtol(vmm, vcpuid, seg, vaddr, &vaddr) != 0)
usr/src/lib/libvmm/libvmm.c
854
vmm_vread(vmm_t *vmm, int vcpuid, int seg, void *buf, size_t len, uintptr_t
usr/src/lib/libvmm/libvmm.c
863
if (vmm_vtop(vmm, vcpuid, seg, addr, &paddr) != 0) {
usr/src/lib/libvmm/libvmm.c
886
vmm_vwrite(vmm_t *vmm, int vcpuid, int seg, const void *buf, size_t len,
usr/src/lib/libvmm/libvmm.c
895
if (vmm_vtop(vmm, vcpuid, seg, addr, &paddr) != 0) {
usr/src/lib/libzpool/common/sys/zfs_context.h
270
#define vn_rename(from, to, seg) rename((from), (to))
usr/src/lib/smbclnt/libfksmbfs/common/fake_open.c
102
enum uio_seg seg,
usr/src/lib/smbclnt/libfksmbfs/common/fake_open.c
149
vn_create(pnamep, seg, &vattr, excl, mode, &vp, crwhy,
usr/src/lib/smbclnt/libfksmbfs/common/fake_open.c
273
enum uio_seg seg,
usr/src/lib/smbclnt/libfksmbfs/common/fake_vnode.c
1727
struct seg *seg,
usr/src/lib/smbclnt/libfksmbfs/common/fake_vnode.c
1738
(vp, off, len, protp, plarr, plsz, seg, addr, rw, cr, ct);
usr/src/lib/smbclnt/libfksmbfs/common/fake_vnode.c
321
enum uio_seg seg,
usr/src/lib/smbclnt/libfksmbfs/common/fake_vnode.c
345
uio.uio_segflg = (short)seg;
usr/src/lib/smbclnt/libfksmbfs/common/libfksmbfs.h
57
int vn_open(char *pnamep, enum uio_seg seg, int filemode, int createmode,
usr/src/lib/smbclnt/libfksmbfs/common/libfksmbfs.h
59
int vn_create(char *pnamep, enum uio_seg seg, struct vattr *vap,
usr/src/lib/smbsrv/libfksmbsrv/common/fake_lookup.c
100
if ((error = pn_get(fnamep, seg, &lookpn)) != 0)
usr/src/lib/smbsrv/libfksmbsrv/common/fake_lookup.c
64
enum uio_seg seg,
usr/src/lib/smbsrv/libfksmbsrv/common/fake_lookup.c
69
return (lookupnameatcred(fnamep, seg, followlink, dirvpp, compvpp, NULL,
usr/src/lib/smbsrv/libfksmbsrv/common/fake_lookup.c
80
enum uio_seg seg, /* addr space that name is in */
usr/src/lib/smbsrv/libfksmbsrv/common/fake_lookup.c
91
error = pn_get_buf(fnamep, seg, &lookpn, namebuf, sizeof (namebuf));
usr/src/lib/smbsrv/libfksmbsrv/common/fake_vop.c
1069
struct seg *seg,
usr/src/test/os-tests/tests/i386/badseg_exec.c
59
resetseg(uint_t seg)
usr/src/test/os-tests/tests/i386/badseg_exec.c
72
ucp.uc_mcontext.gregs[seg] = selector;
usr/src/test/zfs-tests/cmd/getholes/getholes.c
123
seg_t *seg = NULL;
usr/src/test/zfs-tests/cmd/getholes/getholes.c
164
seg = umem_alloc(sizeof (seg_t), UMEM_DEFAULT);
usr/src/test/zfs-tests/cmd/getholes/getholes.c
165
seg->seg_type = whence;
usr/src/test/zfs-tests/cmd/getholes/getholes.c
166
seg->seg_offset = off;
usr/src/test/zfs-tests/cmd/getholes/getholes.c
168
list_insert_tail(&seg_list, seg);
usr/src/test/zfs-tests/cmd/getholes/getholes.c
169
if ((s = list_prev(&seg_list, seg)) != NULL)
usr/src/test/zfs-tests/cmd/getholes/getholes.c
170
s->seg_len = seg->seg_offset - s->seg_offset;
usr/src/test/zfs-tests/cmd/getholes/getholes.c
185
if (seg && seg->seg_offset != len) {
usr/src/test/zfs-tests/cmd/getholes/getholes.c
186
seg->seg_len = len - seg->seg_offset;
usr/src/test/zfs-tests/cmd/getholes/getholes.c
74
seg_t *seg;
usr/src/test/zfs-tests/cmd/getholes/getholes.c
82
while ((seg = list_remove_head(seg_list)) != NULL) {
usr/src/test/zfs-tests/cmd/getholes/getholes.c
85
seg->seg_type == SEEK_HOLE ? 'h' : 'd',
usr/src/test/zfs-tests/cmd/getholes/getholes.c
86
seg->seg_offset, seg->seg_len);
usr/src/test/zfs-tests/cmd/getholes/getholes.c
88
if (seg->seg_type == SEEK_HOLE) {
usr/src/test/zfs-tests/cmd/getholes/getholes.c
89
hole_blks_seen += seg->seg_len / bs;
usr/src/test/zfs-tests/cmd/getholes/getholes.c
91
data_blks_seen += seg->seg_len / bs;
usr/src/test/zfs-tests/cmd/getholes/getholes.c
93
umem_free(seg, sizeof (seg_t));
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
104
seg = umem_alloc(sizeof (seg_t), UMEM_NOFAIL);
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
105
seg->seg_type = seg_type;
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
106
seg->seg_offset = off;
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
107
seg->seg_len = len;
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
109
list_insert_tail(seg_list, seg);
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
118
seg_t *seg;
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
146
while ((seg = list_remove_head(&seg_list)) != NULL) {
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
148
off_t off = seg->seg_offset;
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
149
off_t len = seg->seg_len;
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
151
if (seg->seg_type == SEG_HOLE) {
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
184
umem_free(seg, sizeof (seg_t));
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
185
} else if (seg->seg_type == SEG_DATA) {
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
206
umem_free(seg, sizeof (seg_t));
usr/src/test/zfs-tests/cmd/mkholes/mkholes.c
89
seg_t *seg;
usr/src/uts/common/cpr/cpr_dump.c
552
cpr_scan_kvseg(int mapflag, bitfunc_t bitfunc, struct seg *seg)
usr/src/uts/common/cpr/cpr_dump.c
565
cpr_show_range(seg->s_base, seg->s_size,
usr/src/uts/common/cpr/cpr_dump.c
595
cpr_scan_segkpm(int mapflag, bitfunc_t bitfunc, struct seg *seg)
usr/src/uts/common/cpr/cpr_dump.c
627
struct seg **st_seg; /* segment pointer or segment address */
usr/src/uts/common/cpr/cpr_dump.c
628
pgcnt_t (*st_fcn)(int, bitfunc_t, struct seg *); /* function to call */
usr/src/uts/common/cpr/cpr_dump.c
633
{(struct seg **)&kvseg, cpr_scan_kvseg, KSEG_SEG_ADDR},
usr/src/uts/common/cpr/cpr_dump.c
644
cpr_sparse_seg_check(struct seg *seg)
usr/src/uts/common/cpr/cpr_dump.c
647
struct seg *tseg;
usr/src/uts/common/cpr/cpr_dump.c
651
*ste->st_seg : (struct seg *)ste->st_seg;
usr/src/uts/common/cpr/cpr_dump.c
653
if (seg == tseg)
usr/src/uts/common/cpr/cpr_dump.c
672
struct seg *segp;
usr/src/uts/common/disp/class.c
335
uio_seg_t seg)
usr/src/uts/common/disp/class.c
358
if ((seg == UIO_USERSPACE ? copyout : kcopy)(clname,
usr/src/uts/common/disp/priocntl.c
107
#define COPYIN_VAPARMS(arg, vap, size, seg) \
usr/src/uts/common/disp/priocntl.c
109
(*copyinfn)(arg, vap, size) : copyin_vaparms32(arg, vap, seg))
usr/src/uts/common/disp/priocntl.c
113
#define COPYIN_VAPARMS(arg, vap, size, seg) (*copyinfn)(arg, vap, size)
usr/src/uts/common/disp/priocntl.c
128
caddr_t arg2, uio_seg_t seg)
usr/src/uts/common/disp/priocntl.c
167
if (seg == UIO_USERSPACE) {
usr/src/uts/common/disp/priocntl.c
284
seg))
usr/src/uts/common/disp/priocntl.c
406
seg))
usr/src/uts/common/disp/priocntl.c
620
seg)) != 0)
usr/src/uts/common/disp/priocntl.c
83
copyin_vaparms32(caddr_t arg, pc_vaparms_t *vap, uio_seg_t seg)
usr/src/uts/common/disp/priocntl.c
92
if ((seg == UIO_USERSPACE ? copyin : kcopy)(arg, &vaparms32,
usr/src/uts/common/exec/elf/elf.c
1945
struct seg *seg;
usr/src/uts/common/exec/elf/elf.c
1977
for (seg = AS_SEGFIRST(as); seg != NULL; seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/exec/elf/elf.c
1980
caddr_t saddr = seg->s_base, naddr, eaddr;
usr/src/uts/common/exec/elf/elf.c
1991
if (seg->s_ops != &segvn_ops ||
usr/src/uts/common/exec/elf/elf.c
1992
SEGOP_GETVP(seg, seg->s_base, &mvp) != 0 ||
usr/src/uts/common/exec/elf/elf.c
1994
(segsize = pr_getsegsize(seg, 1)) == 0) {
usr/src/uts/common/exec/elf/elf.c
1999
prot = pr_getprot(seg, 1, &tmp, &saddr, &naddr, eaddr);
usr/src/uts/common/exec/elf/elf.c
2081
struct seg *seg;
usr/src/uts/common/exec/elf/elf.c
2253
for (seg = AS_SEGFIRST(as); seg != NULL; seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/exec/elf/elf.c
2254
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
usr/src/uts/common/exec/elf/elf.c
2259
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/exec/elf/elf.c
2263
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/exec/elf/elf.c
2269
prot = pr_getprot(seg, 0, &tmp, &saddr, &naddr, eaddr);
usr/src/uts/common/exec/elf/elf.c
2292
type = SEGOP_GETTYPE(seg, saddr);
usr/src/uts/common/exec/elf/elf.c
2302
} else if (seg->s_ops == &segspt_shmops) {
usr/src/uts/common/exec/elf/elf.c
2311
} else if (seg->s_ops != &segvn_ops) {
usr/src/uts/common/exec/elf/elf.c
2319
} else if (SEGOP_GETVP(seg, seg->s_base,
usr/src/uts/common/exec/elf/elf.c
2330
} else if (SEGOP_GETVP(seg, seg->s_base, &mvp) != 0 ||
usr/src/uts/common/fs/bootfs/bootfs_vnops.c
367
page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr, enum seg_rw rw,
usr/src/uts/common/fs/bootfs/bootfs_vnops.c
387
pp = page_create_va(vp, off, PAGESIZE, PG_EXCL | PG_WAIT, seg,
usr/src/uts/common/fs/bootfs/bootfs_vnops.c
418
page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr, enum seg_rw rw,
usr/src/uts/common/fs/bootfs/bootfs_vnops.c
432
plsz, seg, addr, rw, cr);
usr/src/uts/common/fs/bootfs/bootfs_vnops.c
435
protp, pl, plsz, seg, addr, rw, cr);
usr/src/uts/common/fs/dcfs/dc_vnops.c
211
struct page **, size_t, struct seg *, caddr_t, enum seg_rw,
usr/src/uts/common/fs/dcfs/dc_vnops.c
418
struct seg *seg, caddr_t addr, enum seg_rw rw, struct cred *cr)
usr/src/uts/common/fs/dcfs/dc_vnops.c
434
pp = page_create_va(vp, off, len, PG_WAIT, seg, addr);
usr/src/uts/common/fs/dcfs/dc_vnops.c
483
struct seg *seg, caddr_t addr, enum seg_rw rw, struct cred *cr)
usr/src/uts/common/fs/dcfs/dc_vnops.c
520
return (dc_getblock_miss(vp, off, len, ppp, seg, addr, rw, cr));
usr/src/uts/common/fs/dcfs/dc_vnops.c
538
struct page *pl[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/dcfs/dc_vnops.c
574
error = dc_getblock(vp, vp_boff, bsize, &pp, seg, vp_baddr,
usr/src/uts/common/fs/fem.c
1230
struct page **plarr, size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/fem.c
1243
errc = (*func)(arg0, off, len, protp, plarr, plsz, seg,
usr/src/uts/common/fs/fem.c
1252
errc = (*func)(arg0, off, len, protp, plarr, plsz, seg,
usr/src/uts/common/fs/fem.c
2509
struct page **plarr, size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/fem.c
2520
return ((*func)(arg0, off, len, protp, plarr, plsz, seg, addr, rw,
usr/src/uts/common/fs/hsfs/hsfs_vnops.c
1141
pp = pvn_read_kluster(vp, off, seg, addr, &io_off_tmp,
usr/src/uts/common/fs/hsfs/hsfs_vnops.c
1447
(void) hsfs_getpage_ra(vp, hp->hs_prev_offset, seg,
usr/src/uts/common/fs/hsfs/hsfs_vnops.c
1465
struct page *pl[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/hsfs/hsfs_vnops.c
1490
if ((off + len) > (offset_t)(filsiz + PAGEOFFSET) && seg != segkmap)
usr/src/uts/common/fs/hsfs/hsfs_vnops.c
1546
seg, addr, rw, cred));
usr/src/uts/common/fs/hsfs/hsfs_vnops.c
711
hsfs_getpage_ra(struct vnode *vp, u_offset_t off, struct seg *seg,
usr/src/uts/common/fs/hsfs/hsfs_vnops.c
745
if (addr >= seg->s_base + seg->s_size) {
usr/src/uts/common/fs/hsfs/hsfs_vnops.c
788
pp = pvn_read_kluster(vp, off, seg, addr, &io_off_tmp,
usr/src/uts/common/fs/hsfs/hsfs_vnops.c
992
struct page *pl[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/lofs/lofs_vnops.c
1070
struct seg *seg,
usr/src/uts/common/fs/lofs/lofs_vnops.c
1077
return (VOP_GETPAGE(vp, off, len, prot, parr, psz, seg, addr, rw, cr,
usr/src/uts/common/fs/lookup.c
105
if (error = pn_get(fnamep, seg, &lookpn))
usr/src/uts/common/fs/lookup.c
116
lookupnameat(const char *fnamep, enum uio_seg seg, int followlink,
usr/src/uts/common/fs/lookup.c
119
return (lookupnameatcred(fnamep, seg, followlink, dirvpp, compvpp,
usr/src/uts/common/fs/lookup.c
69
enum uio_seg seg,
usr/src/uts/common/fs/lookup.c
74
return (lookupnameatcred(fnamep, seg, followlink, dirvpp, compvpp, NULL,
usr/src/uts/common/fs/lookup.c
85
enum uio_seg seg, /* addr space that name is in */
usr/src/uts/common/fs/lookup.c
96
error = pn_get_buf(fnamep, seg, &lookpn, namebuf, sizeof (namebuf));
usr/src/uts/common/fs/nfs/nfs3_vnops.c
118
page_t *[], size_t, struct seg *, caddr_t,
usr/src/uts/common/fs/nfs/nfs3_vnops.c
120
static void nfs3_readahead(vnode_t *, u_offset_t, caddr_t, struct seg *,
usr/src/uts/common/fs/nfs/nfs3_vnops.c
209
page_t *[], size_t, struct seg *, caddr_t,
usr/src/uts/common/fs/nfs/nfs3_vnops.c
4535
page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/nfs/nfs3_vnops.c
4584
if (off + len > rp->r_size + PAGEOFFSET && seg != segkmap) {
usr/src/uts/common/fs/nfs/nfs3_vnops.c
4592
pl, plsz, seg, addr, rw, cr);
usr/src/uts/common/fs/nfs/nfs3_vnops.c
4611
page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/nfs/nfs3_vnops.c
4685
addr + (rablkoff + bsize - off), seg, cr,
usr/src/uts/common/fs/nfs/nfs3_vnops.c
4712
(void) nfs_async_readahead(vp, blkoff, addr, seg, cr,
usr/src/uts/common/fs/nfs/nfs3_vnops.c
4722
PAGESIZE, PG_WAIT, seg, addr)) == NULL)
usr/src/uts/common/fs/nfs/nfs3_vnops.c
4757
pp = pvn_read_kluster(vp, off, seg, addr, &io_off,
usr/src/uts/common/fs/nfs/nfs3_vnops.c
4802
if (io_off >= rp->r_size && seg == segkmap) {
usr/src/uts/common/fs/nfs/nfs3_vnops.c
4830
if (seg == segkmap)
usr/src/uts/common/fs/nfs/nfs3_vnops.c
4878
nfs3_readahead(vnode_t *vp, u_offset_t blkoff, caddr_t addr, struct seg *seg,
usr/src/uts/common/fs/nfs/nfs3_vnops.c
4948
if (io_off >= rp->r_size && seg == segkmap) {
usr/src/uts/common/fs/nfs/nfs4_client.c
1246
struct seg *seg, cred_t *cr, void (*readahead)(vnode_t *,
usr/src/uts/common/fs/nfs/nfs4_client.c
1247
u_offset_t, caddr_t, struct seg *, cred_t *))
usr/src/uts/common/fs/nfs/nfs4_client.c
1261
if (addr >= seg->s_base + seg->s_size)
usr/src/uts/common/fs/nfs/nfs4_client.c
1296
args->a_nfs4_seg = seg;
usr/src/uts/common/fs/nfs/nfs4_vnops.c
10015
if (io_off >= rp->r_size && seg == segkmap) {
usr/src/uts/common/fs/nfs/nfs4_vnops.c
10043
if (seg == segkmap)
usr/src/uts/common/fs/nfs/nfs4_vnops.c
10091
nfs4_readahead(vnode_t *vp, u_offset_t blkoff, caddr_t addr, struct seg *seg,
usr/src/uts/common/fs/nfs/nfs4_vnops.c
10162
if (io_off >= rp->r_size && seg == segkmap) {
usr/src/uts/common/fs/nfs/nfs4_vnops.c
155
page_t *[], size_t, struct seg *, caddr_t,
usr/src/uts/common/fs/nfs/nfs4_vnops.c
157
static void nfs4_readahead(vnode_t *, u_offset_t, caddr_t, struct seg *,
usr/src/uts/common/fs/nfs/nfs4_vnops.c
250
page_t *[], size_t, struct seg *, caddr_t,
usr/src/uts/common/fs/nfs/nfs4_vnops.c
9739
page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/nfs/nfs4_vnops.c
9790
if (off + len > rp->r_size + PAGEOFFSET && seg != segkmap) {
usr/src/uts/common/fs/nfs/nfs4_vnops.c
9802
pl, plsz, seg, addr, rw, cr);
usr/src/uts/common/fs/nfs/nfs4_vnops.c
9824
page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/nfs/nfs4_vnops.c
9901
seg, cr, nfs4_readahead) < 0) {
usr/src/uts/common/fs/nfs/nfs4_vnops.c
9927
(void) nfs4_async_readahead(vp, blkoff, addr, seg, cr,
usr/src/uts/common/fs/nfs/nfs4_vnops.c
9937
PAGESIZE, PG_WAIT, seg, addr)) == NULL)
usr/src/uts/common/fs/nfs/nfs4_vnops.c
9970
pp = pvn_read_kluster(vp, off, seg, addr, &io_off,
usr/src/uts/common/fs/nfs/nfs_client.c
1364
struct seg *seg, cred_t *cr, void (*readahead)(vnode_t *,
usr/src/uts/common/fs/nfs/nfs_client.c
1365
u_offset_t, caddr_t, struct seg *, cred_t *))
usr/src/uts/common/fs/nfs/nfs_client.c
1379
if (addr >= seg->s_base + seg->s_size)
usr/src/uts/common/fs/nfs/nfs_client.c
1414
args->a_nfs_seg = seg;
usr/src/uts/common/fs/nfs/nfs_log.c
1877
nfslog_getfh(struct exportinfo *exi, fhandle *fh, char *fname, enum uio_seg seg,
usr/src/uts/common/fs/nfs/nfs_log.c
1898
if (seg == UIO_USERSPACE) {
usr/src/uts/common/fs/nfs/nfs_vnops.c
101
page_t *[], size_t, struct seg *, caddr_t,
usr/src/uts/common/fs/nfs/nfs_vnops.c
103
static void nfs_readahead(vnode_t *, u_offset_t, caddr_t, struct seg *,
usr/src/uts/common/fs/nfs/nfs_vnops.c
173
page_t *[], size_t, struct seg *, caddr_t,
usr/src/uts/common/fs/nfs/nfs_vnops.c
3628
page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/nfs/nfs_vnops.c
3678
if (off + len > rp->r_size + PAGEOFFSET && seg != segkmap) {
usr/src/uts/common/fs/nfs/nfs_vnops.c
3686
seg, addr, rw, cr);
usr/src/uts/common/fs/nfs/nfs_vnops.c
3705
page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/nfs/nfs_vnops.c
3778
addr + (rablkoff + bsize - off), seg, cr,
usr/src/uts/common/fs/nfs/nfs_vnops.c
3805
(void) nfs_async_readahead(vp, blkoff, addr, seg, cr,
usr/src/uts/common/fs/nfs/nfs_vnops.c
3815
PAGESIZE, PG_WAIT, seg, addr)) == NULL)
usr/src/uts/common/fs/nfs/nfs_vnops.c
3850
pp = pvn_read_kluster(vp, off, seg, addr, &io_off,
usr/src/uts/common/fs/nfs/nfs_vnops.c
3895
if (io_off >= rp->r_size && seg == segkmap) {
usr/src/uts/common/fs/nfs/nfs_vnops.c
3918
if (seg == segkmap)
usr/src/uts/common/fs/nfs/nfs_vnops.c
3966
nfs_readahead(vnode_t *vp, u_offset_t blkoff, caddr_t addr, struct seg *seg,
usr/src/uts/common/fs/nfs/nfs_vnops.c
4036
if (io_off >= rp->r_size && seg == segkmap) {
usr/src/uts/common/fs/pathname.c
104
pn_get_buf(const char *str, enum uio_seg seg, struct pathname *pnp,
usr/src/uts/common/fs/pathname.c
111
if (seg == UIO_USERSPACE)
usr/src/uts/common/fs/pathname.c
125
pn_get(const char *str, enum uio_seg seg, struct pathname *pnp)
usr/src/uts/common/fs/pathname.c
131
if ((error = pn_get_buf(str, seg, pnp, buf, MAXPATHLEN)) != 0)
usr/src/uts/common/fs/pcfs/pc_vnops.c
112
size_t, struct seg *, caddr_t, enum seg_rw, struct cred *,
usr/src/uts/common/fs/pcfs/pc_vnops.c
115
page_t *[], size_t, struct seg *, caddr_t, enum seg_rw, struct cred *);
usr/src/uts/common/fs/pcfs/pc_vnops.c
1441
struct seg *seg,
usr/src/uts/common/fs/pcfs/pc_vnops.c
1500
pp = pvn_read_kluster(vp, off, seg, addr, &io_off, &io_len,
usr/src/uts/common/fs/pcfs/pc_vnops.c
1582
struct seg *seg,
usr/src/uts/common/fs/pcfs/pc_vnops.c
1605
seg, addr, rw, cr);
usr/src/uts/common/fs/proc/prdata.h
384
extern struct seg *break_seg(proc_t *);
usr/src/uts/common/fs/proc/prioctl.c
3028
struct seg *seg;
usr/src/uts/common/fs/proc/prioctl.c
3047
seg = as_segat(as, va);
usr/src/uts/common/fs/proc/prioctl.c
3048
if (seg != NULL &&
usr/src/uts/common/fs/proc/prioctl.c
3049
seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prioctl.c
3050
SEGOP_GETVP(seg, va, &xvp) == 0 &&
usr/src/uts/common/fs/proc/prioctl.c
3423
struct seg *seg;
usr/src/uts/common/fs/proc/prioctl.c
3424
struct seg *brkseg, *stkseg;
usr/src/uts/common/fs/proc/prioctl.c
3435
if ((seg = AS_SEGFIRST(as)) == NULL)
usr/src/uts/common/fs/proc/prioctl.c
3442
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
usr/src/uts/common/fs/proc/prioctl.c
3446
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prioctl.c
3450
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/fs/proc/prioctl.c
3451
prot = pr_getprot(seg, 0, &tmp, &saddr, &naddr, eaddr);
usr/src/uts/common/fs/proc/prioctl.c
3459
mp->pr_off = SEGOP_GETOFFSET(seg, saddr);
usr/src/uts/common/fs/proc/prioctl.c
3467
if (SEGOP_GETTYPE(seg, saddr) & MAP_SHARED)
usr/src/uts/common/fs/proc/prioctl.c
3469
if (seg == brkseg)
usr/src/uts/common/fs/proc/prioctl.c
3471
else if (seg == stkseg)
usr/src/uts/common/fs/proc/prioctl.c
3476
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prioctl.c
3487
struct seg *seg;
usr/src/uts/common/fs/proc/prioctl.c
3488
struct seg *brkseg, *stkseg;
usr/src/uts/common/fs/proc/prioctl.c
3499
if ((seg = AS_SEGFIRST(as)) == NULL)
usr/src/uts/common/fs/proc/prioctl.c
3506
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
usr/src/uts/common/fs/proc/prioctl.c
3510
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prioctl.c
3514
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/fs/proc/prioctl.c
3515
prot = pr_getprot(seg, 0, &tmp, &saddr, &naddr, eaddr);
usr/src/uts/common/fs/proc/prioctl.c
3523
mp->pr_off = (off32_t)SEGOP_GETOFFSET(seg, saddr);
usr/src/uts/common/fs/proc/prioctl.c
3531
if (SEGOP_GETTYPE(seg, saddr) & MAP_SHARED)
usr/src/uts/common/fs/proc/prioctl.c
3533
if (seg == brkseg)
usr/src/uts/common/fs/proc/prioctl.c
3535
else if (seg == stkseg)
usr/src/uts/common/fs/proc/prioctl.c
3540
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prioctl.c
3552
struct seg *seg;
usr/src/uts/common/fs/proc/prioctl.c
3557
if ((seg = AS_SEGFIRST(as)) == NULL)
usr/src/uts/common/fs/proc/prioctl.c
3562
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
usr/src/uts/common/fs/proc/prioctl.c
3567
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prioctl.c
3571
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/fs/proc/prioctl.c
3572
(void) pr_getprot(seg, 0, &tmp, &saddr, &naddr, eaddr);
usr/src/uts/common/fs/proc/prioctl.c
3577
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prioctl.c
3586
struct seg *seg;
usr/src/uts/common/fs/proc/prioctl.c
3591
if ((seg = AS_SEGFIRST(as)) == NULL)
usr/src/uts/common/fs/proc/prioctl.c
3596
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
usr/src/uts/common/fs/proc/prioctl.c
3601
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prioctl.c
3605
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/fs/proc/prioctl.c
3606
(void) pr_getprot(seg, 0, &tmp, &saddr, &naddr, eaddr);
usr/src/uts/common/fs/proc/prioctl.c
3611
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prioctl.c
3627
struct seg *seg;
usr/src/uts/common/fs/proc/prioctl.c
3633
if ((seg = AS_SEGFIRST(as)) == NULL) {
usr/src/uts/common/fs/proc/prioctl.c
3651
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
usr/src/uts/common/fs/proc/prioctl.c
3655
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prioctl.c
3659
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/fs/proc/prioctl.c
3665
prot = pr_getprot(seg, 0, &tmp, &saddr, &naddr, eaddr);
usr/src/uts/common/fs/proc/prioctl.c
3703
pmp->pr_off = SEGOP_GETOFFSET(seg, saddr);
usr/src/uts/common/fs/proc/prioctl.c
3711
if (SEGOP_GETTYPE(seg, saddr) & MAP_SHARED)
usr/src/uts/common/fs/proc/prioctl.c
3719
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prioctl.c
3738
struct seg *seg;
usr/src/uts/common/fs/proc/prioctl.c
3744
if ((seg = AS_SEGFIRST(as)) == NULL) {
usr/src/uts/common/fs/proc/prioctl.c
3762
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
usr/src/uts/common/fs/proc/prioctl.c
3766
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prioctl.c
3770
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/fs/proc/prioctl.c
3776
prot = pr_getprot(seg, 0, &tmp, &saddr, &naddr, eaddr);
usr/src/uts/common/fs/proc/prioctl.c
3814
pmp->pr_off = (int32_t)SEGOP_GETOFFSET(seg, saddr);
usr/src/uts/common/fs/proc/prioctl.c
3822
if (SEGOP_GETTYPE(seg, saddr) & MAP_SHARED)
usr/src/uts/common/fs/proc/prioctl.c
3830
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prsubr.c
1445
struct seg *seg;
usr/src/uts/common/fs/proc/prsubr.c
1449
for (seg = AS_SEGFIRST(as); seg != NULL; seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/fs/proc/prsubr.c
1450
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, reserved);
usr/src/uts/common/fs/proc/prsubr.c
1454
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prsubr.c
1458
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/fs/proc/prsubr.c
1459
(void) pr_getprot(seg, reserved, &tmp,
usr/src/uts/common/fs/proc/prsubr.c
1717
struct seg *
usr/src/uts/common/fs/proc/prsubr.c
1721
struct seg *seg;
usr/src/uts/common/fs/proc/prsubr.c
1726
seg = as_segat(p->p_as, addr);
usr/src/uts/common/fs/proc/prsubr.c
1727
if (seg != NULL && seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prsubr.c
1728
(SEGOP_GETVP(seg, seg->s_base, &vp) != 0 || vp == NULL))
usr/src/uts/common/fs/proc/prsubr.c
1729
return (seg);
usr/src/uts/common/fs/proc/prsubr.c
1870
struct seg *seg;
usr/src/uts/common/fs/proc/prsubr.c
1871
struct seg *brkseg, *stkseg;
usr/src/uts/common/fs/proc/prsubr.c
1884
if ((seg = AS_SEGFIRST(as)) == NULL)
usr/src/uts/common/fs/proc/prsubr.c
1891
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, reserved);
usr/src/uts/common/fs/proc/prsubr.c
1895
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prsubr.c
1899
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/fs/proc/prsubr.c
1900
prot = pr_getprot(seg, reserved, &tmp,
usr/src/uts/common/fs/proc/prsubr.c
1909
mp->pr_offset = SEGOP_GETOFFSET(seg, saddr);
usr/src/uts/common/fs/proc/prsubr.c
1917
if (SEGOP_GETTYPE(seg, saddr) & MAP_SHARED)
usr/src/uts/common/fs/proc/prsubr.c
1919
if (SEGOP_GETTYPE(seg, saddr) & MAP_NORESERVE)
usr/src/uts/common/fs/proc/prsubr.c
1921
if (seg->s_ops == &segspt_shmops ||
usr/src/uts/common/fs/proc/prsubr.c
1922
(seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prsubr.c
1923
(SEGOP_GETVP(seg, saddr, &vp) != 0 || vp == NULL)))
usr/src/uts/common/fs/proc/prsubr.c
1925
if (seg == brkseg)
usr/src/uts/common/fs/proc/prsubr.c
1927
else if (seg == stkseg) {
usr/src/uts/common/fs/proc/prsubr.c
1940
if (seg->s_ops == &segspt_shmops)
usr/src/uts/common/fs/proc/prsubr.c
1948
if (seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prsubr.c
1949
SEGOP_GETVP(seg, saddr, &vp) == 0 &&
usr/src/uts/common/fs/proc/prsubr.c
1963
(mp->pr_shmid = shmgetid(p, seg->s_base)) !=
usr/src/uts/common/fs/proc/prsubr.c
1974
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prsubr.c
1985
struct seg *seg;
usr/src/uts/common/fs/proc/prsubr.c
1986
struct seg *brkseg, *stkseg;
usr/src/uts/common/fs/proc/prsubr.c
1999
if ((seg = AS_SEGFIRST(as)) == NULL)
usr/src/uts/common/fs/proc/prsubr.c
2006
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, reserved);
usr/src/uts/common/fs/proc/prsubr.c
2010
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prsubr.c
2014
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/fs/proc/prsubr.c
2015
prot = pr_getprot(seg, reserved, &tmp,
usr/src/uts/common/fs/proc/prsubr.c
2024
mp->pr_offset = SEGOP_GETOFFSET(seg, saddr);
usr/src/uts/common/fs/proc/prsubr.c
2032
if (SEGOP_GETTYPE(seg, saddr) & MAP_SHARED)
usr/src/uts/common/fs/proc/prsubr.c
2034
if (SEGOP_GETTYPE(seg, saddr) & MAP_NORESERVE)
usr/src/uts/common/fs/proc/prsubr.c
2036
if (seg->s_ops == &segspt_shmops ||
usr/src/uts/common/fs/proc/prsubr.c
2037
(seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prsubr.c
2038
(SEGOP_GETVP(seg, saddr, &vp) != 0 || vp == NULL)))
usr/src/uts/common/fs/proc/prsubr.c
2040
if (seg == brkseg)
usr/src/uts/common/fs/proc/prsubr.c
2042
else if (seg == stkseg) {
usr/src/uts/common/fs/proc/prsubr.c
2056
if (seg->s_ops == &segspt_shmops)
usr/src/uts/common/fs/proc/prsubr.c
2064
if (seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prsubr.c
2065
SEGOP_GETVP(seg, saddr, &vp) == 0 &&
usr/src/uts/common/fs/proc/prsubr.c
2079
(mp->pr_shmid = shmgetid(p, seg->s_base)) !=
usr/src/uts/common/fs/proc/prsubr.c
2090
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prsubr.c
2102
struct seg *seg;
usr/src/uts/common/fs/proc/prsubr.c
2107
if ((seg = AS_SEGFIRST(as)) == NULL)
usr/src/uts/common/fs/proc/prsubr.c
2112
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
usr/src/uts/common/fs/proc/prsubr.c
2117
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prsubr.c
2121
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/fs/proc/prsubr.c
2122
(void) pr_getprot(seg, 0, &tmp, &saddr, &naddr, eaddr);
usr/src/uts/common/fs/proc/prsubr.c
2127
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prsubr.c
2136
struct seg *seg;
usr/src/uts/common/fs/proc/prsubr.c
2141
if ((seg = AS_SEGFIRST(as)) == NULL)
usr/src/uts/common/fs/proc/prsubr.c
2146
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
usr/src/uts/common/fs/proc/prsubr.c
2151
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prsubr.c
2155
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/fs/proc/prsubr.c
2156
(void) pr_getprot(seg, 0, &tmp, &saddr, &naddr, eaddr);
usr/src/uts/common/fs/proc/prsubr.c
2161
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prsubr.c
2178
struct seg *seg;
usr/src/uts/common/fs/proc/prsubr.c
2184
if ((seg = AS_SEGFIRST(as)) == NULL) {
usr/src/uts/common/fs/proc/prsubr.c
2202
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
usr/src/uts/common/fs/proc/prsubr.c
2206
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prsubr.c
2210
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/fs/proc/prsubr.c
2218
prot = pr_getprot(seg, 0, &tmp, &saddr, &naddr, eaddr);
usr/src/uts/common/fs/proc/prsubr.c
2256
pmp->pr_offset = SEGOP_GETOFFSET(seg, saddr);
usr/src/uts/common/fs/proc/prsubr.c
2264
if (SEGOP_GETTYPE(seg, saddr) & MAP_SHARED)
usr/src/uts/common/fs/proc/prsubr.c
2266
if (SEGOP_GETTYPE(seg, saddr) & MAP_NORESERVE)
usr/src/uts/common/fs/proc/prsubr.c
2268
if (seg->s_ops == &segspt_shmops ||
usr/src/uts/common/fs/proc/prsubr.c
2269
(seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prsubr.c
2270
(SEGOP_GETVP(seg, saddr, &vp) != 0 || vp == NULL)))
usr/src/uts/common/fs/proc/prsubr.c
2272
if (seg->s_ops == &segspt_shmops)
usr/src/uts/common/fs/proc/prsubr.c
2279
if (seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prsubr.c
2280
SEGOP_GETVP(seg, saddr, &vp) == 0 &&
usr/src/uts/common/fs/proc/prsubr.c
2294
(pmp->pr_shmid = shmgetid(p, seg->s_base)) !=
usr/src/uts/common/fs/proc/prsubr.c
2309
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prsubr.c
2329
struct seg *seg;
usr/src/uts/common/fs/proc/prsubr.c
2335
if ((seg = AS_SEGFIRST(as)) == NULL) {
usr/src/uts/common/fs/proc/prsubr.c
2353
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
usr/src/uts/common/fs/proc/prsubr.c
2357
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prsubr.c
2361
for (saddr = seg->s_base; saddr < eaddr; saddr = naddr) {
usr/src/uts/common/fs/proc/prsubr.c
2369
prot = pr_getprot(seg, 0, &tmp, &saddr, &naddr, eaddr);
usr/src/uts/common/fs/proc/prsubr.c
2407
pmp->pr_offset = SEGOP_GETOFFSET(seg, saddr);
usr/src/uts/common/fs/proc/prsubr.c
2415
if (SEGOP_GETTYPE(seg, saddr) & MAP_SHARED)
usr/src/uts/common/fs/proc/prsubr.c
2417
if (SEGOP_GETTYPE(seg, saddr) & MAP_NORESERVE)
usr/src/uts/common/fs/proc/prsubr.c
2419
if (seg->s_ops == &segspt_shmops ||
usr/src/uts/common/fs/proc/prsubr.c
2420
(seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prsubr.c
2421
(SEGOP_GETVP(seg, saddr, &vp) != 0 || vp == NULL)))
usr/src/uts/common/fs/proc/prsubr.c
2423
if (seg->s_ops == &segspt_shmops)
usr/src/uts/common/fs/proc/prsubr.c
2430
if (seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prsubr.c
2431
SEGOP_GETVP(seg, saddr, &vp) == 0 &&
usr/src/uts/common/fs/proc/prsubr.c
2445
(pmp->pr_shmid = shmgetid(p, seg->s_base)) !=
usr/src/uts/common/fs/proc/prsubr.c
2460
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prsubr.c
4133
struct seg *seg;
usr/src/uts/common/fs/proc/prsubr.c
4138
(seg = as_segat(as, addr)) != NULL) {
usr/src/uts/common/fs/proc/prsubr.c
4139
err = SEGOP_SETPROT(seg, addr, PAGESIZE, prot);
usr/src/uts/common/fs/proc/prsubr.c
4170
struct seg *seg;
usr/src/uts/common/fs/proc/prsubr.c
4244
(seg = as_segat(as, vaddr)) != NULL) {
usr/src/uts/common/fs/proc/prsubr.c
4245
SEGOP_GETPROT(seg, vaddr, 0, &prot);
usr/src/uts/common/fs/proc/prsubr.c
4387
pr_pagev_create(struct seg *seg, int check_noreserve)
usr/src/uts/common/fs/proc/prsubr.c
4390
size_t total_pages = seg_pages(seg);
usr/src/uts/common/fs/proc/prsubr.c
4423
pr_pagev_fill(prpagev_t *pagev, struct seg *seg, caddr_t addr, caddr_t eaddr)
usr/src/uts/common/fs/proc/prsubr.c
4425
ulong_t lastpg = seg_page(seg, eaddr - 1);
usr/src/uts/common/fs/proc/prsubr.c
4430
ASSERT(addr >= seg->s_base && addr <= eaddr);
usr/src/uts/common/fs/proc/prsubr.c
4437
pagev->pg_pnbase = seg_page(seg, addr);
usr/src/uts/common/fs/proc/prsubr.c
4451
SEGOP_INCORE(seg, addr, len, pagev->pg_incore);
usr/src/uts/common/fs/proc/prsubr.c
4479
SEGOP_GETPROT(seg, saddr, len - 1, pagev->pg_protv);
usr/src/uts/common/fs/proc/prsubr.c
4484
pr_pagev_nextprot(prpagev_t *pagev, struct seg *seg,
usr/src/uts/common/fs/proc/prsubr.c
4493
caddr_t base = seg->s_base + pagev->pg_pnbase * PAGESIZE;
usr/src/uts/common/fs/proc/prsubr.c
4495
ulong_t pn = seg_page(seg, addr);
usr/src/uts/common/fs/proc/prsubr.c
4510
addr = pr_pagev_fill(pagev, seg, addr, eaddr);
usr/src/uts/common/fs/proc/prsubr.c
4516
pn = seg_page(seg, addr);
usr/src/uts/common/fs/proc/prsubr.c
4524
pn = seg_page(seg, addr);
usr/src/uts/common/fs/proc/prsubr.c
4529
getwatchprot(seg->s_as, addr, &prot);
usr/src/uts/common/fs/proc/prsubr.c
4545
caddr_t naddr = pr_pagev_fill(pagev, seg, addr, eaddr);
usr/src/uts/common/fs/proc/prsubr.c
4548
pn = seg_page(seg, addr);
usr/src/uts/common/fs/proc/prsubr.c
4565
getwatchprot(seg->s_as, addr, &nprot);
usr/src/uts/common/fs/proc/prsubr.c
4577
pr_getsegsize(struct seg *seg, int reserved)
usr/src/uts/common/fs/proc/prsubr.c
4579
size_t size = seg->s_size;
usr/src/uts/common/fs/proc/prsubr.c
4594
if (seg->s_ops == &segvn_ops) {
usr/src/uts/common/fs/proc/prsubr.c
4600
if (SEGOP_GETVP(seg, seg->s_base, &vp) == 0 &&
usr/src/uts/common/fs/proc/prsubr.c
4605
u_offset_t offset = SEGOP_GETOFFSET(seg, seg->s_base);
usr/src/uts/common/fs/proc/prsubr.c
4625
if (seg->s_ops == &segspt_shmops)
usr/src/uts/common/fs/proc/prsubr.c
4626
return (MIN(spt_realsize(seg), size));
usr/src/uts/common/fs/proc/prsubr.c
4634
if (seg->s_ops == &segdev_ops &&
usr/src/uts/common/fs/proc/prsubr.c
4635
((SEGOP_GETTYPE(seg, seg->s_base) &
usr/src/uts/common/fs/proc/prsubr.c
4647
pr_getprot(struct seg *seg, int reserved, void **tmp,
usr/src/uts/common/fs/proc/prsubr.c
4650
struct as *as = seg->s_as;
usr/src/uts/common/fs/proc/prsubr.c
4664
s.data = seg->s_data;
usr/src/uts/common/fs/proc/prsubr.c
4667
ASSERT(saddr >= seg->s_base && saddr < eaddr);
usr/src/uts/common/fs/proc/prsubr.c
4668
ASSERT(eaddr <= seg->s_base + seg->s_size);
usr/src/uts/common/fs/proc/prsubr.c
4677
(!reserved && seg->s_ops == &segvn_ops && s.svd != NULL &&
usr/src/uts/common/fs/proc/prsubr.c
4687
if (!check_noreserve && saddr == seg->s_base &&
usr/src/uts/common/fs/proc/prsubr.c
4688
seg->s_ops == &segvn_ops && s.svd != NULL && s.svd->pageprot == 0) {
usr/src/uts/common/fs/proc/prsubr.c
4693
} else if (saddr == seg->s_base && seg->s_ops == &segdev_ops &&
usr/src/uts/common/fs/proc/prsubr.c
4709
if (saddr == seg->s_base) {
usr/src/uts/common/fs/proc/prsubr.c
4710
pagev = pr_pagev_create(seg, check_noreserve);
usr/src/uts/common/fs/proc/prsubr.c
4711
saddr = pr_pagev_fill(pagev, seg, saddr, eaddr);
usr/src/uts/common/fs/proc/prsubr.c
4730
naddr = pr_pagev_nextprot(pagev, seg, saddrp, eaddr, &prot);
usr/src/uts/common/fs/proc/prsubr.c
4776
pr_getpagesize(struct seg *seg, caddr_t saddr, caddr_t *naddrp, caddr_t eaddr)
usr/src/uts/common/fs/proc/prsubr.c
4780
ASSERT(AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/fs/proc/prsubr.c
4785
pagesize = hatsize = hat_getpagesize(seg->s_as->a_hat, saddr);
usr/src/uts/common/fs/proc/prsubr.c
4795
if (hatsize != hat_getpagesize(seg->s_as->a_hat, saddr))
usr/src/uts/common/fs/proc/prsubr.c
4814
struct seg *seg;
usr/src/uts/common/fs/proc/prsubr.c
4815
struct seg *brkseg, *stkseg;
usr/src/uts/common/fs/proc/prsubr.c
4828
if ((seg = AS_SEGFIRST(as)) == NULL)
usr/src/uts/common/fs/proc/prsubr.c
4835
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
usr/src/uts/common/fs/proc/prsubr.c
4843
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prsubr.c
4851
for (saddr = seg->s_base; saddr < eaddr; saddr = baddr) {
usr/src/uts/common/fs/proc/prsubr.c
4852
prot = pr_getprot(seg, 0, &tmp, &saddr, &baddr, eaddr);
usr/src/uts/common/fs/proc/prsubr.c
4862
psz = pr_getpagesize(seg, saddr, &naddr, baddr);
usr/src/uts/common/fs/proc/prsubr.c
4869
mp->pr_offset = SEGOP_GETOFFSET(seg, saddr);
usr/src/uts/common/fs/proc/prsubr.c
4877
if (SEGOP_GETTYPE(seg, saddr) & MAP_SHARED)
usr/src/uts/common/fs/proc/prsubr.c
4879
if (SEGOP_GETTYPE(seg, saddr) & MAP_NORESERVE)
usr/src/uts/common/fs/proc/prsubr.c
4881
if (seg->s_ops == &segspt_shmops ||
usr/src/uts/common/fs/proc/prsubr.c
4882
(seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prsubr.c
4883
(SEGOP_GETVP(seg, saddr, &vp) != 0 ||
usr/src/uts/common/fs/proc/prsubr.c
4886
if (seg == brkseg)
usr/src/uts/common/fs/proc/prsubr.c
4888
else if (seg == stkseg)
usr/src/uts/common/fs/proc/prsubr.c
4890
if (seg->s_ops == &segspt_shmops)
usr/src/uts/common/fs/proc/prsubr.c
4905
if (seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prsubr.c
4906
SEGOP_GETVP(seg, saddr, &vp) == 0 &&
usr/src/uts/common/fs/proc/prsubr.c
4925
seg->s_base)) != SHMID_NONE) {
usr/src/uts/common/fs/proc/prsubr.c
4938
SEGOP_INCORE(seg, saddr, naddr - saddr, parr);
usr/src/uts/common/fs/proc/prsubr.c
4952
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prsubr.c
5014
struct seg *seg;
usr/src/uts/common/fs/proc/prsubr.c
5015
struct seg *brkseg, *stkseg;
usr/src/uts/common/fs/proc/prsubr.c
5028
if ((seg = AS_SEGFIRST(as)) == NULL)
usr/src/uts/common/fs/proc/prsubr.c
5035
caddr_t eaddr = seg->s_base + pr_getsegsize(seg, 0);
usr/src/uts/common/fs/proc/prsubr.c
5043
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/fs/proc/prsubr.c
5052
for (saddr = seg->s_base; saddr < eaddr; saddr = baddr) {
usr/src/uts/common/fs/proc/prsubr.c
5053
prot = pr_getprot(seg, 0, &tmp, &saddr, &baddr, eaddr);
usr/src/uts/common/fs/proc/prsubr.c
5063
psz = pr_getpagesize(seg, saddr, &naddr, baddr);
usr/src/uts/common/fs/proc/prsubr.c
5070
mp->pr_offset = SEGOP_GETOFFSET(seg, saddr);
usr/src/uts/common/fs/proc/prsubr.c
5078
if (SEGOP_GETTYPE(seg, saddr) & MAP_SHARED)
usr/src/uts/common/fs/proc/prsubr.c
5080
if (SEGOP_GETTYPE(seg, saddr) & MAP_NORESERVE)
usr/src/uts/common/fs/proc/prsubr.c
5082
if (seg->s_ops == &segspt_shmops ||
usr/src/uts/common/fs/proc/prsubr.c
5083
(seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prsubr.c
5084
(SEGOP_GETVP(seg, saddr, &vp) != 0 ||
usr/src/uts/common/fs/proc/prsubr.c
5087
if (seg == brkseg)
usr/src/uts/common/fs/proc/prsubr.c
5089
else if (seg == stkseg)
usr/src/uts/common/fs/proc/prsubr.c
5091
if (seg->s_ops == &segspt_shmops)
usr/src/uts/common/fs/proc/prsubr.c
5106
if (seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prsubr.c
5107
SEGOP_GETVP(seg, saddr, &vp) == 0 &&
usr/src/uts/common/fs/proc/prsubr.c
5127
seg->s_base)) != SHMID_NONE) {
usr/src/uts/common/fs/proc/prsubr.c
5140
SEGOP_INCORE(seg, saddr, naddr - saddr, parr);
usr/src/uts/common/fs/proc/prsubr.c
5154
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prvnops.c
3991
struct seg *seg;
usr/src/uts/common/fs/proc/prvnops.c
4019
if ((seg = AS_SEGFIRST(as)) == NULL) {
usr/src/uts/common/fs/proc/prvnops.c
4032
if (seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prvnops.c
4033
SEGOP_GETVP(seg, seg->s_base, &vp) == 0 &&
usr/src/uts/common/fs/proc/prvnops.c
4044
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prvnops.c
4438
struct seg *seg;
usr/src/uts/common/fs/proc/prvnops.c
4527
if ((seg = AS_SEGFIRST(as)) != NULL) {
usr/src/uts/common/fs/proc/prvnops.c
4534
if (seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prvnops.c
4535
SEGOP_GETVP(seg, seg->s_base, &vp)
usr/src/uts/common/fs/proc/prvnops.c
4550
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/proc/prvnops.c
4553
if (seg == NULL) {
usr/src/uts/common/fs/proc/prvnops.c
5216
struct seg *seg;
usr/src/uts/common/fs/proc/prvnops.c
5232
(seg = AS_SEGFIRST(as)) == NULL) /* can't happen? */
usr/src/uts/common/fs/proc/prvnops.c
5246
if (seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/proc/prvnops.c
5247
SEGOP_GETVP(seg, seg->s_base, &vp) == 0 &&
usr/src/uts/common/fs/proc/prvnops.c
5258
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/fs/smbclnt/netsmb/smb_subrs.c
143
int len, seg;
usr/src/uts/common/fs/smbclnt/netsmb/smb_subrs.c
148
for (seg = 0; m; seg++) {
usr/src/uts/common/fs/smbclnt/netsmb/smb_subrs.c
149
DTRACE_PROBE2(mblk, int, seg, (mblk_t *), m);
usr/src/uts/common/fs/smbclnt/netsmb/smb_usr.c
63
static int smb_cpdatain(struct mbchain *mbp, int len, char *data, int seg);
usr/src/uts/common/fs/smbclnt/smbfs/smbfs_vnops.c
158
page_t *[], size_t, struct seg *, caddr_t,
usr/src/uts/common/fs/smbclnt/smbfs/smbfs_vnops.c
3684
page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/smbclnt/smbfs/smbfs_vnops.c
3734
if (off + len > np->r_size + PAGEOFFSET && seg != segkmap) {
usr/src/uts/common/fs/smbclnt/smbfs/smbfs_vnops.c
3742
pl, plsz, seg, addr, rw, cr);
usr/src/uts/common/fs/smbclnt/smbfs/smbfs_vnops.c
3776
page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/smbclnt/smbfs/smbfs_vnops.c
3835
PAGESIZE, PG_WAIT, seg, addr)) == NULL)
usr/src/uts/common/fs/smbclnt/smbfs/smbfs_vnops.c
3871
pp = pvn_read_kluster(vp, off, seg, addr, &io_off,
usr/src/uts/common/fs/smbclnt/smbfs/smbfs_vnops.c
3916
if (io_off >= np->r_size && seg == segkmap) {
usr/src/uts/common/fs/smbclnt/smbfs/smbfs_vnops.c
3941
if (seg == segkmap)
usr/src/uts/common/fs/specfs/specvnops.c
125
size_t, struct seg *, caddr_t, enum seg_rw, struct cred *,
usr/src/uts/common/fs/specfs/specvnops.c
132
page_t **, size_t, struct seg *, caddr_t, enum seg_rw, struct cred *);
usr/src/uts/common/fs/specfs/specvnops.c
1767
struct seg *seg,
usr/src/uts/common/fs/specfs/specvnops.c
1797
protp, pl, plsz, seg, addr, rw, cr);
usr/src/uts/common/fs/specfs/specvnops.c
1829
struct seg *seg,
usr/src/uts/common/fs/specfs/specvnops.c
1885
PAGESIZE, PG_WAIT, seg, addr)) == NULL) {
usr/src/uts/common/fs/specfs/specvnops.c
1906
pp = pvn_read_kluster(vp, off, seg, addr, &tmpoff,
usr/src/uts/common/fs/specfs/specvnops.c
1950
pp2 = pvn_read_kluster(vp, off2, seg, addr2, &tmpoff,
usr/src/uts/common/fs/swapfs/swap_vnops.c
114
struct seg *seg,
usr/src/uts/common/fs/swapfs/swap_vnops.c
128
pl, plsz, seg, addr, rw, cr));
usr/src/uts/common/fs/swapfs/swap_vnops.c
143
struct seg *seg,
usr/src/uts/common/fs/swapfs/swap_vnops.c
165
if (SEG_IS_SEGKP(seg))
usr/src/uts/common/fs/swapfs/swap_vnops.c
216
seg, addr);
usr/src/uts/common/fs/swapfs/swap_vnops.c
317
struct seg *seg,
usr/src/uts/common/fs/swapfs/swap_vnops.c
332
ASSERT(!SEG_IS_SEGKP(seg)); /* XXX for now not supported */
usr/src/uts/common/fs/swapfs/swap_vnops.c
342
seg, addr, rw, cr);
usr/src/uts/common/fs/swapfs/swap_vnops.c
369
seg->s_szc > conpp->p_szc) {
usr/src/uts/common/fs/swapfs/swap_vnops.c
370
*pszc = MIN(pp->p_szc, seg->s_szc);
usr/src/uts/common/fs/swapfs/swap_vnops.c
56
uint_t *protp, struct page **plarr, size_t plsz, struct seg *seg,
usr/src/uts/common/fs/swapfs/swap_vnops.c
67
struct seg *seg, caddr_t addr, enum seg_rw rw, struct cred *cr);
usr/src/uts/common/fs/swapfs/swap_vnops.c
71
uint_t *pszc, spgcnt_t *nreloc, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/tmpfs/tmp_vnops.c
1780
struct seg *seg,
usr/src/uts/common/fs/tmpfs/tmp_vnops.c
1829
pl, plsz, seg, addr, rw, cr);
usr/src/uts/common/fs/tmpfs/tmp_vnops.c
1853
struct seg *seg,
usr/src/uts/common/fs/tmpfs/tmp_vnops.c
1876
PG_WAIT | PG_EXCL, seg, addr);
usr/src/uts/common/fs/tmpfs/tmp_vnops.c
76
page_t **, size_t, struct seg *, caddr_t, enum seg_rw, struct cred *);
usr/src/uts/common/fs/udfs/udf_vnops.c
146
struct seg *, caddr_t, enum seg_rw, struct cred *, caller_context_t *);
usr/src/uts/common/fs/udfs/udf_vnops.c
164
size_t, struct seg *, caddr_t, page_t *pl[],
usr/src/uts/common/fs/udfs/udf_vnops.c
166
void ud_getpage_ra(struct vnode *, u_offset_t, struct seg *, caddr_t);
usr/src/uts/common/fs/udfs/udf_vnops.c
1668
struct seg *seg,
usr/src/uts/common/fs/udfs/udf_vnops.c
1715
if (beyond_eof && seg != segkmap) {
usr/src/uts/common/fs/udfs/udf_vnops.c
1827
ud_getpage_ra(vp, pgoff, seg, pgaddr);
usr/src/uts/common/fs/udfs/udf_vnops.c
1842
ud_getpage_ra(vp, pgoff, seg, pgaddr);
usr/src/uts/common/fs/udfs/udf_vnops.c
1860
seg, pgaddr, pl, plsz, rw, seqmode)) {
usr/src/uts/common/fs/udfs/udf_vnops.c
2343
int32_t len, offset_t offset, enum uio_seg seg, int32_t *aresid,
usr/src/uts/common/fs/udfs/udf_vnops.c
2360
auio.uio_segflg = (int16_t)seg;
usr/src/uts/common/fs/udfs/udf_vnops.c
2393
ud_getpage_miss(struct vnode *vp, u_offset_t off, size_t len, struct seg *seg,
usr/src/uts/common/fs/udfs/udf_vnops.c
2411
PAGESIZE, PG_WAIT, seg, addr)) == NULL) {
usr/src/uts/common/fs/udfs/udf_vnops.c
2417
pp = pvn_read_kluster(vp, off, seg, addr, &io_off,
usr/src/uts/common/fs/udfs/udf_vnops.c
2447
ud_getpage_ra(vp, off, seg, addr);
usr/src/uts/common/fs/udfs/udf_vnops.c
2457
ud_getpage_ra(struct vnode *vp, u_offset_t off, struct seg *seg, caddr_t addr)
usr/src/uts/common/fs/udfs/udf_vnops.c
2471
if (addr2 >= seg->s_base + seg->s_size) {
usr/src/uts/common/fs/udfs/udf_vnops.c
2480
pp = pvn_read_kluster(vp, io_off, seg, addr2,
usr/src/uts/common/fs/ufs/ufs_lockfs.c
1686
struct seg *seg,
usr/src/uts/common/fs/ufs/ufs_lockfs.c
1738
if (seg->s_ops == &segvn_ops &&
usr/src/uts/common/fs/ufs/ufs_lockfs.c
1739
((struct segvn_data *)seg->s_data)->type != MAP_SHARED) {
usr/src/uts/common/fs/ufs/ufs_vnops.c
105
static int ufs_getpage_ra(struct vnode *, u_offset_t, struct seg *, caddr_t);
usr/src/uts/common/fs/ufs/ufs_vnops.c
106
static int ufs_getpage_miss(struct vnode *, u_offset_t, size_t, struct seg *,
usr/src/uts/common/fs/ufs/ufs_vnops.c
157
struct page **, size_t, struct seg *, caddr_t,
usr/src/uts/common/fs/ufs/ufs_vnops.c
4175
ssize_t len, offset_t offset, enum uio_seg seg, int *aresid,
usr/src/uts/common/fs/ufs/ufs_vnops.c
4192
auio.uio_segflg = (short)seg;
usr/src/uts/common/fs/ufs/ufs_vnops.c
4401
page_t *plarr[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/ufs/ufs_vnops.c
4431
err = ufs_lockfs_begin_getpage(ufsvfsp, &ulp, seg,
usr/src/uts/common/fs/ufs/ufs_vnops.c
4446
if (seg->s_as != &kas) {
usr/src/uts/common/fs/ufs/ufs_vnops.c
4504
if (beyond_eof && seg != segkmap) {
usr/src/uts/common/fs/ufs/ufs_vnops.c
4624
(void) ufs_getpage_ra(vp, pgoff, seg, pgaddr);
usr/src/uts/common/fs/ufs/ufs_vnops.c
4638
retval = ufs_getpage_ra(vp, pgoff, seg, pgaddr);
usr/src/uts/common/fs/ufs/ufs_vnops.c
4666
if (err = ufs_getpage_miss(vp, pgoff, len, seg, pgaddr,
usr/src/uts/common/fs/ufs/ufs_vnops.c
4764
ufs_getpage_miss(struct vnode *vp, u_offset_t off, size_t len, struct seg *seg,
usr/src/uts/common/fs/ufs/ufs_vnops.c
4799
if ((pp = page_create_va(vp, off, PAGESIZE, PG_WAIT, seg,
usr/src/uts/common/fs/ufs/ufs_vnops.c
4827
pp = pvn_read_kluster(vp, off, seg, addr, &io_off,
usr/src/uts/common/fs/ufs/ufs_vnops.c
4873
(void) ufs_getpage_ra(vp, off, seg, addr);
usr/src/uts/common/fs/ufs/ufs_vnops.c
4891
ufs_getpage_ra(struct vnode *vp, u_offset_t off, struct seg *seg, caddr_t addr)
usr/src/uts/common/fs/ufs/ufs_vnops.c
4920
if (addr2 >= seg->s_base + seg->s_size)
usr/src/uts/common/fs/ufs/ufs_vnops.c
4938
if ((pp = pvn_read_kluster(vp, io_off, seg, addr2, &io_off,
usr/src/uts/common/fs/vnode.c
1035
vn_createat(pnamep, seg, &vattr, excl, mode, &vp, crwhy,
usr/src/uts/common/fs/vnode.c
1042
if (error = lookupnameat(pnamep, seg, follow,
usr/src/uts/common/fs/vnode.c
1325
enum uio_seg seg,
usr/src/uts/common/fs/vnode.c
1334
return (vn_createat(pnamep, seg, vap, excl, mode, vpp, why, flag,
usr/src/uts/common/fs/vnode.c
1344
enum uio_seg seg,
usr/src/uts/common/fs/vnode.c
1384
if (error = pn_get(pnamep, seg, &pn))
usr/src/uts/common/fs/vnode.c
1620
vn_link(char *from, char *to, enum uio_seg seg)
usr/src/uts/common/fs/vnode.c
1622
return (vn_linkat(NULL, from, NO_FOLLOW, NULL, to, seg));
usr/src/uts/common/fs/vnode.c
1627
vnode_t *tstartvp, char *to, enum uio_seg seg)
usr/src/uts/common/fs/vnode.c
1640
if (error = pn_get(to, seg, &pn))
usr/src/uts/common/fs/vnode.c
1644
if (error = lookupnameat(from, seg, follow, NULLVPP, &fvp, fstartvp))
usr/src/uts/common/fs/vnode.c
1686
vn_rename(char *from, char *to, enum uio_seg seg)
usr/src/uts/common/fs/vnode.c
1688
return (vn_renameat(NULL, from, NULL, to, seg));
usr/src/uts/common/fs/vnode.c
1693
char *tname, enum uio_seg seg)
usr/src/uts/common/fs/vnode.c
1712
if (error = pn_get(fname, seg, &fpn))
usr/src/uts/common/fs/vnode.c
1714
if (error = pn_get(tname, seg, &tpn)) {
usr/src/uts/common/fs/vnode.c
1835
vn_remove(char *fnamep, enum uio_seg seg, enum rm dirflag)
usr/src/uts/common/fs/vnode.c
1837
return (vn_removeat(NULL, fnamep, seg, dirflag));
usr/src/uts/common/fs/vnode.c
1841
vn_removeat(vnode_t *startvp, char *fnamep, enum uio_seg seg, enum rm dirflag)
usr/src/uts/common/fs/vnode.c
1855
if (error = pn_get(fnamep, seg, &pn))
usr/src/uts/common/fs/vnode.c
4090
struct seg *seg,
usr/src/uts/common/fs/vnode.c
4101
(vp, off, len, protp, plarr, plsz, seg, addr, rw, cr, ct);
usr/src/uts/common/fs/vnode.c
756
enum uio_seg seg,
usr/src/uts/common/fs/vnode.c
780
uio.uio_segflg = (short)seg;
usr/src/uts/common/fs/vnode.c
930
enum uio_seg seg,
usr/src/uts/common/fs/vnode.c
937
return (vn_openat(pnamep, seg, filemode, createmode, vpp, crwhy,
usr/src/uts/common/fs/vnode.c
951
enum uio_seg seg,
usr/src/uts/common/fs/zfs/metaslab.c
1333
range_seg_max_t seg = {0};
usr/src/uts/common/fs/zfs/metaslab.c
1334
rs_set_start(&seg, rt, start);
usr/src/uts/common/fs/zfs/metaslab.c
1335
rs_set_end(&seg, rt, start + size);
usr/src/uts/common/fs/zfs/metaslab.c
1336
metaslab_rt_add(rt, &seg, mrap);
usr/src/uts/common/fs/zfs/zfs_ctldir.c
742
static enum uio_seg seg = UIO_SYSSPACE;
usr/src/uts/common/fs/zfs/zfs_ctldir.c
759
err = lookupnameat(dirname, seg, follow, NULL, vpp, dvp);
usr/src/uts/common/fs/zfs/zfs_vnops.c
4988
zfs_fillpage(vnode_t *vp, u_offset_t off, struct seg *seg,
usr/src/uts/common/fs/zfs/zfs_vnops.c
5005
PG_EXCL | PG_WAIT, seg, addr);
usr/src/uts/common/fs/zfs/zfs_vnops.c
5010
pp = pvn_read_kluster(vp, off, seg, addr, &io_off,
usr/src/uts/common/fs/zfs/zfs_vnops.c
5084
page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/fs/zfs/zfs_vnops.c
5115
else if (err = zfs_fillpage(vp, off, seg, addr, pl, plsz, rw))
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
384
av1394_isoch_seg_t *seg;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
420
seg = &pool->ip_seg[i];
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
422
seg->is_umem_size = ptob(btopr(segsz));
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
423
seg->is_kaddr = ddi_umem_alloc(seg->is_umem_size,
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
424
DDI_UMEM_SLEEP, &seg->is_umem_cookie);
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
425
if (seg->is_kaddr == NULL) {
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
428
seg->is_size = segsz;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
430
pool->ip_size += seg->is_size;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
431
pool->ip_umem_size += seg->is_umem_size;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
514
av1394_isoch_seg_t *seg;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
518
seg = &pool->ip_seg[i];
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
519
if (seg->is_dma_hdl != NULL) {
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
520
if (seg->is_dma_ncookies > 0) {
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
521
(void) ddi_dma_unbind_handle(seg->is_dma_hdl);
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
523
ddi_dma_free_handle(&seg->is_dma_hdl);
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
537
int seg; /* index of segment to sync */
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
543
seg = idx / fps;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
546
(void) ddi_dma_sync(pool->ip_seg[seg].is_dma_hdl, 0,
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
553
++seg;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
554
if (seg == pool->ip_nsegs)
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_chan.c
555
seg = 0; /* wrap segment index */
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_recv.c
766
av1394_isoch_seg_t *seg = irp->ir_data_pool.ip_seg;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_recv.c
780
bs = *(uchar_t *)(seg[idx].is_kaddr + 1) * 4 + AV1394_CIPSZ;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_recv.c
786
kaddr = kaddr_begin = seg[idx].is_kaddr + irp->ir_read_off;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_recv.c
845
av1394_isoch_seg_t *seg = irp->ir_data_pool.ip_seg;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_recv.c
851
kaddr = seg[idx].is_kaddr + AV1394_CIPSZ;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_recv.c
852
kaddr_end = seg[idx].is_kaddr + icp->ic_framesz;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_xmit.c
1066
av1394_isoch_seg_t *seg = itp->it_data_pool.ip_seg;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_xmit.c
1070
bcopy(buf, seg[itp->it_write_idx].is_kaddr + itp->it_write_off, len);
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_xmit.c
1081
av1394_isoch_seg_t *seg = itp->it_data_pool.ip_seg;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_xmit.c
1091
kaddr = seg[idx].is_kaddr + itp->it_write_off;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_xmit.c
1108
kaddr = seg[idx].is_kaddr;
usr/src/uts/common/io/1394/targets/av1394/av1394_isoch_xmit.c
1118
bcopy(kaddr, seg[idx].is_kaddr, start_resid);
usr/src/uts/common/io/1394/targets/scsa1394/hba.c
1661
scsa1394_cmd_seg_t *seg;
usr/src/uts/common/io/1394/targets/scsa1394/hba.c
1709
seg = &cmd->sc_buf_seg[cmd->sc_buf_nsegs];
usr/src/uts/common/io/1394/targets/scsa1394/hba.c
1710
seg->ss_len = min(dmac_resid, segsize_max);
usr/src/uts/common/io/1394/targets/scsa1394/hba.c
1711
seg->ss_daddr = (uint64_t)dmac_addr;
usr/src/uts/common/io/1394/targets/scsa1394/hba.c
1712
dmac_addr += seg->ss_len;
usr/src/uts/common/io/1394/targets/scsa1394/hba.c
1713
dmac_resid -= seg->ss_len;
usr/src/uts/common/io/1394/targets/scsa1394/hba.c
1826
scsa1394_cmd_seg_t *seg;
usr/src/uts/common/io/1394/targets/scsa1394/hba.c
1843
seg = &cmd->sc_buf_seg[i];
usr/src/uts/common/io/1394/targets/scsa1394/hba.c
1846
aa.aa_length = seg->ss_len;
usr/src/uts/common/io/1394/targets/scsa1394/hba.c
1847
aa.aa_address = seg->ss_daddr;
usr/src/uts/common/io/1394/targets/scsa1394/hba.c
1855
seg->ss_baddr = aa.aa_address;
usr/src/uts/common/io/1394/targets/scsa1394/hba.c
1856
seg->ss_addr_hdl = aa.aa_hdl;
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
472
scsa1394_cmd_seg_t *seg;
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
476
seg = &cmd->sc_buf_seg[0];
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
478
pt->pt_seg_len = SBP2_SWAP16(seg->ss_len);
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
479
pt->pt_seg_base_hi = SBP2_SWAP16(seg->ss_baddr >> 32);
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
480
pt->pt_seg_base_lo = SBP2_SWAP32(seg->ss_baddr & 0xFFFFFFFF);
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
483
seg++;
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
498
scsa1394_cmd_seg_t *seg;
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
512
seg = &cmd->sc_buf_seg[0];
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
514
while (skiplen + seg->ss_len <= dataoff) {
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
515
skiplen += seg->ss_len;
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
516
seg++;
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
524
ASSERT(seg->ss_len <= scsa1394_symbios_page_size);
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
526
seglen = min(seg->ss_len, resid) - segoff;
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
527
baddr = seg->ss_baddr + segoff;
usr/src/uts/common/io/1394/targets/scsa1394/sbp2_driver.c
537
seg++;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_clock.c
1279
MEMSEG *seg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_clock.c
1292
seg = hba->memseg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_clock.c
1293
for (i = 0; i < FC_MAX_SEG; i++, seg++) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_clock.c
1294
if (seg->fc_memflag & FC_MEMSEG_DYNAMIC) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_clock.c
1295
emlxs_mem_pool_clean(hba, seg);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_clock.c
1313
seg = port->fct_memseg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_clock.c
1314
for (j = 0; j < port->fct_memseg_cnt; j++, seg++) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_clock.c
1315
if (seg->fc_memflag & FC_MEMSEG_DYNAMIC) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_clock.c
1316
emlxs_mem_pool_clean(hba, seg);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
734
uint32_t seg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
743
seg = MEM_BUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
746
seg = MEM_IPBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
749
seg = MEM_CTBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
754
seg = MEM_FCTBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
785
if ((mp = (MATCHMAP *)emlxs_mem_get(hba, seg))
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
791
emlxs_mem_put(hba, seg,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5000
emlxs_memseg_t *seg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5155
seg = port->fct_memseg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5156
for (i = 0; i < fct_memseg_cnt; i++, seg++) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5177
seg->fc_memsize = next->fc_memsize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5178
seg->fc_numblks = next->fc_numblks;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5186
seg = port->fct_memseg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5187
for (i = 0; i < port->fct_memseg_cnt; i++, seg++) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5191
(void) snprintf(seg->fc_label, sizeof (seg->fc_label),
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5192
"FCT_DMEM_%d", seg->fc_memsize);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5194
seg->fc_memtag = MEM_FCTSEG + i;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5195
seg->fc_memflag = FC_MBUF_DMA | FC_MBUF_SNGLSG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5196
seg->fc_memalign = 32;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5197
seg->fc_hi_water = 0xFFFF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5198
seg->fc_lo_water = seg->fc_numblks;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5199
seg->fc_numblks = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5200
seg->fc_step = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5212
emlxs_memseg_t *seg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5225
seg = port->fct_memseg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5226
for (i = 0; i < port->fct_memseg_cnt; i++, seg++) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5228
(void) emlxs_mem_pool_create(hba, seg);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5230
if (seg->fc_numblks < seg->fc_lo_water) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5233
seg->fc_label, seg->fc_numblks,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5234
seg->fc_memsize, seg->fc_memflag, seg->fc_lo_water,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5235
seg->fc_hi_water);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5248
emlxs_memseg_t *seg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5258
seg = port->fct_memseg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5259
for (i = 0; i < port->fct_memseg_cnt; i++, seg++) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5260
(void) emlxs_mem_pool_destroy(hba, seg);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5283
emlxs_memseg_t *seg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5294
seg = &port->fct_memseg[port->fct_memseg_cnt-1];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5295
if (size > seg->fc_memsize) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5300
seg = port->fct_memseg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5301
for (i = 0; i < port->fct_memseg_cnt; i++, seg++) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5302
if (seg->fc_memsize < size) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5306
mp = (MATCHMAP*)emlxs_mem_pool_get(hba, seg);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5313
seg = &port->fct_memseg[port->fct_memseg_cnt-1];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5317
for (i = port->fct_memseg_cnt-1; i >= 0; i--, seg--) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5318
if (seg->fc_memsize < *pminsize) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5319
minsize = seg->fc_memsize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c
5323
mp = (MATCHMAP*)emlxs_mem_pool_get(hba, seg);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
100
sizeof (seg->fc_label));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1002
if (seg->fc_memflag & FC_MBUF_DMA) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1006
(mp->segment != seg)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1009
"tag=0x%x flag=%x", seg->fc_label,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
101
seg->fc_memtag = MEM_MBOX;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
102
seg->fc_memsize = sizeof (MAILBOXQ);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1024
if (seg->fc_memput_end == NULL) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1025
seg->fc_memput_ptr = bp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1026
seg->fc_memput_cnt = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1028
*((void **)(seg->fc_memput_end)) = bp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1029
seg->fc_memput_cnt++;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
103
seg->fc_hi_water = hba->max_nodes + 32;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1031
seg->fc_memput_end = bp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1038
if ((seg->fc_memflag & FC_MEMSEG_PUT_ENABLED) &&
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1039
!(seg->fc_memflag & FC_MEMSEG_GET_ENABLED)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
104
seg->fc_lo_water = 32;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1040
emlxs_mem_pool_destroy(hba, seg);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
105
seg->fc_step = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
112
(void) strlcpy(seg->fc_label, "BPL Pool",
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
113
sizeof (seg->fc_label));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
114
seg->fc_memtag = MEM_BPL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1148
MEMSEG *seg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
115
seg->fc_memsize = hba->sli.sli3.mem_bpl_size;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1158
seg = &hba->memseg[seg_id];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
116
seg->fc_memflag = FC_MBUF_DMA | FC_MBUF_SNGLSG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1161
bp = emlxs_mem_pool_get(hba, seg);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
117
seg->fc_memalign = 32;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
118
seg->fc_hi_water = hba->max_iotag;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
119
seg->fc_lo_water = cfg[CFG_NUM_IOCBS].low;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1194
MEMSEG *seg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
120
seg->fc_step = cfg[CFG_NUM_IOCBS].low;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1205
seg = &hba->memseg[seg_id];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
125
(void) strlcpy(seg->fc_label, "BUF Pool",
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
1258
emlxs_mem_pool_put(hba, seg, bp);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
126
sizeof (seg->fc_label));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
127
seg->fc_memtag = MEM_BUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
128
seg->fc_memsize = MEM_BUF_SIZE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
129
seg->fc_memflag = FC_MBUF_DMA | FC_MBUF_SNGLSG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
130
seg->fc_memalign = 32;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
131
seg->fc_hi_water = MEM_ELSBUF_COUNT + MEM_BUF_COUNT;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
132
seg->fc_lo_water = MEM_ELSBUF_COUNT;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
133
seg->fc_step = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
142
(void) strlcpy(seg->fc_label, "IPBUF Pool",
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
143
sizeof (seg->fc_label));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
144
seg->fc_memtag = MEM_IPBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
145
seg->fc_memsize = MEM_IPBUF_SIZE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
146
seg->fc_memflag = FC_MBUF_DMA | FC_MBUF_SNGLSG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
147
seg->fc_memalign = 32;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
148
seg->fc_hi_water = MEM_IPBUF_COUNT;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
149
seg->fc_lo_water = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
150
seg->fc_step = 4;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
155
(void) strlcpy(seg->fc_label, "CTBUF Pool",
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
156
sizeof (seg->fc_label));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
157
seg->fc_memtag = MEM_CTBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
158
seg->fc_memsize = MEM_CTBUF_SIZE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
159
seg->fc_memflag = FC_MBUF_DMA | FC_MBUF_SNGLSG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
160
seg->fc_memalign = 32;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
161
seg->fc_hi_water = MEM_CTBUF_COUNT;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
162
seg->fc_lo_water = MEM_CTBUF_COUNT;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
163
seg->fc_step = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
167
(void) strlcpy(seg->fc_label, "1K SGL Pool",
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
168
sizeof (seg->fc_label));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
169
seg->fc_memtag = MEM_SGL1K;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
170
seg->fc_memsize = 0x400;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
171
seg->fc_memflag = FC_MBUF_DMA | FC_MBUF_SNGLSG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
172
seg->fc_memalign = 32;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
173
seg->fc_hi_water = 0x5000;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
174
seg->fc_lo_water = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
175
seg->fc_step = 0x100;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
179
(void) strlcpy(seg->fc_label, "2K SGL Pool",
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
180
sizeof (seg->fc_label));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
181
seg->fc_memtag = MEM_SGL2K;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
182
seg->fc_memsize = 0x800;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
183
seg->fc_memflag = FC_MBUF_DMA | FC_MBUF_SNGLSG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
184
seg->fc_memalign = 32;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
185
seg->fc_hi_water = 0x5000;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
186
seg->fc_lo_water = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
187
seg->fc_step = 0x100;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
191
(void) strlcpy(seg->fc_label, "4K SGL Pool",
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
192
sizeof (seg->fc_label));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
193
seg->fc_memtag = MEM_SGL4K;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
194
seg->fc_memsize = 0x1000;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
195
seg->fc_memflag = FC_MBUF_DMA | FC_MBUF_SNGLSG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
196
seg->fc_memalign = 32;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
197
seg->fc_hi_water = 0x5000;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
198
seg->fc_lo_water = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
199
seg->fc_step = 0x100;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
209
(void) strlcpy(seg->fc_label, "FCTBUF Pool",
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
210
sizeof (seg->fc_label));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
211
seg->fc_memtag = MEM_FCTBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
212
seg->fc_memsize = MEM_FCTBUF_SIZE;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
213
seg->fc_memflag = FC_MBUF_DMA | FC_MBUF_SNGLSG;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
214
seg->fc_memalign = 32;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
215
seg->fc_hi_water = MEM_FCTBUF_COUNT;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
216
seg->fc_lo_water = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
217
seg->fc_step = 8;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
225
if (seg->fc_memsize == 0) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
229
(void) emlxs_mem_pool_create(hba, seg);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
231
if (seg->fc_numblks < seg->fc_lo_water) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
234
seg->fc_label, seg->fc_numblks,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
235
seg->fc_memsize, seg->fc_memflag, seg->fc_lo_water,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
236
seg->fc_hi_water);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
243
seg = &hba->memseg[MEM_BPL];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
247
!(seg->fc_memflag & FC_MEMSEG_DYNAMIC)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
36
static uint32_t emlxs_mem_pool_alloc(emlxs_hba_t *hba, MEMSEG *seg,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
38
static void emlxs_mem_pool_free(emlxs_hba_t *hba, MEMSEG *seg, uint32_t count);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
412
emlxs_mem_pool_alloc(emlxs_hba_t *hba, MEMSEG *seg, uint32_t count)
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
422
if (seg->fc_memsize == 0) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
426
if (seg->fc_numblks >= seg->fc_hi_water) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
434
if (count > (seg->fc_hi_water - seg->fc_numblks)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
435
count = (seg->fc_hi_water - seg->fc_numblks);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
439
fc_numblks = seg->fc_numblks;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
442
if (!(seg->fc_memflag & FC_MEMSEG_PUT_ENABLED)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
445
seg->fc_label, count, seg->fc_numblks,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
446
seg->fc_memsize, seg->fc_memflag,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
447
seg->fc_lo_water, seg->fc_hi_water, seg->fc_step,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
448
seg->fc_memget_cnt, seg->fc_low);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
451
if (!(seg->fc_memflag & FC_MBUF_DMA)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
466
seg->fc_label, seg->fc_numblks, seg->fc_memsize);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
47
MEMSEG *seg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
475
buf_info->size = seg->fc_memsize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
476
buf_info->flags = seg->fc_memflag;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
477
buf_info->align = seg->fc_memalign;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
483
seg->fc_label, seg->fc_numblks, seg->fc_memsize);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
494
bzero(bp, seg->fc_memsize);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
501
mp->tag = seg->fc_memtag;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
502
mp->segment = seg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
523
if (seg->fc_memget_end == NULL) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
524
seg->fc_memget_ptr = (uint8_t *)mp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
525
seg->fc_memget_cnt = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
527
*((uint8_t **)(seg->fc_memget_end)) = (uint8_t *)mp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
528
seg->fc_memget_cnt++;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
530
seg->fc_memget_end = (uint8_t *)mp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
532
seg->fc_numblks++;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
533
seg->fc_total_memsize += (seg->fc_memsize + sizeof (MATCHMAP));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
542
buf_info->size = seg->fc_memsize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
548
seg->fc_label, seg->fc_numblks, seg->fc_memsize);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
555
if (seg->fc_memget_end == NULL) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
556
seg->fc_memget_ptr = (uint8_t *)bp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
557
seg->fc_memget_cnt = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
559
*((uint8_t **)(seg->fc_memget_end)) = (uint8_t *)bp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
560
seg->fc_memget_cnt++;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
562
seg->fc_memget_end = (uint8_t *)bp;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
564
seg->fc_numblks++;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
565
seg->fc_total_memsize += seg->fc_memsize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
570
return ((seg->fc_numblks - fc_numblks));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
577
emlxs_mem_pool_free(emlxs_hba_t *hba, MEMSEG *seg, uint32_t count)
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
585
if ((seg->fc_memsize == 0) ||
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
586
(seg->fc_numblks == 0) ||
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
592
if (count > seg->fc_numblks) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
593
count = seg->fc_numblks;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
597
if (seg->fc_memput_ptr) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
598
if (seg->fc_memget_end == NULL) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
599
seg->fc_memget_ptr = seg->fc_memput_ptr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
601
*((uint8_t **)(seg->fc_memget_end)) =\
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
602
seg->fc_memput_ptr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
604
seg->fc_memget_end = seg->fc_memput_end;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
605
seg->fc_memget_cnt += seg->fc_memput_cnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
607
seg->fc_memput_ptr = NULL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
608
seg->fc_memput_end = NULL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
609
seg->fc_memput_cnt = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
615
if (!(seg->fc_memflag & FC_MEMSEG_GET_ENABLED)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
619
seg->fc_label, count, seg->fc_numblks,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
620
seg->fc_memsize, seg->fc_memflag, seg->fc_lo_water,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
621
seg->fc_hi_water, seg->fc_step, seg->fc_memget_cnt,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
622
seg->fc_low);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
625
if (!(seg->fc_memflag & FC_MBUF_DMA)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
630
while (count && ((bp = seg->fc_memget_ptr) != NULL)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
632
if (seg->fc_memget_end == bp) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
633
seg->fc_memget_ptr = NULL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
634
seg->fc_memget_end = NULL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
635
seg->fc_memget_cnt = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
638
seg->fc_memget_ptr = *((uint8_t **)bp);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
639
seg->fc_memget_cnt--;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
656
buf_info->flags = seg->fc_memflag;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
665
seg->fc_numblks--;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
666
seg->fc_total_memsize -= (seg->fc_memsize + sizeof (MATCHMAP));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
676
while (count && ((bp = seg->fc_memget_ptr) != NULL)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
678
if (seg->fc_memget_end == bp) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
679
seg->fc_memget_ptr = NULL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
680
seg->fc_memget_end = NULL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
681
seg->fc_memget_cnt = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
684
seg->fc_memget_ptr = *((uint8_t **)bp);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
685
seg->fc_memget_cnt--;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
690
buf_info->size = seg->fc_memsize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
694
seg->fc_numblks--;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
695
seg->fc_total_memsize -= seg->fc_memsize;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
706
emlxs_mem_pool_create(emlxs_hba_t *hba, MEMSEG *seg)
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
713
if (seg->fc_memsize == 0) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
721
if (seg->fc_lo_water > seg->fc_hi_water) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
722
seg->fc_hi_water = seg->fc_lo_water;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
727
seg->fc_lo_water = seg->fc_hi_water;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
732
if (seg->fc_lo_water != seg->fc_hi_water) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
733
seg->fc_memflag |= FC_MEMSEG_DYNAMIC;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
735
if (seg->fc_step == 0) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
736
seg->fc_step = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
739
seg->fc_step = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
742
seg->fc_numblks = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
743
seg->fc_total_memsize = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
744
seg->fc_low = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
746
(void) emlxs_mem_pool_alloc(hba, seg, seg->fc_lo_water);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
748
seg->fc_memflag |= (FC_MEMSEG_PUT_ENABLED|FC_MEMSEG_GET_ENABLED);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
75
seg = &hba->memseg[i];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
753
return (seg->fc_numblks);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
759
emlxs_mem_pool_destroy(emlxs_hba_t *hba, MEMSEG *seg)
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
766
if (seg->fc_memsize == 0) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
773
seg->fc_memflag &= ~FC_MEMSEG_GET_ENABLED;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
776
emlxs_mem_pool_free(hba, seg, seg->fc_numblks);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
778
if (seg->fc_numblks) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
782
seg->fc_label, seg->fc_numblks);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
786
seg->fc_label);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
789
bzero(seg, sizeof (MEMSEG));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
79
(void) strlcpy(seg->fc_label, "Node Pool",
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
80
sizeof (seg->fc_label));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
801
emlxs_mem_pool_clean(emlxs_hba_t *hba, MEMSEG *seg)
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
81
seg->fc_memtag = MEM_NLP;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
811
if (!(seg->fc_memflag & FC_MEMSEG_DYNAMIC)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
817
if (!(seg->fc_memflag & FC_MEMSEG_GET_ENABLED)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
82
seg->fc_memsize = sizeof (NODELIST);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
825
seg->fc_label, seg->fc_numblks,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
826
seg->fc_memsize, seg->fc_memflag, seg->fc_lo_water,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
827
seg->fc_hi_water, seg->fc_step, seg->fc_memget_cnt,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
828
seg->fc_low);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
83
seg->fc_hi_water = hba->max_nodes + 2;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
832
free_count = (seg->fc_memget_cnt + seg->fc_memput_cnt);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
835
clean_count = seg->fc_low;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
836
seg->fc_low = free_count;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
839
if (seg->fc_numblks <= seg->fc_lo_water) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
84
seg->fc_lo_water = 2;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
85
seg->fc_step = 1;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
850
if (seg->fc_numblks > 66) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
851
free_pad = ((seg->fc_numblks * 3)/100);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
864
if (clean_count > (seg->fc_numblks - seg->fc_lo_water)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
865
clean_count = (seg->fc_numblks - seg->fc_lo_water);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
868
emlxs_mem_pool_free(hba, seg, clean_count);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
871
if (seg->fc_last != seg->fc_numblks) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
875
seg->fc_label, seg->fc_last, seg->fc_numblks,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
876
seg->fc_memsize, seg->fc_memflag, seg->fc_lo_water,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
877
seg->fc_hi_water, seg->fc_step, seg->fc_memget_cnt,
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
878
seg->fc_low);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
880
seg->fc_last = seg->fc_numblks;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
89
(void) strlcpy(seg->fc_label, "IOCB Pool",
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
891
emlxs_mem_pool_get(emlxs_hba_t *hba, MEMSEG *seg)
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
90
sizeof (seg->fc_label));
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
901
if (!(seg->fc_memflag & FC_MEMSEG_GET_ENABLED)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
907
if (!seg->fc_memget_ptr) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
909
if (seg->fc_memput_ptr) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
91
seg->fc_memtag = MEM_IOCB;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
913
seg->fc_memget_ptr = seg->fc_memput_ptr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
914
seg->fc_memget_end = seg->fc_memput_end;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
915
seg->fc_memget_cnt = seg->fc_memput_cnt;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
916
seg->fc_memput_ptr = NULL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
917
seg->fc_memput_end = NULL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
918
seg->fc_memput_cnt = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
92
seg->fc_memsize = sizeof (IOCBQ);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
925
if (!seg->fc_memget_ptr &&
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
926
(seg->fc_memflag & FC_MEMSEG_DYNAMIC)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
927
(void) emlxs_mem_pool_alloc(hba, seg, seg->fc_step);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
928
seg->fc_low = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
93
seg->fc_hi_water = cfg[CFG_NUM_IOCBS].current;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
932
if (!seg->fc_memget_ptr) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
934
"%s empty.", seg->fc_label);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
94
seg->fc_lo_water = cfg[CFG_NUM_IOCBS].low;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
941
bp = seg->fc_memget_ptr;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
943
if (seg->fc_memget_end == bp) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
944
seg->fc_memget_ptr = NULL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
945
seg->fc_memget_end = NULL;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
946
seg->fc_memget_cnt = 0;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
949
seg->fc_memget_ptr = *((uint8_t **)bp);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
95
seg->fc_step = cfg[CFG_NUM_IOCBS].low;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
950
seg->fc_memget_cnt--;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
954
if (!(seg->fc_memflag & FC_MBUF_DMA)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
955
bzero(bp, seg->fc_memsize);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
963
if (seg->fc_memflag & FC_MEMSEG_DYNAMIC) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
964
free_count = (seg->fc_memget_cnt + seg->fc_memput_cnt);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
965
if (free_count < seg->fc_low) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
966
seg->fc_low = free_count;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
978
emlxs_mem_pool_put(emlxs_hba_t *hba, MEMSEG *seg, void *bp)
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
987
if (!(seg->fc_memflag & FC_MEMSEG_PUT_ENABLED)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
99
(void) strlcpy(seg->fc_label, "MBOX Pool",
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
993
if ((seg->fc_memput_end == bp) || (seg->fc_memget_end == bp)) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
995
"%s: Freeing free object: bp=%p", seg->fc_label, bp);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6363
uint32_t seg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6370
seg = MEM_ELSBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6378
seg = MEM_IPBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6386
seg = MEM_CTBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6395
seg = MEM_FCTBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6449
seg)) == 0) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6514
uint32_t seg;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6519
seg = MEM_ELSBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6524
seg = MEM_IPBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6529
seg = MEM_CTBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6535
seg = MEM_FCTBUF;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6549
emlxs_mem_put(hba, seg,
usr/src/uts/common/io/ib/ibnex/ibnex.c
72
dev_info_t *, struct hat *, struct seg *,
usr/src/uts/common/io/ib/ibnex/ibnex.c
899
struct seg *seg, caddr_t addr, struct devpage *dp, pfn_t pfn,
usr/src/uts/common/io/ib/ibnex/ibnex_hca.c
58
dev_info_t *, struct hat *, struct seg *,
usr/src/uts/common/io/ib/mgt/ibmf/ibmf_rmpp.c
1056
msgimplp, tnf_opaque, seg, b2h32(rmpp_hdr->rmpp_segnum),
usr/src/uts/common/io/ib/mgt/ibmf/ibmf_wqe.c
47
#define IBMF_INIT_RMPP_HDR(hdrp, ver, type, respt, flg, status, seg, lennwl) { \
usr/src/uts/common/io/ib/mgt/ibmf/ibmf_wqe.c
53
(hdrp)->rmpp_segnum = (h2b32(seg)); \
usr/src/uts/common/io/mac/mac_util.c
1043
seg = 1;
usr/src/uts/common/io/mac/mac_util.c
1046
__dtrace_tcp_tcph_t *, ntcph, uint_t, mss, int_t, seg);
usr/src/uts/common/io/mac/mac_util.c
1047
seg++;
usr/src/uts/common/io/mac/mac_util.c
1065
for (; seg < nsegs; seg++) {
usr/src/uts/common/io/mac/mac_util.c
1133
__dtrace_tcp_tcph_t *, ntcph, uint_t, mss, uint_t, seg);
usr/src/uts/common/io/mac/mac_util.c
1141
ASSERT3U(seg, ==, nsegs);
usr/src/uts/common/io/mac/mac_util.c
1186
__dtrace_tcp_tcph_t *, ntcph, uint_t, len, uint_t, seg);
usr/src/uts/common/io/mac/mac_util.c
709
uint_t nsegs, seg;
usr/src/uts/common/io/mem.c
341
struct seg *seg;
usr/src/uts/common/io/mem.c
345
seg = as_segat(as, va);
usr/src/uts/common/io/mem.c
346
i = (seg != NULL)? SEGOP_CAPABLE(seg, S_CAPABILITY_NOMINFLT) : 0;
usr/src/uts/common/io/mem.c
513
struct seg *seg;
usr/src/uts/common/io/mem.c
562
for (seg = AS_SEGFIRST(as); seg != NULL;
usr/src/uts/common/io/mem.c
563
seg = AS_SEGNEXT(as, seg))
usr/src/uts/common/io/mem.c
565
(uintptr_t)seg->s_base < seg->s_size)
usr/src/uts/common/io/mem.c
567
if (seg != NULL)
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1548
mlxcx_wqe_data_seg_t *seg;
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1614
seg = ent0->mlsqe_data;
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1630
seg = ent->mlsqe_data;
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1636
seg->mlds_lkey = to_be32(mlxp->mlx_rsvd_lkey);
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1638
seg->mlds_byte_count = to_be32(rem);
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1641
seg->mlds_byte_count = to_be32(c->dmac_size);
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1644
seg->mlds_address = to_be64(c->dmac_laddress);
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1645
++seg;
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1664
for (; ptri < nptr; ++ptri, ++seg) {
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1665
seg->mlds_lkey = to_be32(MLXCX_NULL_LKEY);
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1666
seg->mlds_byte_count = to_be32(0);
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1667
seg->mlds_address = to_be64(0);
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1729
mlxcx_wqe_data_seg_t *seg;
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1761
seg = &ent->mlrqe_data[ptri++];
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1762
seg->mlds_lkey = to_be32(mlxp->mlx_rsvd_lkey);
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1763
seg->mlds_byte_count = to_be32(c->dmac_size);
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1764
seg->mlds_address = to_be64(c->dmac_laddress);
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1771
seg = &ent->mlrqe_data[ptri];
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1772
seg->mlds_lkey = to_be32(MLXCX_NULL_LKEY);
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1773
seg->mlds_byte_count = to_be32(0);
usr/src/uts/common/io/mlxcx/mlxcx_ring.c
1774
seg->mlds_address = to_be64(0);
usr/src/uts/common/io/physmem.c
644
page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr, enum seg_rw rw,
usr/src/uts/common/io/physmem.c
650
ASSERT(AS_READ_HELD(seg->s_as));
usr/src/uts/common/io/physmem.c
97
uint_t *protp, page_t *pl[], size_t plsz, struct seg *seg, caddr_t addr,
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
2301
u32 proto, seg, total_lines, i, shadow_line;
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
2310
seg = ECORE_CXT_FCOE_TID_SEG;
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
2314
seg = ECORE_CXT_ISCSI_TID_SEG;
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
2325
p_seg_info = &p_mngr->conn_cfg[proto].tid_seg[seg];
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
2329
p_fl_seg = &p_cli->pf_blks[CDUT_FL_SEG_BLK(seg, PF)];
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
2588
u32 proto, seg;
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
2597
seg = ECORE_CXT_FCOE_TID_SEG;
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
2601
seg = ECORE_CXT_ISCSI_TID_SEG;
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
2612
p_seg_info = &p_mngr->conn_cfg[proto].tid_seg[seg];
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
2615
p_seg = &p_cli->pf_blks[CDUT_SEG_BLK(seg)];
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
2620
p_seg = &p_cli->pf_blks[CDUT_FL_SEG_BLK(seg, PF)];
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
444
u32 seg)
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
453
if (p_cfg->conn_cfg[i].tid_seg[seg].count)
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
454
return &p_cfg->conn_cfg[i].tid_seg[seg];
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
510
u8 seg,
usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_cxt.c
516
struct ecore_tid_seg *p_seg = &p_mngr->conn_cfg[proto].tid_seg[seg];
usr/src/uts/common/io/ramdisk.c
314
struct seg kseg;
usr/src/uts/common/io/rsm/rsm.c
1744
rsmsharecv_signal(rsmseg_t *seg, int oldstate, int newstate)
usr/src/uts/common/io/rsm/rsm.c
1746
ASSERT(rsmsharelock_held(seg));
usr/src/uts/common/io/rsm/rsm.c
1748
if (seg->s_share->rsmsi_state == oldstate) {
usr/src/uts/common/io/rsm/rsm.c
1749
seg->s_share->rsmsi_state = newstate;
usr/src/uts/common/io/rsm/rsm.c
1750
cv_broadcast(&seg->s_share->rsmsi_cv);
usr/src/uts/common/io/rsm/rsm.c
1833
rsmseg_free(rsmseg_t *seg)
usr/src/uts/common/io/rsm/rsm.c
1841
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
1842
if (seg->s_ckl != NULL) {
usr/src/uts/common/io/rsm/rsm.c
1844
seg->s_state = RSM_STATE_END;
usr/src/uts/common/io/rsm/rsm.c
1845
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
1851
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
1853
ASSERT(seg->s_state == RSM_STATE_END || seg->s_state == RSM_STATE_NEW);
usr/src/uts/common/io/rsm/rsm.c
1860
if (seg->s_share != NULL) {
usr/src/uts/common/io/rsm/rsm.c
1862
ASSERT(seg->s_type == RSM_RESOURCE_IMPORT_SEGMENT);
usr/src/uts/common/io/rsm/rsm.c
1864
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
1866
ASSERT(seg->s_share->rsmsi_refcnt > 0);
usr/src/uts/common/io/rsm/rsm.c
1868
seg->s_share->rsmsi_refcnt--;
usr/src/uts/common/io/rsm/rsm.c
1870
if (seg->s_share->rsmsi_refcnt == 0) {
usr/src/uts/common/io/rsm/rsm.c
1871
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
1872
mutex_destroy(&seg->s_share->rsmsi_lock);
usr/src/uts/common/io/rsm/rsm.c
1873
cv_destroy(&seg->s_share->rsmsi_cv);
usr/src/uts/common/io/rsm/rsm.c
1874
kmem_free((void *)(seg->s_share),
usr/src/uts/common/io/rsm/rsm.c
1877
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
1883
seg->s_share = NULL;
usr/src/uts/common/io/rsm/rsm.c
1886
cv_destroy(&seg->s_cv);
usr/src/uts/common/io/rsm/rsm.c
1887
mutex_destroy(&seg->s_lock);
usr/src/uts/common/io/rsm/rsm.c
1888
rsmacl_free(seg->s_acl, seg->s_acl_len);
usr/src/uts/common/io/rsm/rsm.c
1889
rsmpiacl_free(seg->s_acl_in, seg->s_acl_len);
usr/src/uts/common/io/rsm/rsm.c
1890
if (seg->s_adapter)
usr/src/uts/common/io/rsm/rsm.c
1891
rsmka_release_adapter(seg->s_adapter);
usr/src/uts/common/io/rsm/rsm.c
1893
kmem_free((void *)seg, sizeof (*seg));
usr/src/uts/common/io/rsm/rsm.c
1999
rsmseg_close(rsmseg_t *seg, int force_flag)
usr/src/uts/common/io/rsm/rsm.c
2007
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
2008
if (!force_flag && (seg->s_hdr.rsmrc_type ==
usr/src/uts/common/io/rsm/rsm.c
2016
while (seg->s_flags & RSM_FORCE_DESTROY_WAIT) {
usr/src/uts/common/io/rsm/rsm.c
2017
cv_wait(&seg->s_cv, &seg->s_lock);
usr/src/uts/common/io/rsm/rsm.c
2020
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2023
switch (seg->s_state) {
usr/src/uts/common/io/rsm/rsm.c
2027
e = rsm_unpublish(seg, 1);
usr/src/uts/common/io/rsm/rsm.c
2032
e = rsm_unbind(seg);
usr/src/uts/common/io/rsm/rsm.c
2035
ASSERT(seg->s_hdr.rsmrc_type == RSM_RESOURCE_EXPORT_SEGMENT);
usr/src/uts/common/io/rsm/rsm.c
2038
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
2039
seg->s_state = RSM_STATE_NEW;
usr/src/uts/common/io/rsm/rsm.c
2040
cv_broadcast(&seg->s_cv);
usr/src/uts/common/io/rsm/rsm.c
2041
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2062
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
2063
seg->s_state = RSM_STATE_NEW;
usr/src/uts/common/io/rsm/rsm.c
2064
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2072
ASSERT(seg->s_hdr.rsmrc_type == RSM_RESOURCE_IMPORT_SEGMENT);
usr/src/uts/common/io/rsm/rsm.c
2073
(void) rsm_disconnect(seg);
usr/src/uts/common/io/rsm/rsm.c
2079
"Invalid segment state %d in rsm_close\n", seg->s_state));
usr/src/uts/common/io/rsm/rsm.c
2083
"Invalid segment state %d in rsm_close\n", seg->s_state));
usr/src/uts/common/io/rsm/rsm.c
2092
ASSERT(seg->s_state == RSM_STATE_NEW);
usr/src/uts/common/io/rsm/rsm.c
2104
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
2105
seg->s_state = RSM_STATE_ZOMBIE;
usr/src/uts/common/io/rsm/rsm.c
2106
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2108
rsmseg_free(seg);
usr/src/uts/common/io/rsm/rsm.c
2288
rsm_unbind_pages(rsmseg_t *seg)
usr/src/uts/common/io/rsm/rsm.c
2294
ASSERT(rsmseglock_held(seg));
usr/src/uts/common/io/rsm/rsm.c
2296
if (seg->s_cookie != NULL) {
usr/src/uts/common/io/rsm/rsm.c
2298
ddi_umem_unlock(seg->s_cookie);
usr/src/uts/common/io/rsm/rsm.c
2299
rsm_dec_pgcnt(btopr(seg->s_len));
usr/src/uts/common/io/rsm/rsm.c
2300
seg->s_cookie = NULL;
usr/src/uts/common/io/rsm/rsm.c
2310
rsm_bind(rsmseg_t *seg, rsm_ioctlmsg_t *msg, intptr_t dataptr, int mode)
usr/src/uts/common/io/rsm/rsm.c
2340
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
2342
while (seg->s_state == RSM_STATE_NEW_QUIESCED) {
usr/src/uts/common/io/rsm/rsm.c
2343
if (cv_wait_sig(&seg->s_cv, &seg->s_lock) == 0) {
usr/src/uts/common/io/rsm/rsm.c
2347
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2352
ASSERT(seg->s_state == RSM_STATE_NEW);
usr/src/uts/common/io/rsm/rsm.c
2354
ASSERT(seg->s_cookie == NULL);
usr/src/uts/common/io/rsm/rsm.c
2356
e = rsm_bind_pages(&seg->s_cookie, msg->vaddr, msg->len, curproc);
usr/src/uts/common/io/rsm/rsm.c
2358
seg->s_flags |= RSM_USER_MEMORY;
usr/src/uts/common/io/rsm/rsm.c
2360
seg->s_flags |= RSMKA_ALLOW_UNBIND_REBIND;
usr/src/uts/common/io/rsm/rsm.c
2363
seg->s_flags |= RSMKA_SET_RESOURCE_DONTWAIT;
usr/src/uts/common/io/rsm/rsm.c
2365
seg->s_region.r_vaddr = msg->vaddr;
usr/src/uts/common/io/rsm/rsm.c
2378
seg->s_pid = ddi_get_pid();
usr/src/uts/common/io/rsm/rsm.c
2379
seg->s_len = msg->len;
usr/src/uts/common/io/rsm/rsm.c
2380
seg->s_state = RSM_STATE_BIND;
usr/src/uts/common/io/rsm/rsm.c
2381
seg->s_adapter = adapter;
usr/src/uts/common/io/rsm/rsm.c
2382
seg->s_proc = curproc;
usr/src/uts/common/io/rsm/rsm.c
2389
msg->rnum = seg->s_minor;
usr/src/uts/common/io/rsm/rsm.c
2391
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2439
rsmseg_t *seg = (rsmseg_t *)p;
usr/src/uts/common/io/rsm/rsm.c
2440
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
2449
if ((seg->s_segid == ex_segid) && (seg->s_node == src_nodeid) &&
usr/src/uts/common/io/rsm/rsm.c
2450
(seg->s_state == RSM_STATE_ACTIVE)) {
usr/src/uts/common/io/rsm/rsm.c
2451
seg->s_cookie = cookie;
usr/src/uts/common/io/rsm/rsm.c
2453
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2462
rsm_rebind(rsmseg_t *seg, rsm_ioctlmsg_t *msg)
usr/src/uts/common/io/rsm/rsm.c
2472
if (!(seg->s_flags & RSMKA_ALLOW_UNBIND_REBIND)) {
usr/src/uts/common/io/rsm/rsm.c
2476
if (seg->s_pid != ddi_get_pid() &&
usr/src/uts/common/io/rsm/rsm.c
2491
if (msg->len != seg->s_len) {
usr/src/uts/common/io/rsm/rsm.c
2498
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
2500
while ((seg->s_state == RSM_STATE_BIND_QUIESCED) ||
usr/src/uts/common/io/rsm/rsm.c
2501
(seg->s_state == RSM_STATE_EXPORT_QUIESCING) ||
usr/src/uts/common/io/rsm/rsm.c
2502
(seg->s_state == RSM_STATE_EXPORT_QUIESCED)) {
usr/src/uts/common/io/rsm/rsm.c
2503
if (cv_wait_sig(&seg->s_cv, &seg->s_lock) == 0) {
usr/src/uts/common/io/rsm/rsm.c
2504
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2512
if ((seg->s_state != RSM_STATE_BIND) &&
usr/src/uts/common/io/rsm/rsm.c
2513
(seg->s_state != RSM_STATE_EXPORT)) {
usr/src/uts/common/io/rsm/rsm.c
2515
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2521
ASSERT(seg->s_cookie != NULL);
usr/src/uts/common/io/rsm/rsm.c
2523
if (msg->vaddr == seg->s_region.r_vaddr) {
usr/src/uts/common/io/rsm/rsm.c
2524
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2542
adapter = seg->s_adapter;
usr/src/uts/common/io/rsm/rsm.c
2544
seg->s_handle.out, 0, &mem,
usr/src/uts/common/io/rsm/rsm.c
2552
(void) rsm_unbind_pages(seg);
usr/src/uts/common/io/rsm/rsm.c
2553
seg->s_cookie = cookie;
usr/src/uts/common/io/rsm/rsm.c
2554
seg->s_region.r_vaddr = msg->vaddr;
usr/src/uts/common/io/rsm/rsm.c
2555
rsm_remap_local_importers(my_nodeid, seg->s_segid,
usr/src/uts/common/io/rsm/rsm.c
2578
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2586
rsm_unbind(rsmseg_t *seg)
usr/src/uts/common/io/rsm/rsm.c
2592
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
2595
if ((seg->s_state != RSM_STATE_BIND) &&
usr/src/uts/common/io/rsm/rsm.c
2596
(seg->s_state != RSM_STATE_BIND_QUIESCED)) {
usr/src/uts/common/io/rsm/rsm.c
2597
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2604
(void) rsm_unbind_pages(seg);
usr/src/uts/common/io/rsm/rsm.c
2606
if (seg->s_state == RSM_STATE_BIND) {
usr/src/uts/common/io/rsm/rsm.c
2607
seg->s_state = RSM_STATE_NEW;
usr/src/uts/common/io/rsm/rsm.c
2608
} else if (seg->s_state == RSM_STATE_BIND_QUIESCED) {
usr/src/uts/common/io/rsm/rsm.c
2609
seg->s_state = RSM_STATE_NEW_QUIESCED;
usr/src/uts/common/io/rsm/rsm.c
2612
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2769
rsmseg_t *seg;
usr/src/uts/common/io/rsm/rsm.c
2782
seg = rsmexport_lookup(key);
usr/src/uts/common/io/rsm/rsm.c
2783
if (!seg) {
usr/src/uts/common/io/rsm/rsm.c
2789
ASSERT(rsmseglock_held(seg));
usr/src/uts/common/io/rsm/rsm.c
2790
ASSERT(seg->s_state == RSM_STATE_EXPORT);
usr/src/uts/common/io/rsm/rsm.c
2799
if (seg->s_acl_len > 0) {
usr/src/uts/common/io/rsm/rsm.c
2803
ASSERT(seg->s_acl != NULL);
usr/src/uts/common/io/rsm/rsm.c
2804
for (i = 0; i < seg->s_acl_len; i++) {
usr/src/uts/common/io/rsm/rsm.c
2805
if (seg->s_acl[i].ae_node == rnode) {
usr/src/uts/common/io/rsm/rsm.c
2806
perm &= seg->s_acl[i].ae_permission;
usr/src/uts/common/io/rsm/rsm.c
2811
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2817
perm &= seg->s_mode;
usr/src/uts/common/io/rsm/rsm.c
2823
reply->rsmipc_uid = seg->s_uid;
usr/src/uts/common/io/rsm/rsm.c
2824
reply->rsmipc_gid = seg->s_gid;
usr/src/uts/common/io/rsm/rsm.c
2825
reply->rsmipc_segid = seg->s_segid;
usr/src/uts/common/io/rsm/rsm.c
2826
reply->rsmipc_seglen = seg->s_len;
usr/src/uts/common/io/rsm/rsm.c
2831
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2849
rsm_publish(rsmseg_t *seg, rsm_ioctlmsg_t *msg, intptr_t dataptr, int mode)
usr/src/uts/common/io/rsm/rsm.c
2867
if (seg->s_adapter == &loopback_adapter)
usr/src/uts/common/io/rsm/rsm.c
2870
if (seg->s_pid != ddi_get_pid() &&
usr/src/uts/common/io/rsm/rsm.c
2928
e = rsmexport_add(seg, segment_id);
usr/src/uts/common/io/rsm/rsm.c
2936
seg->s_segid = segment_id;
usr/src/uts/common/io/rsm/rsm.c
2938
if ((seg->s_state != RSM_STATE_BIND) &&
usr/src/uts/common/io/rsm/rsm.c
2939
(seg->s_state != RSM_STATE_BIND_QUIESCED)) {
usr/src/uts/common/io/rsm/rsm.c
2941
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2942
rsmexport_rm(seg);
usr/src/uts/common/io/rsm/rsm.c
2946
seg->s_state));
usr/src/uts/common/io/rsm/rsm.c
2964
xbuf = ddi_umem_iosetup(seg->s_cookie, 0, seg->s_len, B_WRITE,
usr/src/uts/common/io/rsm/rsm.c
2973
adapter = seg->s_adapter;
usr/src/uts/common/io/rsm/rsm.c
2980
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
2981
rsmexport_rm(seg);
usr/src/uts/common/io/rsm/rsm.c
2989
if (seg->s_state == RSM_STATE_BIND) {
usr/src/uts/common/io/rsm/rsm.c
2994
if (seg->s_flags & RSMKA_ALLOW_UNBIND_REBIND) {
usr/src/uts/common/io/rsm/rsm.c
2998
if (seg->s_flags & RSMKA_SET_RESOURCE_DONTWAIT) {
usr/src/uts/common/io/rsm/rsm.c
3006
&seg->s_handle.out, seg->s_len,
usr/src/uts/common/io/rsm/rsm.c
3017
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3018
rsmexport_rm(seg);
usr/src/uts/common/io/rsm/rsm.c
3037
seg->s_handle.out,
usr/src/uts/common/io/rsm/rsm.c
3039
seg->s_segid,
usr/src/uts/common/io/rsm/rsm.c
3043
adapter->rsmpi_ops->rsm_seg_destroy(seg->s_handle.out);
usr/src/uts/common/io/rsm/rsm.c
3044
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3045
rsmexport_rm(seg);
usr/src/uts/common/io/rsm/rsm.c
3055
seg->s_acl_in = rsmpi_acl;
usr/src/uts/common/io/rsm/rsm.c
3059
seg->s_acl_len = acl_len;
usr/src/uts/common/io/rsm/rsm.c
3060
seg->s_acl = acl;
usr/src/uts/common/io/rsm/rsm.c
3062
if (seg->s_state == RSM_STATE_BIND) {
usr/src/uts/common/io/rsm/rsm.c
3063
seg->s_state = RSM_STATE_EXPORT;
usr/src/uts/common/io/rsm/rsm.c
3064
} else if (seg->s_state == RSM_STATE_BIND_QUIESCED) {
usr/src/uts/common/io/rsm/rsm.c
3065
seg->s_state = RSM_STATE_EXPORT_QUIESCED;
usr/src/uts/common/io/rsm/rsm.c
3066
cv_broadcast(&seg->s_cv);
usr/src/uts/common/io/rsm/rsm.c
3069
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3104
rsm_republish(rsmseg_t *seg, rsm_ioctlmsg_t *msg, int mode)
usr/src/uts/common/io/rsm/rsm.c
3118
if ((seg->s_state != RSM_STATE_EXPORT) &&
usr/src/uts/common/io/rsm/rsm.c
3119
(seg->s_state != RSM_STATE_EXPORT_QUIESCED) &&
usr/src/uts/common/io/rsm/rsm.c
3120
(seg->s_state != RSM_STATE_EXPORT_QUIESCING))
usr/src/uts/common/io/rsm/rsm.c
3123
if (seg->s_pid != ddi_get_pid() &&
usr/src/uts/common/io/rsm/rsm.c
3130
if (seg->s_adapter == &loopback_adapter)
usr/src/uts/common/io/rsm/rsm.c
3144
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
3150
while (((seg->s_state == RSM_STATE_EXPORT) &&
usr/src/uts/common/io/rsm/rsm.c
3151
(seg->s_flags & RSM_REPUBLISH_WAIT)) ||
usr/src/uts/common/io/rsm/rsm.c
3152
(seg->s_state == RSM_STATE_EXPORT_QUIESCED) ||
usr/src/uts/common/io/rsm/rsm.c
3153
(seg->s_state == RSM_STATE_EXPORT_QUIESCING)) {
usr/src/uts/common/io/rsm/rsm.c
3154
if (cv_wait_sig(&seg->s_cv, &seg->s_lock) == 0) {
usr/src/uts/common/io/rsm/rsm.c
3157
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3164
if (seg->s_state != RSM_STATE_EXPORT) {
usr/src/uts/common/io/rsm/rsm.c
3165
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3170
key = seg->s_key;
usr/src/uts/common/io/rsm/rsm.c
3171
old_acl = seg->s_acl;
usr/src/uts/common/io/rsm/rsm.c
3172
old_acl_len = seg->s_acl_len;
usr/src/uts/common/io/rsm/rsm.c
3174
seg->s_acl = new_acl;
usr/src/uts/common/io/rsm/rsm.c
3175
seg->s_acl_len = new_acl_len;
usr/src/uts/common/io/rsm/rsm.c
3181
adapter = seg->s_adapter;
usr/src/uts/common/io/rsm/rsm.c
3188
seg->s_acl = old_acl;
usr/src/uts/common/io/rsm/rsm.c
3189
seg->s_acl_len = old_acl_len;
usr/src/uts/common/io/rsm/rsm.c
3190
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3196
rsmpi_old_acl = seg->s_acl_in;
usr/src/uts/common/io/rsm/rsm.c
3197
seg->s_acl_in = rsmpi_new_acl;
usr/src/uts/common/io/rsm/rsm.c
3199
e = adapter->rsmpi_ops->rsm_republish(seg->s_handle.out,
usr/src/uts/common/io/rsm/rsm.c
3200
seg->s_acl_in, seg->s_acl_len,
usr/src/uts/common/io/rsm/rsm.c
3204
seg->s_acl = old_acl;
usr/src/uts/common/io/rsm/rsm.c
3205
seg->s_acl_in = rsmpi_old_acl;
usr/src/uts/common/io/rsm/rsm.c
3206
seg->s_acl_len = old_acl_len;
usr/src/uts/common/io/rsm/rsm.c
3207
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3235
permission = seg->s_mode;
usr/src/uts/common/io/rsm/rsm.c
3239
seg->s_flags |= RSM_REPUBLISH_WAIT;
usr/src/uts/common/io/rsm/rsm.c
3241
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3246
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
3247
seg->s_flags &= ~RSM_REPUBLISH_WAIT;
usr/src/uts/common/io/rsm/rsm.c
3249
cv_broadcast(&seg->s_cv);
usr/src/uts/common/io/rsm/rsm.c
3250
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3261
rsm_unpublish(rsmseg_t *seg, int mode)
usr/src/uts/common/io/rsm/rsm.c
3272
if (seg->s_pid != ddi_get_pid() &&
usr/src/uts/common/io/rsm/rsm.c
3279
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
3286
while ((seg->s_state == RSM_STATE_EXPORT_QUIESCING) ||
usr/src/uts/common/io/rsm/rsm.c
3287
((seg->s_state == RSM_STATE_EXPORT) && (seg->s_rdmacnt > 0))) {
usr/src/uts/common/io/rsm/rsm.c
3288
if (cv_wait_sig(&seg->s_cv, &seg->s_lock) == 0) {
usr/src/uts/common/io/rsm/rsm.c
3289
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3298
if ((seg->s_state != RSM_STATE_EXPORT) &&
usr/src/uts/common/io/rsm/rsm.c
3299
(seg->s_state != RSM_STATE_EXPORT_QUIESCED)) {
usr/src/uts/common/io/rsm/rsm.c
3300
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3302
"rsm_unpublish done: bad state %x\n", seg->s_state));
usr/src/uts/common/io/rsm/rsm.c
3306
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3308
rsmexport_rm(seg);
usr/src/uts/common/io/rsm/rsm.c
3310
rsm_send_importer_disconnects(seg->s_segid, my_nodeid);
usr/src/uts/common/io/rsm/rsm.c
3312
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
3316
while ((seg->s_state == RSM_STATE_EXPORT) &&
usr/src/uts/common/io/rsm/rsm.c
3317
(seg->s_flags & RSM_REPUBLISH_WAIT)) {
usr/src/uts/common/io/rsm/rsm.c
3318
if (cv_wait_sig(&seg->s_cv, &seg->s_lock) == 0) {
usr/src/uts/common/io/rsm/rsm.c
3321
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3326
if ((seg->s_state != RSM_STATE_EXPORT) &&
usr/src/uts/common/io/rsm/rsm.c
3327
(seg->s_state != RSM_STATE_EXPORT_QUIESCED)) {
usr/src/uts/common/io/rsm/rsm.c
3330
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3342
acl = seg->s_acl;
usr/src/uts/common/io/rsm/rsm.c
3349
if (seg->s_state == RSM_STATE_EXPORT_QUIESCED)
usr/src/uts/common/io/rsm/rsm.c
3352
adapter = seg->s_adapter;
usr/src/uts/common/io/rsm/rsm.c
3354
if (seg->s_state != RSM_STATE_EXPORT) {
usr/src/uts/common/io/rsm/rsm.c
3355
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3358
seg->s_state));
usr/src/uts/common/io/rsm/rsm.c
3363
e = adapter->rsmpi_ops->rsm_unpublish(seg->s_handle.out);
usr/src/uts/common/io/rsm/rsm.c
3373
seg->s_flags |= RSM_EXPORT_WAIT;
usr/src/uts/common/io/rsm/rsm.c
3381
(void) cv_reltimedwait(&seg->s_cv, &seg->s_lock,
usr/src/uts/common/io/rsm/rsm.c
3387
seg->s_flags &= ~RSM_EXPORT_WAIT;
usr/src/uts/common/io/rsm/rsm.c
3392
seg->s_state = RSM_STATE_BIND;
usr/src/uts/common/io/rsm/rsm.c
3394
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3400
e = adapter->rsmpi_ops->rsm_seg_destroy(seg->s_handle.out);
usr/src/uts/common/io/rsm/rsm.c
3405
seg->s_key, e));
usr/src/uts/common/io/rsm/rsm.c
3409
acl = seg->s_acl;
usr/src/uts/common/io/rsm/rsm.c
3410
rsmpi_acl = seg->s_acl_in;
usr/src/uts/common/io/rsm/rsm.c
3411
acl_len = seg->s_acl_len;
usr/src/uts/common/io/rsm/rsm.c
3413
seg->s_acl = NULL;
usr/src/uts/common/io/rsm/rsm.c
3414
seg->s_acl_in = NULL;
usr/src/uts/common/io/rsm/rsm.c
3415
seg->s_acl_len = 0;
usr/src/uts/common/io/rsm/rsm.c
3417
if (seg->s_state == RSM_STATE_EXPORT) {
usr/src/uts/common/io/rsm/rsm.c
3418
seg->s_state = RSM_STATE_BIND;
usr/src/uts/common/io/rsm/rsm.c
3419
} else if (seg->s_state == RSM_STATE_EXPORT_QUIESCED) {
usr/src/uts/common/io/rsm/rsm.c
3420
seg->s_state = RSM_STATE_BIND_QUIESCED;
usr/src/uts/common/io/rsm/rsm.c
3421
cv_broadcast(&seg->s_cv);
usr/src/uts/common/io/rsm/rsm.c
3424
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
3664
rsmseg_t *seg = (rsmseg_t *)p;
usr/src/uts/common/io/rsm/rsm.c
3665
if ((seg->s_segid == ex_segid) && (seg->s_node == src_nodeid)) {
usr/src/uts/common/io/rsm/rsm.c
3675
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
3677
seg->s_flags |= RSM_FORCE_DISCONNECT;
usr/src/uts/common/io/rsm/rsm.c
3678
rsmseg_unload(seg);
usr/src/uts/common/io/rsm/rsm.c
4020
rsmseg_t *seg;
usr/src/uts/common/io/rsm/rsm.c
4030
if ((seg = msg->rsmipc_segment_cookie) != NULL) {
usr/src/uts/common/io/rsm/rsm.c
4041
seg = (rsmseg_t *)p;
usr/src/uts/common/io/rsm/rsm.c
4042
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
4044
atomic_inc_32(&seg->s_pollevent);
usr/src/uts/common/io/rsm/rsm.c
4046
if (seg->s_pollflag & RSM_SEGMENT_POLL)
usr/src/uts/common/io/rsm/rsm.c
4047
pollwakeup(&seg->s_poll, POLLRDNORM);
usr/src/uts/common/io/rsm/rsm.c
4049
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4056
seg = rsmexport_lookup(msg->rsmipc_key);
usr/src/uts/common/io/rsm/rsm.c
4057
if (!seg) {
usr/src/uts/common/io/rsm/rsm.c
4063
ASSERT(rsmseglock_held(seg));
usr/src/uts/common/io/rsm/rsm.c
4065
atomic_inc_32(&seg->s_pollevent);
usr/src/uts/common/io/rsm/rsm.c
4073
if (seg->s_pollflag & RSM_SEGMENT_POLL)
usr/src/uts/common/io/rsm/rsm.c
4074
pollwakeup(&seg->s_poll, POLLRDNORM);
usr/src/uts/common/io/rsm/rsm.c
4076
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4092
rsmseg_t *seg;
usr/src/uts/common/io/rsm/rsm.c
4109
seg = (rsmseg_t *)p;
usr/src/uts/common/io/rsm/rsm.c
4111
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
4112
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
4113
seg->s_share->rsmsi_mode = perm;
usr/src/uts/common/io/rsm/rsm.c
4114
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4115
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4182
rsmseg_t *seg;
usr/src/uts/common/io/rsm/rsm.c
4199
seg = (rsmseg_t *)current;
usr/src/uts/common/io/rsm/rsm.c
4200
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
4203
adapter = seg->s_adapter;
usr/src/uts/common/io/rsm/rsm.c
4208
if ((seg->s_acl == NULL) ||
usr/src/uts/common/io/rsm/rsm.c
4209
(seg->s_acl[0].ae_node != my_nodeid) ||
usr/src/uts/common/io/rsm/rsm.c
4210
(seg->s_acl[0].ae_permission != 0)) {
usr/src/uts/common/io/rsm/rsm.c
4213
seg->s_handle.out);
usr/src/uts/common/io/rsm/rsm.c
4218
seg->s_handle.out);
usr/src/uts/common/io/rsm/rsm.c
4225
(void) rsm_unbind_pages(seg);
usr/src/uts/common/io/rsm/rsm.c
4226
seg->s_state = RSM_STATE_EXPORT_QUIESCED;
usr/src/uts/common/io/rsm/rsm.c
4227
cv_broadcast(&seg->s_cv);
usr/src/uts/common/io/rsm/rsm.c
4229
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4261
rsmseg_t *seg;
usr/src/uts/common/io/rsm/rsm.c
4291
seg = (rsmseg_t *)curp;
usr/src/uts/common/io/rsm/rsm.c
4293
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
4295
if ((seg->s_node != first->s_node) ||
usr/src/uts/common/io/rsm/rsm.c
4296
(seg->s_key != first->s_key) ||
usr/src/uts/common/io/rsm/rsm.c
4297
(seg->s_state == RSM_STATE_DISCONNECT)) {
usr/src/uts/common/io/rsm/rsm.c
4302
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4306
rsmseg_suspend(seg, &susp_flg);
usr/src/uts/common/io/rsm/rsm.c
4309
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4314
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
4320
seg->s_share->rsmsi_refcnt) {
usr/src/uts/common/io/rsm/rsm.c
4321
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4322
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4325
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4326
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4336
rsmsegshare_suspend(seg);
usr/src/uts/common/io/rsm/rsm.c
4353
rsmseg_suspend(rsmseg_t *seg, int *susp_flg)
usr/src/uts/common/io/rsm/rsm.c
4361
"rsmseg_suspend enter: key=%u\n", seg->s_key));
usr/src/uts/common/io/rsm/rsm.c
4365
ASSERT(rsmseglock_held(seg));
usr/src/uts/common/io/rsm/rsm.c
4367
while (seg->s_rdmacnt > 0)
usr/src/uts/common/io/rsm/rsm.c
4368
cv_wait(&seg->s_cv, &seg->s_lock);
usr/src/uts/common/io/rsm/rsm.c
4375
seg->s_key, seg->s_state));
usr/src/uts/common/io/rsm/rsm.c
4377
switch (seg->s_state) {
usr/src/uts/common/io/rsm/rsm.c
4382
seg->s_state = RSM_STATE_ABORT_CONNECT;
usr/src/uts/common/io/rsm/rsm.c
4387
seg->s_handle.in = NULL;
usr/src/uts/common/io/rsm/rsm.c
4388
seg->s_state = RSM_STATE_CONN_QUIESCE;
usr/src/uts/common/io/rsm/rsm.c
4392
while (seg->s_state == RSM_STATE_MAPPING)
usr/src/uts/common/io/rsm/rsm.c
4393
cv_wait(&seg->s_cv, &seg->s_lock);
usr/src/uts/common/io/rsm/rsm.c
4398
if (seg->s_ckl != NULL) {
usr/src/uts/common/io/rsm/rsm.c
4399
hdl = seg->s_ckl;
usr/src/uts/common/io/rsm/rsm.c
4405
seg->s_mapinfo = NULL;
usr/src/uts/common/io/rsm/rsm.c
4406
seg->s_state = RSM_STATE_MAP_QUIESCE;
usr/src/uts/common/io/rsm/rsm.c
4425
rsmsegshare_suspend(rsmseg_t *seg)
usr/src/uts/common/io/rsm/rsm.c
4436
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
4437
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
4439
sharedp = seg->s_share;
usr/src/uts/common/io/rsm/rsm.c
4440
adapter = seg->s_adapter;
usr/src/uts/common/io/rsm/rsm.c
4469
e = adapter->rsmpi_ops->rsm_unmap(seg->s_handle.in);
usr/src/uts/common/io/rsm/rsm.c
4493
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4494
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4522
rsmseg_t *seg = (rsmseg_t *)p;
usr/src/uts/common/io/rsm/rsm.c
4524
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
4527
if (seg->s_node != src_node) {
usr/src/uts/common/io/rsm/rsm.c
4528
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4532
if (rsmseg_resume(seg, &cookie) != RSM_SUCCESS) {
usr/src/uts/common/io/rsm/rsm.c
454
static int rsm_closeconnection(rsmseg_t *seg, void **cookie);
usr/src/uts/common/io/rsm/rsm.c
4541
request.rsmipc_key = seg->s_segid;
usr/src/uts/common/io/rsm/rsm.c
4543
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4544
(void) rsmipc_send(seg->s_node, &request,
usr/src/uts/common/io/rsm/rsm.c
4547
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
455
static int rsm_unpublish(rsmseg_t *seg, int mode);
usr/src/uts/common/io/rsm/rsm.c
4558
rsmseg_resume(rsmseg_t *seg, void **cookie)
usr/src/uts/common/io/rsm/rsm.c
456
static int rsm_unbind(rsmseg_t *seg);
usr/src/uts/common/io/rsm/rsm.c
4572
"rsmseg_resume enter: key=%u\n", seg->s_key));
usr/src/uts/common/io/rsm/rsm.c
4576
ASSERT(rsmseglock_held(seg));
usr/src/uts/common/io/rsm/rsm.c
4578
if ((seg->s_state != RSM_STATE_CONN_QUIESCE) &&
usr/src/uts/common/io/rsm/rsm.c
4579
(seg->s_state != RSM_STATE_MAP_QUIESCE)) {
usr/src/uts/common/io/rsm/rsm.c
4583
sharedp = seg->s_share;
usr/src/uts/common/io/rsm/rsm.c
4585
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
4588
retc = rsmsegshare_resume(seg);
usr/src/uts/common/io/rsm/rsm.c
4590
if (seg->s_state == RSM_STATE_CONN_QUIESCE) {
usr/src/uts/common/io/rsm/rsm.c
4595
seg->s_handle.in = sharedp->rsmsi_handle;
usr/src/uts/common/io/rsm/rsm.c
4596
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4597
seg->s_state = RSM_STATE_CONNECT;
usr/src/uts/common/io/rsm/rsm.c
4600
seg->s_handle.in = NULL;
usr/src/uts/common/io/rsm/rsm.c
4601
seg->s_state = RSM_STATE_DISCONNECT;
usr/src/uts/common/io/rsm/rsm.c
4608
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4617
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4623
seg->s_share = NULL;
usr/src/uts/common/io/rsm/rsm.c
4627
cv_broadcast(&seg->s_cv);
usr/src/uts/common/io/rsm/rsm.c
4630
"rsmseg_resume done:state=%d\n", seg->s_state));
usr/src/uts/common/io/rsm/rsm.c
4634
ASSERT(seg->s_state == RSM_STATE_MAP_QUIESCE);
usr/src/uts/common/io/rsm/rsm.c
4638
if (seg->s_mode & RSM_PERM_READ) {
usr/src/uts/common/io/rsm/rsm.c
464
int rsm_disconnect(rsmseg_t *seg);
usr/src/uts/common/io/rsm/rsm.c
4641
if (seg->s_mode & RSM_PERM_WRITE) {
usr/src/uts/common/io/rsm/rsm.c
4649
ASSERT(seg->s_ckl != NULL);
usr/src/uts/common/io/rsm/rsm.c
4651
for (hdl = seg->s_ckl; hdl != NULL; hdl = hdl->c_next) {
usr/src/uts/common/io/rsm/rsm.c
4660
seg->s_handle.in = NULL;
usr/src/uts/common/io/rsm/rsm.c
4661
seg->s_state = RSM_STATE_DISCONNECT;
usr/src/uts/common/io/rsm/rsm.c
4666
seg->s_mapinfo = NULL;
usr/src/uts/common/io/rsm/rsm.c
4670
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4679
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4685
seg->s_share = NULL;
usr/src/uts/common/io/rsm/rsm.c
4688
cv_broadcast(&seg->s_cv);
usr/src/uts/common/io/rsm/rsm.c
4692
seg->s_key, retc));
usr/src/uts/common/io/rsm/rsm.c
4697
seg->s_handle.in = sharedp->rsmsi_handle;
usr/src/uts/common/io/rsm/rsm.c
4699
if (seg->s_node == my_nodeid) { /* loopback */
usr/src/uts/common/io/rsm/rsm.c
4700
ASSERT(seg->s_mapinfo == NULL);
usr/src/uts/common/io/rsm/rsm.c
4702
for (hdl = seg->s_ckl; hdl != NULL; hdl = hdl->c_next) {
usr/src/uts/common/io/rsm/rsm.c
4704
rsm_dip, seg->s_cookie,
usr/src/uts/common/io/rsm/rsm.c
4713
seg->s_mapinfo = sharedp->rsmsi_mapinfo;
usr/src/uts/common/io/rsm/rsm.c
4715
for (hdl = seg->s_ckl; hdl != NULL; hdl = hdl->c_next) {
usr/src/uts/common/io/rsm/rsm.c
4716
p = rsm_get_mapinfo(seg, hdl->c_off, hdl->c_len,
usr/src/uts/common/io/rsm/rsm.c
4727
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
4729
seg->s_state = RSM_STATE_ACTIVE;
usr/src/uts/common/io/rsm/rsm.c
4730
cv_broadcast(&seg->s_cv);
usr/src/uts/common/io/rsm/rsm.c
4738
rsmsegshare_resume(rsmseg_t *seg)
usr/src/uts/common/io/rsm/rsm.c
4748
ASSERT(rsmseglock_held(seg));
usr/src/uts/common/io/rsm/rsm.c
4749
ASSERT(rsmsharelock_held(seg));
usr/src/uts/common/io/rsm/rsm.c
4751
sharedp = seg->s_share;
usr/src/uts/common/io/rsm/rsm.c
4763
adapter = seg->s_adapter;
usr/src/uts/common/io/rsm/rsm.c
4845
(void) seg->s_adapter->rsmpi_ops->
usr/src/uts/common/io/rsm/rsm.c
6084
rsm_connect(rsmseg_t *seg, rsm_ioctlmsg_t *msg, cred_t *cred,
usr/src/uts/common/io/rsm/rsm.c
6115
ASSERT(seg->s_hdr.rsmrc_type == RSM_RESOURCE_IMPORT_SEGMENT);
usr/src/uts/common/io/rsm/rsm.c
6116
ASSERT(seg->s_state == RSM_STATE_NEW);
usr/src/uts/common/io/rsm/rsm.c
6133
seg->s_node = msg->nodeid;
usr/src/uts/common/io/rsm/rsm.c
6139
e = rsmimport_add(seg, msg->key);
usr/src/uts/common/io/rsm/rsm.c
6146
seg->s_state = RSM_STATE_CONNECTING;
usr/src/uts/common/io/rsm/rsm.c
6153
seg->s_adapter = adapter;
usr/src/uts/common/io/rsm/rsm.c
6155
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6161
sharedp = rsmshare_get(msg->key, msg->nodeid, adapter, seg);
usr/src/uts/common/io/rsm/rsm.c
6163
ASSERT(rsmsharelock_held(seg));
usr/src/uts/common/io/rsm/rsm.c
6189
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6190
rsmimport_rm(seg);
usr/src/uts/common/io/rsm/rsm.c
6191
seg->s_adapter = NULL;
usr/src/uts/common/io/rsm/rsm.c
6193
seg->s_state = RSM_STATE_NEW;
usr/src/uts/common/io/rsm/rsm.c
6224
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6230
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6231
rsmsharecv_signal(seg, RSMSI_STATE_CONNECTING,
usr/src/uts/common/io/rsm/rsm.c
6233
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6234
rsmimport_rm(seg);
usr/src/uts/common/io/rsm/rsm.c
6235
seg->s_adapter = NULL;
usr/src/uts/common/io/rsm/rsm.c
6237
seg->s_state = RSM_STATE_NEW;
usr/src/uts/common/io/rsm/rsm.c
6262
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6263
rsmsharecv_signal(seg, RSMSI_STATE_CONNECTING,
usr/src/uts/common/io/rsm/rsm.c
6265
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6266
rsmimport_rm(seg);
usr/src/uts/common/io/rsm/rsm.c
6267
seg->s_adapter = NULL;
usr/src/uts/common/io/rsm/rsm.c
6269
seg->s_state = RSM_STATE_NEW;
usr/src/uts/common/io/rsm/rsm.c
6276
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6277
rsmsharecv_signal(seg, RSMSI_STATE_CONNECTING,
usr/src/uts/common/io/rsm/rsm.c
6279
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6280
rsmimport_rm(seg);
usr/src/uts/common/io/rsm/rsm.c
6281
seg->s_adapter = NULL;
usr/src/uts/common/io/rsm/rsm.c
6283
seg->s_state = RSM_STATE_NEW;
usr/src/uts/common/io/rsm/rsm.c
6290
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6299
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6308
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6309
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6310
ASSERT(seg->s_state == RSM_STATE_CONNECTING ||
usr/src/uts/common/io/rsm/rsm.c
6311
seg->s_state == RSM_STATE_ABORT_CONNECT);
usr/src/uts/common/io/rsm/rsm.c
6315
if ((seg->s_state == RSM_STATE_ABORT_CONNECT) ||
usr/src/uts/common/io/rsm/rsm.c
6317
seg->s_state = RSM_STATE_NEW;
usr/src/uts/common/io/rsm/rsm.c
6318
seg->s_adapter = NULL;
usr/src/uts/common/io/rsm/rsm.c
6319
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6320
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6321
rsmimport_rm(seg);
usr/src/uts/common/io/rsm/rsm.c
6324
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6331
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6335
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6342
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6357
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6358
seg->s_state = RSM_STATE_NEW;
usr/src/uts/common/io/rsm/rsm.c
6359
seg->s_adapter = NULL;
usr/src/uts/common/io/rsm/rsm.c
6360
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6361
rsmimport_rm(seg);
usr/src/uts/common/io/rsm/rsm.c
6367
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6369
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6374
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6378
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6386
seg->s_segid = sharedp->rsmsi_segid;
usr/src/uts/common/io/rsm/rsm.c
6387
seg->s_len = sharedp->rsmsi_seglen;
usr/src/uts/common/io/rsm/rsm.c
6388
seg->s_mode = access & sharedp->rsmsi_mode;
usr/src/uts/common/io/rsm/rsm.c
6389
seg->s_pid = ddi_get_pid();
usr/src/uts/common/io/rsm/rsm.c
6390
seg->s_mapinfo = NULL;
usr/src/uts/common/io/rsm/rsm.c
6392
if (seg->s_node != my_nodeid) {
usr/src/uts/common/io/rsm/rsm.c
6396
addr, seg->s_segid, &sharedp->rsmsi_handle);
usr/src/uts/common/io/rsm/rsm.c
6399
seg->s_state = RSM_STATE_NEW;
usr/src/uts/common/io/rsm/rsm.c
6400
seg->s_adapter = NULL;
usr/src/uts/common/io/rsm/rsm.c
6401
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6402
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6403
rsmimport_rm(seg);
usr/src/uts/common/io/rsm/rsm.c
6422
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6425
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6440
seg->s_handle.in = sharedp->rsmsi_handle;
usr/src/uts/common/io/rsm/rsm.c
6444
seg->s_state = RSM_STATE_CONNECT;
usr/src/uts/common/io/rsm/rsm.c
6447
seg->s_flags &= ~RSM_IMPORT_DUMMY; /* clear dummy flag */
usr/src/uts/common/io/rsm/rsm.c
6450
atomic_inc_16(bar_va + seg->s_hdr.rsmrc_num);
usr/src/uts/common/io/rsm/rsm.c
6452
msg->off = (int)seg->s_hdr.rsmrc_num;
usr/src/uts/common/io/rsm/rsm.c
6460
msg->rnum = seg->s_minor;
usr/src/uts/common/io/rsm/rsm.c
6461
rsmsharecv_signal(seg, RSMSI_STATE_CONNECTING, RSMSI_STATE_CONNECTED);
usr/src/uts/common/io/rsm/rsm.c
6462
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6463
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6500
rsm_unmap(rsmseg_t *seg)
usr/src/uts/common/io/rsm/rsm.c
6508
"rsm_unmap enter %u\n", seg->s_segid));
usr/src/uts/common/io/rsm/rsm.c
6510
ASSERT(seg->s_hdr.rsmrc_type == RSM_RESOURCE_IMPORT_SEGMENT);
usr/src/uts/common/io/rsm/rsm.c
6513
ASSERT(rsmseglock_held(seg));
usr/src/uts/common/io/rsm/rsm.c
6514
ASSERT(seg->s_state != RSM_STATE_MAPPING);
usr/src/uts/common/io/rsm/rsm.c
6516
if ((seg->s_state != RSM_STATE_ACTIVE) &&
usr/src/uts/common/io/rsm/rsm.c
6517
(seg->s_state != RSM_STATE_MAP_QUIESCE)) {
usr/src/uts/common/io/rsm/rsm.c
6523
sharedp = seg->s_share;
usr/src/uts/common/io/rsm/rsm.c
6525
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6548
adapter = seg->s_adapter;
usr/src/uts/common/io/rsm/rsm.c
6549
if (seg->s_node != my_nodeid) {
usr/src/uts/common/io/rsm/rsm.c
6564
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6579
seg->s_cookie = NULL;
usr/src/uts/common/io/rsm/rsm.c
6581
seg->s_mapinfo = NULL;
usr/src/uts/common/io/rsm/rsm.c
6583
if (seg->s_state == RSM_STATE_ACTIVE)
usr/src/uts/common/io/rsm/rsm.c
6584
seg->s_state = RSM_STATE_CONNECT;
usr/src/uts/common/io/rsm/rsm.c
6586
seg->s_state = RSM_STATE_CONN_QUIESCE;
usr/src/uts/common/io/rsm/rsm.c
6599
rsm_closeconnection(rsmseg_t *seg, void **cookie)
usr/src/uts/common/io/rsm/rsm.c
6611
ASSERT(seg->s_hdr.rsmrc_type == RSM_RESOURCE_IMPORT_SEGMENT);
usr/src/uts/common/io/rsm/rsm.c
6614
ASSERT(rsmseglock_held(seg));
usr/src/uts/common/io/rsm/rsm.c
6616
if (seg->s_state == RSM_STATE_DISCONNECT) {
usr/src/uts/common/io/rsm/rsm.c
6623
while (seg->s_rdmacnt > 0) {
usr/src/uts/common/io/rsm/rsm.c
6624
cv_wait(&seg->s_cv, &seg->s_lock);
usr/src/uts/common/io/rsm/rsm.c
6627
(void) rsm_unmap(seg);
usr/src/uts/common/io/rsm/rsm.c
6629
ASSERT(seg->s_state == RSM_STATE_CONNECT ||
usr/src/uts/common/io/rsm/rsm.c
6630
seg->s_state == RSM_STATE_CONN_QUIESCE);
usr/src/uts/common/io/rsm/rsm.c
6632
adapter = seg->s_adapter;
usr/src/uts/common/io/rsm/rsm.c
6633
sharedp = seg->s_share;
usr/src/uts/common/io/rsm/rsm.c
6637
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6660
seg->s_key, e));
usr/src/uts/common/io/rsm/rsm.c
6665
seg->s_handle.in = NULL;
usr/src/uts/common/io/rsm/rsm.c
6673
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6681
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6686
atomic_inc_16(bar_va + seg->s_hdr.rsmrc_num);
usr/src/uts/common/io/rsm/rsm.c
6693
seg->s_share = NULL;
usr/src/uts/common/io/rsm/rsm.c
6695
seg->s_state = RSM_STATE_DISCONNECT;
usr/src/uts/common/io/rsm/rsm.c
6697
cv_broadcast(&seg->s_cv);
usr/src/uts/common/io/rsm/rsm.c
6706
rsm_disconnect(rsmseg_t *seg)
usr/src/uts/common/io/rsm/rsm.c
6714
ASSERT(seg->s_hdr.rsmrc_type == RSM_RESOURCE_IMPORT_SEGMENT);
usr/src/uts/common/io/rsm/rsm.c
6717
ASSERT(!rsmseglock_held(seg));
usr/src/uts/common/io/rsm/rsm.c
6721
rsmimport_rm(seg);
usr/src/uts/common/io/rsm/rsm.c
6724
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
6727
while (seg->s_state == RSM_STATE_MAPPING)
usr/src/uts/common/io/rsm/rsm.c
6728
cv_wait(&seg->s_cv, &seg->s_lock);
usr/src/uts/common/io/rsm/rsm.c
6730
if (seg->s_state == RSM_STATE_DISCONNECT) {
usr/src/uts/common/io/rsm/rsm.c
6731
seg->s_state = RSM_STATE_NEW;
usr/src/uts/common/io/rsm/rsm.c
6732
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6738
(void) rsm_closeconnection(seg, &shared_cookie);
usr/src/uts/common/io/rsm/rsm.c
6741
seg->s_state = RSM_STATE_NEW;
usr/src/uts/common/io/rsm/rsm.c
6749
request.rsmipc_key = seg->s_segid;
usr/src/uts/common/io/rsm/rsm.c
6751
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6752
(void) rsmipc_send(seg->s_node, &request, RSM_NO_REPLY);
usr/src/uts/common/io/rsm/rsm.c
6754
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
6768
rsmseg_t *seg;
usr/src/uts/common/io/rsm/rsm.c
6787
seg = (rsmseg_t *)res;
usr/src/uts/common/io/rsm/rsm.c
6789
if (seg->s_pollevent) {
usr/src/uts/common/io/rsm/rsm.c
6797
*phpp = &seg->s_poll;
usr/src/uts/common/io/rsm/rsm.c
6798
seg->s_pollflag |= RSM_SEGMENT_POLL;
usr/src/uts/common/io/rsm/rsm.c
6813
rsmseg_t *seg;
usr/src/uts/common/io/rsm/rsm.c
6820
seg = (rsmseg_t *)res;
usr/src/uts/common/io/rsm/rsm.c
6823
seg = rsmseg_alloc(rnum, credp);
usr/src/uts/common/io/rsm/rsm.c
6837
seg->s_state = RSM_STATE_NEW_QUIESCED;
usr/src/uts/common/io/rsm/rsm.c
6842
rsmresource_insert(rnum, (rsmresource_t *)seg, type);
usr/src/uts/common/io/rsm/rsm.c
6847
return (seg);
usr/src/uts/common/io/rsm/rsm.c
6851
rsmexport_ioctl(rsmseg_t *seg, rsm_ioctlmsg_t *msg, int cmd, intptr_t arg,
usr/src/uts/common/io/rsm/rsm.c
6862
ASSERT(seg != NULL);
usr/src/uts/common/io/rsm/rsm.c
6866
error = rsm_bind(seg, msg, arg, mode);
usr/src/uts/common/io/rsm/rsm.c
6869
error = rsm_rebind(seg, msg);
usr/src/uts/common/io/rsm/rsm.c
6875
error = rsm_publish(seg, msg, arg, mode);
usr/src/uts/common/io/rsm/rsm.c
6878
error = rsm_republish(seg, msg, mode);
usr/src/uts/common/io/rsm/rsm.c
6881
error = rsm_unpublish(seg, 1);
usr/src/uts/common/io/rsm/rsm.c
6894
rsmimport_ioctl(rsmseg_t *seg, rsm_ioctlmsg_t *msg, int cmd, intptr_t arg,
usr/src/uts/common/io/rsm/rsm.c
6902
ASSERT(seg);
usr/src/uts/common/io/rsm/rsm.c
6906
error = rsm_connect(seg, msg, credp, arg, mode);
usr/src/uts/common/io/rsm/rsm.c
6919
rsmbar_ioctl(rsmseg_t *seg, rsm_ioctlmsg_t *msg, int cmd, intptr_t arg,
usr/src/uts/common/io/rsm/rsm.c
6929
if ((seg->s_flags & RSM_IMPORT_DUMMY) != 0) {
usr/src/uts/common/io/rsm/rsm.c
6933
} else if (seg->s_node == my_nodeid) {
usr/src/uts/common/io/rsm/rsm.c
6939
adapter = seg->s_adapter;
usr/src/uts/common/io/rsm/rsm.c
7000
exportbell_ioctl(rsmseg_t *seg, int cmd /*ARGSUSED*/)
usr/src/uts/common/io/rsm/rsm.c
7009
request.rsmipc_key = seg->s_segid;
usr/src/uts/common/io/rsm/rsm.c
7012
e = rsmipc_send(seg->s_node, &request, RSM_NO_REPLY);
usr/src/uts/common/io/rsm/rsm.c
7024
importbell_ioctl(rsmseg_t *seg, int cmd /*ARGSUSED*/)
usr/src/uts/common/io/rsm/rsm.c
7034
ASSERT(seg->s_state != RSM_STATE_NEW &&
usr/src/uts/common/io/rsm/rsm.c
7035
seg->s_state != RSM_STATE_NEW_QUIESCED);
usr/src/uts/common/io/rsm/rsm.c
7037
request.rsmipc_key = seg->s_segid;
usr/src/uts/common/io/rsm/rsm.c
7040
index = rsmhash(seg->s_segid);
usr/src/uts/common/io/rsm/rsm.c
7045
if (seg->s_key == token->key) {
usr/src/uts/common/io/rsm/rsm.c
7263
rsmseg_t *seg;
usr/src/uts/common/io/rsm/rsm.c
7279
seg = (rsmseg_t *)rsmresource_lookup(rnum, RSM_LOCK);
usr/src/uts/common/io/rsm/rsm.c
7280
if (seg) {
usr/src/uts/common/io/rsm/rsm.c
7283
seg));
usr/src/uts/common/io/rsm/rsm.c
7284
if (seg->s_pollevent) {
usr/src/uts/common/io/rsm/rsm.c
7286
atomic_dec_32(&seg->s_pollevent);
usr/src/uts/common/io/rsm/rsm.c
7289
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
7961
rsmseg_t *seg;
usr/src/uts/common/io/rsm/rsm.c
8095
seg = rsmresource_seg(res, rnum, credp,
usr/src/uts/common/io/rsm/rsm.c
8097
if (seg->s_type == RSM_RESOURCE_EXPORT_SEGMENT) {
usr/src/uts/common/io/rsm/rsm.c
8098
error = rsmexport_ioctl(seg, &msg, cmd, arg, mode,
usr/src/uts/common/io/rsm/rsm.c
8106
seg = rsmresource_seg(res, rnum, credp,
usr/src/uts/common/io/rsm/rsm.c
8108
if (seg->s_type == RSM_RESOURCE_IMPORT_SEGMENT) {
usr/src/uts/common/io/rsm/rsm.c
8109
error = rsmimport_ioctl(seg, &msg, cmd, arg, mode,
usr/src/uts/common/io/rsm/rsm.c
8148
rsm_get_mapinfo(rsmseg_t *seg, off_t off, size_t len, off_t *dev_offset,
usr/src/uts/common/io/rsm/rsm.c
8166
p = seg->s_mapinfo;
usr/src/uts/common/io/rsm/rsm.c
8198
rsmseg_t *seg;
usr/src/uts/common/io/rsm/rsm.c
8213
seg = (rsmseg_t *)res;
usr/src/uts/common/io/rsm/rsm.c
8215
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
8217
ASSERT(seg->s_hdr.rsmrc_type == RSM_RESOURCE_IMPORT_SEGMENT);
usr/src/uts/common/io/rsm/rsm.c
8227
p->c_next = seg->s_ckl;
usr/src/uts/common/io/rsm/rsm.c
8228
seg->s_ckl = p;
usr/src/uts/common/io/rsm/rsm.c
8230
*pvtp = (void *)seg;
usr/src/uts/common/io/rsm/rsm.c
8232
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8248
rsmseg_t *seg = (rsmseg_t *)pvt;
usr/src/uts/common/io/rsm/rsm.c
8253
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
8255
ASSERT(seg->s_hdr.rsmrc_type == RSM_RESOURCE_IMPORT_SEGMENT);
usr/src/uts/common/io/rsm/rsm.c
8257
while (seg->s_state == RSM_STATE_MAP_QUIESCE) {
usr/src/uts/common/io/rsm/rsm.c
8258
if (cv_wait_sig(&seg->s_cv, &seg->s_lock) == 0) {
usr/src/uts/common/io/rsm/rsm.c
8261
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8266
ASSERT(seg->s_state == RSM_STATE_DISCONNECT ||
usr/src/uts/common/io/rsm/rsm.c
8267
seg->s_state == RSM_STATE_ACTIVE);
usr/src/uts/common/io/rsm/rsm.c
8269
if (seg->s_state == RSM_STATE_DISCONNECT)
usr/src/uts/common/io/rsm/rsm.c
8270
seg->s_flags |= RSM_IMPORT_DUMMY;
usr/src/uts/common/io/rsm/rsm.c
8275
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8291
rsmseg_t *seg = (rsmseg_t *)oldpvt;
usr/src/uts/common/io/rsm/rsm.c
8302
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
8304
ASSERT(seg->s_hdr.rsmrc_type == RSM_RESOURCE_IMPORT_SEGMENT);
usr/src/uts/common/io/rsm/rsm.c
8309
for (old = seg->s_ckl; old != NULL; old = old->c_next) {
usr/src/uts/common/io/rsm/rsm.c
8317
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8326
p->c_next = seg->s_ckl;
usr/src/uts/common/io/rsm/rsm.c
8327
seg->s_ckl = p;
usr/src/uts/common/io/rsm/rsm.c
8329
*newpvt = (void *)seg;
usr/src/uts/common/io/rsm/rsm.c
8331
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8346
rsmseg_t *seg = (rsmseg_t *)pvtp;
usr/src/uts/common/io/rsm/rsm.c
8356
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
8358
ASSERT(seg->s_hdr.rsmrc_type == RSM_RESOURCE_IMPORT_SEGMENT);
usr/src/uts/common/io/rsm/rsm.c
8370
rsmcookie_t *tmp, **back = &seg->s_ckl;
usr/src/uts/common/io/rsm/rsm.c
8393
if ((seg->s_ckl == NULL) && (seg->s_state != RSM_STATE_MAPPING))
usr/src/uts/common/io/rsm/rsm.c
8394
(void) rsm_unmap(seg);
usr/src/uts/common/io/rsm/rsm.c
8396
if (seg->s_state == RSM_STATE_END && seg->s_ckl == NULL) {
usr/src/uts/common/io/rsm/rsm.c
8402
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8406
rsmseg_free(seg);
usr/src/uts/common/io/rsm/rsm.c
8428
rsmseg_t *seg;
usr/src/uts/common/io/rsm/rsm.c
8438
seg = (rsmseg_t *)rsmresource_lookup(rnum, RSM_NOLOCK);
usr/src/uts/common/io/rsm/rsm.c
8439
ASSERT(seg != NULL);
usr/src/uts/common/io/rsm/rsm.c
8441
if (seg->s_hdr.rsmrc_type == RSM_RESOURCE_BAR) {
usr/src/uts/common/io/rsm/rsm.c
8474
ASSERT(seg->s_hdr.rsmrc_type == RSM_RESOURCE_IMPORT_SEGMENT);
usr/src/uts/common/io/rsm/rsm.c
8475
ASSERT(seg->s_state == RSM_STATE_MAPPING);
usr/src/uts/common/io/rsm/rsm.c
8481
if (seg->s_mode & RSM_PERM_READ) {
usr/src/uts/common/io/rsm/rsm.c
8485
if (seg->s_mode & RSM_PERM_WRITE) {
usr/src/uts/common/io/rsm/rsm.c
8500
if (seg->s_node != my_nodeid) {
usr/src/uts/common/io/rsm/rsm.c
8503
p = rsm_get_mapinfo(seg, off, len, &dev_offset, &cur_len);
usr/src/uts/common/io/rsm/rsm.c
8532
seg->s_cookie, off, len, maxprot,
usr/src/uts/common/io/rsm/rsm.c
8562
rsmseg_t *seg, *eseg;
usr/src/uts/common/io/rsm/rsm.c
8573
seg = (rsmseg_t *)rsmresource_lookup(rnum, RSM_LOCK);
usr/src/uts/common/io/rsm/rsm.c
8575
if (seg == NULL) {
usr/src/uts/common/io/rsm/rsm.c
8586
if (seg->s_hdr.rsmrc_type == RSM_RESOURCE_BAR) {
usr/src/uts/common/io/rsm/rsm.c
8587
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8616
if (seg->s_hdr.rsmrc_type != RSM_RESOURCE_IMPORT_SEGMENT) {
usr/src/uts/common/io/rsm/rsm.c
8617
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8623
ASSERT(seg->s_hdr.rsmrc_num == rnum);
usr/src/uts/common/io/rsm/rsm.c
8626
while (seg->s_state == RSM_STATE_CONN_QUIESCE) {
usr/src/uts/common/io/rsm/rsm.c
8627
if (cv_wait_sig(&seg->s_cv, &seg->s_lock) == 0) {
usr/src/uts/common/io/rsm/rsm.c
8628
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8636
while (seg->s_state == RSM_STATE_MAPPING)
usr/src/uts/common/io/rsm/rsm.c
8637
cv_wait(&seg->s_cv, &seg->s_lock);
usr/src/uts/common/io/rsm/rsm.c
8645
if ((seg->s_state != RSM_STATE_CONNECT) &&
usr/src/uts/common/io/rsm/rsm.c
8646
(seg->s_state != RSM_STATE_ACTIVE)) {
usr/src/uts/common/io/rsm/rsm.c
8647
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8657
if ((size_t)off + ptob(btopr(len)) > seg->s_len) {
usr/src/uts/common/io/rsm/rsm.c
8658
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8668
if (seg->s_mode & RSM_PERM_READ) {
usr/src/uts/common/io/rsm/rsm.c
8672
if (seg->s_mode & RSM_PERM_WRITE) {
usr/src/uts/common/io/rsm/rsm.c
8678
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8684
old_state = seg->s_state;
usr/src/uts/common/io/rsm/rsm.c
8686
ASSERT(seg->s_share != NULL);
usr/src/uts/common/io/rsm/rsm.c
8688
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
8690
sharedp = seg->s_share;
usr/src/uts/common/io/rsm/rsm.c
8697
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8698
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8709
if (seg->s_node != my_nodeid) {
usr/src/uts/common/io/rsm/rsm.c
8715
size_t length_to_map = seg->s_len;
usr/src/uts/common/io/rsm/rsm.c
8725
adapter = seg->s_adapter;
usr/src/uts/common/io/rsm/rsm.c
8732
while (total_length_mapped < seg->s_len) {
usr/src/uts/common/io/rsm/rsm.c
8736
seg->s_handle.in, tmp_off,
usr/src/uts/common/io/rsm/rsm.c
8760
seg->s_mapinfo = sharedp->rsmsi_mapinfo;
usr/src/uts/common/io/rsm/rsm.c
8769
(void) seg->s_adapter->rsmpi_ops->
usr/src/uts/common/io/rsm/rsm.c
8776
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8777
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8796
seg->s_mapinfo = sharedp->rsmsi_mapinfo;
usr/src/uts/common/io/rsm/rsm.c
8801
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8804
seg->s_state = RSM_STATE_MAPPING;
usr/src/uts/common/io/rsm/rsm.c
8805
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8810
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
8811
ASSERT(seg->s_state == RSM_STATE_MAPPING);
usr/src/uts/common/io/rsm/rsm.c
8814
seg->s_state = RSM_STATE_ACTIVE;
usr/src/uts/common/io/rsm/rsm.c
8816
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
8831
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8832
seg->s_state = old_state;
usr/src/uts/common/io/rsm/rsm.c
8836
cv_broadcast(&seg->s_cv);
usr/src/uts/common/io/rsm/rsm.c
8837
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8859
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8880
seg->s_state = RSM_STATE_MAPPING;
usr/src/uts/common/io/rsm/rsm.c
8881
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8883
eseg = rsmexport_lookup(seg->s_key);
usr/src/uts/common/io/rsm/rsm.c
8886
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
8892
seg->s_state = old_state;
usr/src/uts/common/io/rsm/rsm.c
8893
cv_broadcast(&seg->s_cv);
usr/src/uts/common/io/rsm/rsm.c
8894
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8896
"rsm_segmap done: key %d not found\n", seg->s_key));
usr/src/uts/common/io/rsm/rsm.c
8900
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
8906
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8916
seg->s_cookie = eseg->s_cookie;
usr/src/uts/common/io/rsm/rsm.c
8923
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
8924
ASSERT(seg->s_state == RSM_STATE_MAPPING);
usr/src/uts/common/io/rsm/rsm.c
8926
seg->s_state = RSM_STATE_ACTIVE;
usr/src/uts/common/io/rsm/rsm.c
8928
rsmsharelock_acquire(seg);
usr/src/uts/common/io/rsm/rsm.c
8937
rsmsharelock_release(seg);
usr/src/uts/common/io/rsm/rsm.c
8938
seg->s_state = old_state;
usr/src/uts/common/io/rsm/rsm.c
8939
seg->s_cookie = NULL;
usr/src/uts/common/io/rsm/rsm.c
8941
cv_broadcast(&seg->s_cv);
usr/src/uts/common/io/rsm/rsm.c
8942
rsmseglock_release(seg);
usr/src/uts/common/io/rsm/rsmka_pathmanager.c
1739
rsmseg_t *seg;
usr/src/uts/common/io/rsm/rsmka_pathmanager.c
1752
seg = (rsmseg_t *)p;
usr/src/uts/common/io/rsm/rsmka_pathmanager.c
1762
rsmseglock_acquire(seg);
usr/src/uts/common/io/rsm/rsmka_pathmanager.c
1763
seg->s_flags |= RSM_FORCE_DISCONNECT;
usr/src/uts/common/io/rsm/rsmka_pathmanager.c
1764
rsmseg_unload(seg);
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
332
uint32_t len, seg, off, result, amt, msg[PMCS_MSG_SIZE], *ptr;
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
337
seg = off = 0;
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
345
__func__, seg, off, amt);
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
397
__func__, seg);
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
401
"%s: segment %d downloaded", __func__, seg);
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
405
"%s: segment %d header error", __func__, seg);
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
409
"%s: segment %d offset error", __func__, seg);
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
413
"%s: segment %d update crc error", __func__, seg);
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
417
"%s: segment %d length error", __func__, seg);
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
421
"%s: segment %d hw error", __func__, seg);
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
426
__func__, seg);
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
431
__func__, seg);
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
436
__func__, seg, msg[2]);
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_nvram.c
440
seg++;
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_subr.c
6202
int seg, tsc;
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_subr.c
6258
for (seg = 0; seg < CMD2PKT(sp)->pkt_numcookies; seg++) {
usr/src/uts/common/io/scsi/adapters/pmcs/pmcs_subr.c
6274
seg < (CMD2PKT(sp)->pkt_numcookies - 1)) {
usr/src/uts/common/io/scsi/impl/scsi_hba.c
231
struct seg *seg,
usr/src/uts/common/io/scsi/impl/scsi_hba.c
2885
struct seg *seg,
usr/src/uts/common/io/usb/usba/hubdi.c
254
struct seg *seg,
usr/src/uts/common/io/usb/usba/hubdi.c
68
struct seg *seg,
usr/src/uts/common/io/vuid_store.c
101
if (!vuid_get_int_bit(seg, pair))
usr/src/uts/common/io/vuid_store.c
102
(void) vuid_add_value(seg, pair);
usr/src/uts/common/io/vuid_store.c
104
pair_val_node = vuid_find_value(seg, pair);
usr/src/uts/common/io/vuid_store.c
111
if (!vuid_get_int_bit(seg, pair))
usr/src/uts/common/io/vuid_store.c
112
(void) vuid_add_value(seg, pair);
usr/src/uts/common/io/vuid_store.c
114
pair_val_node = vuid_find_value(seg, pair);
usr/src/uts/common/io/vuid_store.c
141
register Vuid_seg *seg;
usr/src/uts/common/io/vuid_store.c
146
if ((seg = vuid_find_seg(state, vuid_id_addr(id))) == VUID_SEG_NULL)
usr/src/uts/common/io/vuid_store.c
149
if (!vuid_get_int_bit(seg, offset))
usr/src/uts/common/io/vuid_store.c
150
return (vuid_get_boolean_bit(seg, offset) != 0);
usr/src/uts/common/io/vuid_store.c
153
val_node = vuid_find_value(seg, offset);
usr/src/uts/common/io/vuid_store.c
163
register Vuid_seg *seg;
usr/src/uts/common/io/vuid_store.c
166
for (seg = state; seg; seg = seg_next) {
usr/src/uts/common/io/vuid_store.c
167
seg_next = seg->next;
usr/src/uts/common/io/vuid_store.c
168
vuid_destroy_seg(seg);
usr/src/uts/common/io/vuid_store.c
173
vuid_destroy_seg(seg)
usr/src/uts/common/io/vuid_store.c
174
Vuid_seg *seg;
usr/src/uts/common/io/vuid_store.c
179
for (val_node = seg->list; val_node; val_node = val_node_next) {
usr/src/uts/common/io/vuid_store.c
183
vuid_free((caddr_t)seg, sizeof (Vuid_seg));
usr/src/uts/common/io/vuid_store.c
191
register Vuid_seg *seg;
usr/src/uts/common/io/vuid_store.c
196
for (seg = state; seg; seg = seg->next) {
usr/src/uts/common/io/vuid_store.c
197
new_seg = vuid_copy_seg(seg);
usr/src/uts/common/io/vuid_store.c
211
vuid_copy_seg(seg)
usr/src/uts/common/io/vuid_store.c
212
Vuid_seg *seg;
usr/src/uts/common/io/vuid_store.c
220
new_seg = (Vuid_seg *) vuid_alloc(sizeof (*seg));
usr/src/uts/common/io/vuid_store.c
221
*new_seg = *seg;
usr/src/uts/common/io/vuid_store.c
226
for (val_node = seg->list; val_node; val_node = val_node->next) {
usr/src/uts/common/io/vuid_store.c
247
register Vuid_seg *seg;
usr/src/uts/common/io/vuid_store.c
249
for (seg = state; seg; seg = seg->next) {
usr/src/uts/common/io/vuid_store.c
250
if (seg->addr == addr)
usr/src/uts/common/io/vuid_store.c
251
return (seg);
usr/src/uts/common/io/vuid_store.c
257
vuid_find_value(seg, offset)
usr/src/uts/common/io/vuid_store.c
258
Vuid_seg *seg;
usr/src/uts/common/io/vuid_store.c
263
for (val_node = seg->list; val_node; val_node = val_node->next) {
usr/src/uts/common/io/vuid_store.c
271
vuid_add_value(seg, offset)
usr/src/uts/common/io/vuid_store.c
272
Vuid_seg *seg;
usr/src/uts/common/io/vuid_store.c
283
list_tmp = seg->list;
usr/src/uts/common/io/vuid_store.c
284
seg->list = val_node;
usr/src/uts/common/io/vuid_store.c
286
vuid_set_int_bit(seg, offset);
usr/src/uts/common/io/vuid_store.c
288
vuid_clear_boolean_bit(seg, offset);
usr/src/uts/common/io/vuid_store.c
62
register Vuid_seg *seg;
usr/src/uts/common/io/vuid_store.c
70
if ((seg = vuid_find_seg(state, vuid_id_addr(event->id))) ==
usr/src/uts/common/io/vuid_store.c
73
seg = (Vuid_seg *) vuid_alloc(sizeof (*seg));
usr/src/uts/common/io/vuid_store.c
74
bzero((caddr_t)seg, sizeof (*seg));
usr/src/uts/common/io/vuid_store.c
75
seg->addr = vuid_id_addr(event->id);
usr/src/uts/common/io/vuid_store.c
77
*state_ptr = seg;
usr/src/uts/common/io/vuid_store.c
78
seg->next = state;
usr/src/uts/common/io/vuid_store.c
80
int_bit = vuid_get_int_bit(seg, offset);
usr/src/uts/common/io/vuid_store.c
83
(void) vuid_add_value(seg, offset);
usr/src/uts/common/io/vuid_store.c
89
vuid_set_boolean_bit(seg, offset);
usr/src/uts/common/io/vuid_store.c
91
vuid_clear_boolean_bit(seg, offset);
usr/src/uts/common/io/vuid_store.c
94
val_node = vuid_find_value(seg, offset);
usr/src/uts/common/nfs/nfs4_clnt.h
1497
struct seg *, cred_t *,
usr/src/uts/common/nfs/nfs4_clnt.h
1499
caddr_t, struct seg *, cred_t *));
usr/src/uts/common/nfs/nfs4_clnt.h
249
struct seg *seg; /* segment to do i/o to */
usr/src/uts/common/nfs/nfs4_clnt.h
291
#define a_nfs4_seg a_args.a_read_args.seg
usr/src/uts/common/nfs/nfs_clnt.h
101
struct seg *seg; /* segment to do i/o to */
usr/src/uts/common/nfs/nfs_clnt.h
148
#define a_nfs_seg a_args.a_read_args.seg
usr/src/uts/common/nfs/rnode.h
344
struct seg *, cred_t *,
usr/src/uts/common/nfs/rnode.h
346
caddr_t, struct seg *, cred_t *));
usr/src/uts/common/os/dumpsubr.c
1435
struct seg *seg;
usr/src/uts/common/os/dumpsubr.c
1438
for (seg = AS_SEGFIRST(as); seg; seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/os/dumpsubr.c
1439
if (seg->s_as != as)
usr/src/uts/common/os/dumpsubr.c
1441
if (seg->s_ops == NULL)
usr/src/uts/common/os/dumpsubr.c
1443
SEGOP_DUMP(seg);
usr/src/uts/common/os/dumpsubr.c
1447
if (seg != NULL)
usr/src/uts/common/os/dumpsubr.c
1449
(void *)seg, (void *)as);
usr/src/uts/common/os/exec.c
1361
struct seg *seg;
usr/src/uts/common/os/exec.c
1390
seg = as_segat(curproc->p_as, (caddr_t)end);
usr/src/uts/common/os/exec.c
1391
if (seg != NULL)
usr/src/uts/common/os/exec.c
1392
SEGOP_GETPROT(seg, (caddr_t)end, zfoddiff - 1,
usr/src/uts/common/os/exec.c
1396
if (seg != NULL && (zprot & PROT_WRITE) == 0) {
usr/src/uts/common/os/exec.c
1406
if (seg != NULL && (zprot & PROT_WRITE) == 0)
usr/src/uts/common/os/exec.c
1414
if (seg != NULL && (zprot & PROT_WRITE) == 0)
usr/src/uts/common/os/lgrp.c
3511
lgrp_mem_policy_get(struct seg *seg, caddr_t vaddr)
usr/src/uts/common/os/lgrp.c
3522
if (seg->s_ops != &segvn_ops && seg->s_ops != &segspt_ops &&
usr/src/uts/common/os/lgrp.c
3523
seg->s_ops != &segspt_shmops)
usr/src/uts/common/os/lgrp.c
3527
if (seg->s_ops->getpolicy != NULL)
usr/src/uts/common/os/lgrp.c
3528
policy_info = SEGOP_GETPOLICY(seg, vaddr);
usr/src/uts/common/os/lgrp.c
3638
lgrp_mem_choose(struct seg *seg, caddr_t vaddr, size_t pgsz)
usr/src/uts/common/os/lgrp.c
3649
extern struct seg *segkmap;
usr/src/uts/common/os/lgrp.c
3662
if (seg != NULL) {
usr/src/uts/common/os/lgrp.c
3663
if (seg->s_as == &kas) {
usr/src/uts/common/os/lgrp.c
3664
if (seg == segkmap)
usr/src/uts/common/os/lgrp.c
3670
policy_info = lgrp_mem_policy_get(seg, vaddr);
usr/src/uts/common/os/lgrp.c
3859
off = ((unsigned long)(vaddr - seg->s_base) / pgsz) %
usr/src/uts/common/os/lgrp.c
4097
lgrp_shm_policy_split(avl_tree_t *tree, lgrp_shm_policy_seg_t *seg,
usr/src/uts/common/os/lgrp.c
4103
ASSERT(seg != NULL && (off >= seg->shm_off &&
usr/src/uts/common/os/lgrp.c
4104
off <= seg->shm_off + seg->shm_size));
usr/src/uts/common/os/lgrp.c
4106
if (!seg || off < seg->shm_off ||
usr/src/uts/common/os/lgrp.c
4107
off > seg->shm_off + seg->shm_size) {
usr/src/uts/common/os/lgrp.c
4111
if (off == seg->shm_off || off == seg->shm_off + seg->shm_size)
usr/src/uts/common/os/lgrp.c
4112
return (seg);
usr/src/uts/common/os/lgrp.c
4118
newseg->shm_policy = seg->shm_policy;
usr/src/uts/common/os/lgrp.c
4120
newseg->shm_size = seg->shm_size - (off - seg->shm_off);
usr/src/uts/common/os/lgrp.c
4121
seg->shm_size = off - seg->shm_off;
usr/src/uts/common/os/lgrp.c
4150
lgrp_shm_policy_seg_t *seg;
usr/src/uts/common/os/lgrp.c
4238
seg = avl_find(tree, &off, &where);
usr/src/uts/common/os/lgrp.c
4245
if (seg == NULL) {
usr/src/uts/common/os/lgrp.c
4258
seg = AVL_NEXT(tree, newseg);
usr/src/uts/common/os/lgrp.c
4259
if (seg == NULL || off + len <= seg->shm_off) {
usr/src/uts/common/os/lgrp.c
4263
newseg->shm_size = seg->shm_off - off;
usr/src/uts/common/os/lgrp.c
4264
off = seg->shm_off;
usr/src/uts/common/os/lgrp.c
4283
oldeoff = seg->shm_off + seg->shm_size;
usr/src/uts/common/os/lgrp.c
4288
if (policy == seg->shm_policy.mem_policy) {
usr/src/uts/common/os/lgrp.c
4306
if (off == seg->shm_off && len == seg->shm_size) {
usr/src/uts/common/os/lgrp.c
4310
seg->shm_policy.mem_policy = policy;
usr/src/uts/common/os/lgrp.c
4311
seg->shm_policy.mem_lgrpid = LGRP_NONE;
usr/src/uts/common/os/lgrp.c
4320
prev = AVL_PREV(tree, seg);
usr/src/uts/common/os/lgrp.c
4321
next = AVL_NEXT(tree, seg);
usr/src/uts/common/os/lgrp.c
4322
(void) lgrp_shm_policy_concat(tree, seg, next);
usr/src/uts/common/os/lgrp.c
4323
(void) lgrp_shm_policy_concat(tree, prev, seg);
usr/src/uts/common/os/lgrp.c
4335
if (off > seg->shm_off) {
usr/src/uts/common/os/lgrp.c
4336
newseg = lgrp_shm_policy_split(tree, seg, off);
usr/src/uts/common/os/lgrp.c
4364
(void) lgrp_shm_policy_split(tree, seg,
usr/src/uts/common/os/lgrp.c
4366
seg->shm_policy.mem_policy = policy;
usr/src/uts/common/os/lgrp.c
4367
seg->shm_policy.mem_lgrpid = LGRP_NONE;
usr/src/uts/common/os/lgrp.c
4370
if (off == seg->shm_off)
usr/src/uts/common/os/lgrp.c
4372
AVL_PREV(tree, seg), seg);
usr/src/uts/common/os/mem_config.c
1079
memseg_is_dynamic(struct memseg *seg)
usr/src/uts/common/os/mem_config.c
1081
return (seg->msegflags & MEMSEG_DYNAMIC);
usr/src/uts/common/os/mem_config.c
1091
struct memseg *seg;
usr/src/uts/common/os/mem_config.c
1177
for (seg = memsegs; seg; seg = seg->next) {
usr/src/uts/common/os/mem_config.c
1180
if (seg->pages_base >= p_end ||
usr/src/uts/common/os/mem_config.c
1181
seg->pages_end <= mdsp->mds_base) {
usr/src/uts/common/os/mem_config.c
1185
mseg_start = memseg_get_start(seg);
usr/src/uts/common/os/mem_config.c
1187
if (memseg_includes_meta(seg)) {
usr/src/uts/common/os/mem_config.c
1193
seg->pages_end > p_end) {
usr/src/uts/common/os/mem_config.c
1197
pages_checked += seg->pages_end - mseg_start;
usr/src/uts/common/os/mem_config.c
1204
if (seg->pages_base < mdsp->mds_base ||
usr/src/uts/common/os/mem_config.c
1205
seg->pages_end > p_end) {
usr/src/uts/common/os/mem_config.c
1211
if (mdsp->mds_base < seg->pages_base)
usr/src/uts/common/os/mem_config.c
1212
abase = seg->pages_base;
usr/src/uts/common/os/mem_config.c
1215
if (p_end > seg->pages_end)
usr/src/uts/common/os/mem_config.c
1216
anpgs = seg->pages_end - abase;
usr/src/uts/common/os/mem_config.c
1229
seg->pages_end - seg->pages_base;
usr/src/uts/common/os/mem_config.c
1236
for (pp = seg->pages; pp < seg->epages; pp++) {
usr/src/uts/common/os/mem_config.c
1245
phys_pages += (seg->pages_end - mseg_start);
usr/src/uts/common/os/mem_config.c
1246
vm_pages += MSEG_NPAGES(seg);
usr/src/uts/common/os/mem_config.c
1298
struct memseg *lseg, *seg;
usr/src/uts/common/os/mem_config.c
130
struct memseg *seg;
usr/src/uts/common/os/mem_config.c
1310
seg = NULL;
usr/src/uts/common/os/mem_config.c
1315
if (seg == NULL ||
usr/src/uts/common/os/mem_config.c
1316
seg->pages_base > lseg->pages_base)
usr/src/uts/common/os/mem_config.c
1317
seg = lseg;
usr/src/uts/common/os/mem_config.c
1320
if (seg != NULL) {
usr/src/uts/common/os/mem_config.c
1321
mseg_start = memseg_get_start(seg);
usr/src/uts/common/os/mem_config.c
1327
seg->pages_end <= sbase) {
usr/src/uts/common/os/mem_config.c
1329
seg = NULL;
usr/src/uts/common/os/mem_config.c
1336
if (seg == NULL || mseg_start > sbase) {
usr/src/uts/common/os/mem_config.c
1339
a_end = (seg == NULL) ? p_end : mseg_start;
usr/src/uts/common/os/mem_config.c
1370
if (seg != NULL) {
usr/src/uts/common/os/mem_config.c
1372
if (seg->pages_base != mseg_start &&
usr/src/uts/common/os/mem_config.c
1373
seg->pages_base > sbase) {
usr/src/uts/common/os/mem_config.c
1380
skip_pgs = seg->pages_base - sbase;
usr/src/uts/common/os/mem_config.c
1390
ASSERT(seg->pages_base <= sbase);
usr/src/uts/common/os/mem_config.c
1394
for (pp = seg->pages +
usr/src/uts/common/os/mem_config.c
1395
(sbase - seg->pages_base);
usr/src/uts/common/os/mem_config.c
1396
snpgs != 0 && pp < seg->epages; pp++) {
usr/src/uts/common/os/mem_config.c
2602
memseg_remap_to_dummy(struct memseg *seg)
usr/src/uts/common/os/mem_config.c
2607
ASSERT(memseg_is_dynamic(seg));
usr/src/uts/common/os/mem_config.c
2611
if (!memseg_includes_meta(seg)) {
usr/src/uts/common/os/mem_config.c
2612
memseg_remap_meta(seg);
usr/src/uts/common/os/mem_config.c
2616
pp = (caddr_t)seg->pages;
usr/src/uts/common/os/mem_config.c
2617
metapgs = seg->pages_base - memseg_get_start(seg);
usr/src/uts/common/os/mem_config.c
2620
seg->pages_end = seg->pages_base;
usr/src/uts/common/os/mem_config.c
2631
memseg_lock_delete_all(struct memseg *seg)
usr/src/uts/common/os/mem_config.c
2635
for (pp = seg->pages; pp < seg->epages; pp++) {
usr/src/uts/common/os/mem_config.c
2645
struct memseg *seg;
usr/src/uts/common/os/mem_config.c
2665
for (segpp = &memsegs; (seg = *segpp) != NULL; ) {
usr/src/uts/common/os/mem_config.c
2666
if (seg->pages_base >= p_end ||
usr/src/uts/common/os/mem_config.c
2667
seg->pages_end <= mdsp->mds_base) {
usr/src/uts/common/os/mem_config.c
2672
ASSERT(seg->pages_base >= mdsp->mds_base);
usr/src/uts/common/os/mem_config.c
2673
ASSERT(seg->pages_end <= p_end);
usr/src/uts/common/os/mem_config.c
2675
PLCNT_MODIFY_MAX(seg->pages_base,
usr/src/uts/common/os/mem_config.c
2676
seg->pages_base - seg->pages_end);
usr/src/uts/common/os/mem_config.c
2679
hat_kpm_delmem_mseg_update(seg, segpp);
usr/src/uts/common/os/mem_config.c
2680
*segpp = seg->next;
usr/src/uts/common/os/mem_config.c
2682
npgs += MSEG_NPAGES(seg);
usr/src/uts/common/os/mem_config.c
2689
seg->lnext = seglist;
usr/src/uts/common/os/mem_config.c
2690
seglist = seg;
usr/src/uts/common/os/mem_config.c
2709
while ((seg = seglist) != NULL) {
usr/src/uts/common/os/mem_config.c
2715
seglist = seg->lnext;
usr/src/uts/common/os/mem_config.c
2722
memseg_lock_delete_all(seg);
usr/src/uts/common/os/mem_config.c
2728
mseg_base = seg->pages_base;
usr/src/uts/common/os/mem_config.c
2729
mseg_end = seg->pages_end;
usr/src/uts/common/os/mem_config.c
2730
mseg_npgs = MSEG_NPAGES(seg);
usr/src/uts/common/os/mem_config.c
2731
mseg_start = memseg_get_start(seg);
usr/src/uts/common/os/mem_config.c
2733
if (memseg_is_dynamic(seg)) {
usr/src/uts/common/os/mem_config.c
2735
memseg_remap_to_dummy(seg);
usr/src/uts/common/os/mem_config.c
2738
seg->lnext = memseg_va_avail;
usr/src/uts/common/os/mem_config.c
2739
memseg_va_avail = seg;
usr/src/uts/common/os/mem_config.c
2749
seg->pages_end = seg->pages_base;
usr/src/uts/common/os/mem_config.c
2752
seg->lnext = memseg_delete_junk;
usr/src/uts/common/os/mem_config.c
2753
memseg_delete_junk = seg;
usr/src/uts/common/os/mem_config.c
3108
struct memseg *seg;
usr/src/uts/common/os/mem_config.c
3123
for (segpp = &memsegs; (seg = *segpp) != NULL;
usr/src/uts/common/os/mem_config.c
3125
if (base >= seg->pages_base && base < seg->pages_end)
usr/src/uts/common/os/mem_config.c
3128
if (seg == NULL) {
usr/src/uts/common/os/mem_config.c
3132
if (memseg_includes_meta(seg)) {
usr/src/uts/common/os/mem_config.c
3136
if ((base + npgs) > seg->pages_end) {
usr/src/uts/common/os/mem_config.c
3146
ASSERT(base >= seg->pages_base);
usr/src/uts/common/os/mem_config.c
3147
size_low = base - seg->pages_base;
usr/src/uts/common/os/mem_config.c
3148
ASSERT(seg->pages_end >= (base + npgs));
usr/src/uts/common/os/mem_config.c
3149
size_high = seg->pages_end - (base + npgs);
usr/src/uts/common/os/mem_config.c
3178
seg_low->pages = seg->pages;
usr/src/uts/common/os/mem_config.c
3180
seg_low->pages_base = seg->pages_base;
usr/src/uts/common/os/mem_config.c
3183
seg_low->msegflags = seg->msegflags;
usr/src/uts/common/os/mem_config.c
3186
seg_high->pages = seg->epages - size_high;
usr/src/uts/common/os/mem_config.c
3188
seg_high->pages_base = seg->pages_end - size_high;
usr/src/uts/common/os/mem_config.c
3190
seg_high->next = seg->next;
usr/src/uts/common/os/mem_config.c
3191
seg_high->msegflags = seg->msegflags;
usr/src/uts/common/os/mem_config.c
3194
seg_mid->pages = seg->pages + size_low;
usr/src/uts/common/os/mem_config.c
3195
seg_mid->pages_base = seg->pages_base + size_low;
usr/src/uts/common/os/mem_config.c
3196
seg_mid->epages = seg->epages - size_high;
usr/src/uts/common/os/mem_config.c
3197
seg_mid->pages_end = seg->pages_end - size_high;
usr/src/uts/common/os/mem_config.c
3198
seg_mid->next = (seg_high != NULL) ? seg_high : seg->next;
usr/src/uts/common/os/mem_config.c
3199
seg_mid->msegflags = seg->msegflags;
usr/src/uts/common/os/mem_config.c
3205
hat_kpm_split_mseg_update(seg, segpp, seg_low, seg_mid, seg_high);
usr/src/uts/common/os/mem_config.c
3233
seg->lnext = memseg_edit_junk;
usr/src/uts/common/os/mem_config.c
3234
memseg_edit_junk = seg;
usr/src/uts/common/os/mem_config.c
3262
struct memseg *seg;
usr/src/uts/common/os/mem_config.c
3264
seg = kmem_cache_alloc(memseg_cache, KM_SLEEP);
usr/src/uts/common/os/mem_config.c
3265
bzero(seg, sizeof (struct memseg));
usr/src/uts/common/os/mem_config.c
3267
return (seg);
usr/src/uts/common/os/mem_config.c
3275
memseg_includes_meta(struct memseg *seg)
usr/src/uts/common/os/mem_config.c
3277
return (seg->msegflags & MEMSEG_META_INCL);
usr/src/uts/common/os/mem_config.c
3281
memseg_get_start(struct memseg *seg)
usr/src/uts/common/os/mem_config.c
3285
if (memseg_includes_meta(seg)) {
usr/src/uts/common/os/mem_config.c
3286
pt_start = hat_getpfnum(kas.a_hat, (caddr_t)seg->pages);
usr/src/uts/common/os/mem_config.c
3289
ASSERT(pt_start < seg->pages_base);
usr/src/uts/common/os/mem_config.c
3291
pt_start = seg->pages_base;
usr/src/uts/common/os/mem_config.c
388
seg = memseg_reuse(0);
usr/src/uts/common/os/mem_config.c
399
seg = memseg_reuse(metapgs);
usr/src/uts/common/os/mem_config.c
400
reuse = (seg != NULL);
usr/src/uts/common/os/mem_config.c
420
if (seg == NULL) {
usr/src/uts/common/os/mem_config.c
421
seg = memseg_alloc();
usr/src/uts/common/os/mem_config.c
422
ASSERT(seg != NULL);
usr/src/uts/common/os/mem_config.c
423
seg->msegflags = flags;
usr/src/uts/common/os/mem_config.c
425
(void *)seg, (void *)(seg->pages));
usr/src/uts/common/os/mem_config.c
426
seg->pages = segpp;
usr/src/uts/common/os/mem_config.c
428
ASSERT(seg->msegflags == flags);
usr/src/uts/common/os/mem_config.c
429
ASSERT(seg->pages_base == seg->pages_end);
usr/src/uts/common/os/mem_config.c
431
(void *)seg, (void *)(seg->pages));
usr/src/uts/common/os/mem_config.c
434
seg->pages = segpp;
usr/src/uts/common/os/mem_config.c
438
seg->epages = seg->pages + npgs;
usr/src/uts/common/os/mem_config.c
439
seg->pages_base = base;
usr/src/uts/common/os/mem_config.c
440
seg->pages_end = base + npgs;
usr/src/uts/common/os/mem_config.c
448
pfn = seg->pages_base;
usr/src/uts/common/os/mem_config.c
464
vaddr = (caddr_t)seg->pages;
usr/src/uts/common/os/mem_config.c
482
hat_kpm_addmem_mseg_update(seg, nkpmpgs, kpm_pages_off);
usr/src/uts/common/os/mem_config.c
495
hat_kpm_addmem_mseg_insert(seg);
usr/src/uts/common/os/mem_config.c
497
seg->next = memsegs;
usr/src/uts/common/os/mem_config.c
500
hat_kpm_addmem_memsegs_update(seg);
usr/src/uts/common/os/mem_config.c
502
memsegs = seg;
usr/src/uts/common/os/mem_config.c
516
PLCNT_MODIFY_MAX(seg->pages_base, (long)npgs);
usr/src/uts/common/os/mem_config.c
521
for (pp = seg->pages; pp < seg->epages; pp++) {
usr/src/uts/common/os/mem_config.c
612
struct memseg **segpp, *seg;
usr/src/uts/common/os/mem_config.c
617
for (; (seg = *segpp) != NULL; segpp = &seg->lnext) {
usr/src/uts/common/os/mem_config.c
625
if ((seg->msegflags & (MEMSEG_META_INCL | MEMSEG_META_ALLOC))
usr/src/uts/common/os/mem_config.c
630
end = hat_kpm_mseg_reuse(seg);
usr/src/uts/common/os/mem_config.c
632
end = (caddr_t)seg->epages;
usr/src/uts/common/os/mem_config.c
637
if (!metapgs || btopr(end - (caddr_t)seg->pages) == metapgs) {
usr/src/uts/common/os/mem_config.c
638
*segpp = seg->lnext;
usr/src/uts/common/os/mem_config.c
639
seg->lnext = NULL;
usr/src/uts/common/os/mem_config.c
645
return (seg);
usr/src/uts/common/os/mmapobj.c
1459
struct seg *seg;
usr/src/uts/common/os/mmapobj.c
1495
seg = as_findseg(as, myaddr, 0);
usr/src/uts/common/os/mmapobj.c
1497
if (seg && seg->s_ops == &segdev_ops &&
usr/src/uts/common/os/mmapobj.c
1498
((SEGOP_GETTYPE(seg, myaddr) &
usr/src/uts/common/os/mmapobj.c
1500
myaddr >= seg->s_base &&
usr/src/uts/common/os/mmapobj.c
1502
seg->s_base + seg->s_size) {
usr/src/uts/common/os/shm.c
263
struct seg *segspt = NULL;
usr/src/uts/common/os/sunddi.c
8285
struct seg *seg;
usr/src/uts/common/os/sunddi.c
8394
for (seg = as_segat(as, addr); ; seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/os/sunddi.c
8395
if (seg == NULL || seg->s_base > addr + len)
usr/src/uts/common/os/sunddi.c
8397
if (seg->s_ops == &segdev_ops)
usr/src/uts/common/os/sunddi.c
8399
if (((seg->s_ops != &segvn_ops) &&
usr/src/uts/common/os/sunddi.c
8400
(seg->s_ops != &segspt_shmops)) ||
usr/src/uts/common/os/sunddi.c
8401
((SEGOP_GETVP(seg, addr, &vp) == 0 &&
usr/src/uts/common/os/sunddi.c
8403
(SEGOP_GETTYPE(seg, addr) & MAP_SHARED))) {
usr/src/uts/common/os/sunddi.c
904
ddi_map_fault(dev_info_t *dip, struct hat *hat, struct seg *seg,
usr/src/uts/common/os/sunddi.c
907
return (i_ddi_map_fault(dip, dip, hat, seg, addr, dp, pfn, prot, lock));
usr/src/uts/common/os/urw.c
106
if (seg->s_ops == &segvn_ops &&
usr/src/uts/common/os/urw.c
107
(svd = (struct segvn_data *)seg->s_data) != NULL &&
usr/src/uts/common/os/urw.c
118
(void) SEGOP_INCORE(seg, addr, PAGESIZE, &incore);
usr/src/uts/common/os/urw.c
186
struct seg *seg;
usr/src/uts/common/os/urw.c
204
if ((seg = as_segat(as, page)) == NULL ||
usr/src/uts/common/os/urw.c
205
!page_valid(seg, page)) {
usr/src/uts/common/os/urw.c
209
SEGOP_GETPROT(seg, page, 0, &prot);
usr/src/uts/common/os/urw.c
214
err = SEGOP_SETPROT(seg, page, PAGESIZE, prot | prot_rw);
usr/src/uts/common/os/urw.c
239
else if (seg->s_ops == &segvn_ops)
usr/src/uts/common/os/urw.c
244
if (SEGOP_FAULT(as->a_hat, seg, page, PAGESIZE, F_SOFTLOCK, rw)) {
usr/src/uts/common/os/urw.c
246
(void) SEGOP_SETPROT(seg, page, PAGESIZE, prot);
usr/src/uts/common/os/urw.c
268
if (seg->s_ops == &segdev_ops) {
usr/src/uts/common/os/urw.c
274
if (segdev_copyto(seg, addr, buf, vaddr, len))
usr/src/uts/common/os/urw.c
277
if (segdev_copyfrom(seg, addr, vaddr, buf, len))
usr/src/uts/common/os/urw.c
303
(void) SEGOP_FAULT(as->a_hat, seg, page, PAGESIZE, F_SOFTUNLOCK, rw);
usr/src/uts/common/os/urw.c
306
(void) SEGOP_SETPROT(seg, page, PAGESIZE, prot);
usr/src/uts/common/os/urw.c
61
page_valid(struct seg *seg, caddr_t addr)
usr/src/uts/common/os/urw.c
72
if (seg->s_ops == &segvn_ops &&
usr/src/uts/common/os/urw.c
73
SEGOP_GETVP(seg, addr, &vp) == 0 &&
usr/src/uts/common/os/urw.c
77
u_offset_t offset = SEGOP_GETOFFSET(seg, addr);
usr/src/uts/common/os/urw.c
87
if (seg->s_ops == &segspt_shmops &&
usr/src/uts/common/os/urw.c
88
addr >= seg->s_base + spt_realsize(seg))
usr/src/uts/common/os/urw.c
96
if (seg->s_ops == &segdev_ops &&
usr/src/uts/common/os/urw.c
97
((SEGOP_GETTYPE(seg, addr) & (MAP_SHARED | MAP_PRIVATE)) == 0))
usr/src/uts/common/os/vm_subr.c
344
struct seg *seg;
usr/src/uts/common/os/vm_subr.c
356
seg = as_findseg(as, uaddr, 0);
usr/src/uts/common/os/vm_subr.c
357
if ((seg == NULL) || ((base = seg->s_base) > uaddr) ||
usr/src/uts/common/os/vm_subr.c
358
(uaddr + total) > base + seg->s_size) {
usr/src/uts/common/os/vm_subr.c
366
if (seg->s_ops != &segvn_ops) {
usr/src/uts/common/os/vm_subr.c
369
} else if ((SEGOP_GETTYPE(seg, uaddr) & MAP_PRIVATE) == 0) {
usr/src/uts/common/os/watchpoint.c
292
struct seg *seg;
usr/src/uts/common/os/watchpoint.c
298
seg = as_segat(as, addr);
usr/src/uts/common/os/watchpoint.c
299
ASSERT(seg != NULL);
usr/src/uts/common/os/watchpoint.c
300
SEGOP_GETPROT(seg, addr, 0, &oprot);
usr/src/uts/common/os/watchpoint.c
302
err = SEGOP_SETPROT(seg, addr, PAGESIZE, prot);
usr/src/uts/common/os/watchpoint.c
369
struct seg *seg;
usr/src/uts/common/os/watchpoint.c
388
if ((seg = as_segat(as, vaddr)) != NULL &&
usr/src/uts/common/os/watchpoint.c
391
err = SEGOP_SETPROT(seg, vaddr, PAGESIZE, prot);
usr/src/uts/common/os/zone.c
5839
struct seg *seg;
usr/src/uts/common/os/zone.c
5846
for (seg = AS_SEGFIRST(as); seg != NULL; seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/os/zone.c
5852
if (seg_can_change_zones(seg) == B_FALSE) {
usr/src/uts/common/os/zone.c
5861
if (SEGOP_GETVP(seg, seg->s_base, &vp) != 0 || vp == NULL)
usr/src/uts/common/os/zone.c
5879
struct seg *seg;
usr/src/uts/common/os/zone.c
5885
for (seg = AS_SEGFIRST(as); seg != NULL; seg = AS_SEGNEXT(as, seg))
usr/src/uts/common/os/zone.c
5886
swap += seg_swresv(seg);
usr/src/uts/common/sys/ddi_implfuncs.h
57
struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/common/sys/ddidevmap.h
198
struct seg *dh_seg; /* segment created for this mapping */
usr/src/uts/common/sys/devops.h
201
struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/common/sys/devops.h
326
struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/common/sys/fem.h
224
size_t plsz, struct seg *seg, caddr_t addr, \
usr/src/uts/common/sys/fem.h
365
struct seg *seg, caddr_t addr, enum seg_rw rw,
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_extern.h
544
MEMSEG *seg);
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_extern.h
546
MEMSEG *seg, void *bp);
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_extern.h
548
MEMSEG *seg);
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_extern.h
550
MEMSEG *seg);
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_extern.h
552
MEMSEG *seg);
usr/src/uts/common/sys/fs/ufs_inode.h
958
struct seg;
usr/src/uts/common/sys/fs/ufs_inode.h
970
struct seg *, int, uint_t *);
usr/src/uts/common/sys/lgrp.h
560
lgrp_t *lgrp_mem_choose(struct seg *, caddr_t, size_t);
usr/src/uts/common/sys/prsystm.h
61
struct seg;
usr/src/uts/common/sys/prsystm.h
69
extern uint_t pr_getprot(struct seg *, int, void **,
usr/src/uts/common/sys/prsystm.h
72
extern size_t pr_getsegsize(struct seg *, int);
usr/src/uts/common/sys/rsm/rsmapi_common.h
65
void *seg;
usr/src/uts/common/sys/shm_impl.h
70
struct seg *shm_sptseg; /* pointer to ISM segment */
usr/src/uts/common/sys/sunddi.h
743
ddi_map_fault(dev_info_t *dip, struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/common/sys/vnode.h
1074
struct page **, size_t, struct seg *,
usr/src/uts/common/sys/vnode.h
1324
int vn_open(char *pnamep, enum uio_seg seg, int filemode, int createmode,
usr/src/uts/common/sys/vnode.h
1326
int vn_openat(char *pnamep, enum uio_seg seg, int filemode, int createmode,
usr/src/uts/common/sys/vnode.h
1329
int vn_create(char *pnamep, enum uio_seg seg, struct vattr *vap,
usr/src/uts/common/sys/vnode.h
1332
int vn_createat(char *pnamep, enum uio_seg seg, struct vattr *vap,
usr/src/uts/common/sys/vnode.h
1336
offset_t offset, enum uio_seg seg, int ioflag, rlim64_t ulimit,
usr/src/uts/common/sys/vnode.h
1342
int vn_link(char *from, char *to, enum uio_seg seg);
usr/src/uts/common/sys/vnode.h
1344
vnode_t *tstartvp, char *to, enum uio_seg seg);
usr/src/uts/common/sys/vnode.h
1345
int vn_rename(char *from, char *to, enum uio_seg seg);
usr/src/uts/common/sys/vnode.h
1347
enum uio_seg seg);
usr/src/uts/common/sys/vnode.h
1348
int vn_remove(char *fnamep, enum uio_seg seg, enum rm dirflag);
usr/src/uts/common/sys/vnode.h
1349
int vn_removeat(vnode_t *startvp, char *fnamep, enum uio_seg seg,
usr/src/uts/common/sys/vnode.h
891
struct seg;
usr/src/uts/common/sys/vnode.h
967
struct page **, size_t, struct seg *, \
usr/src/uts/common/sys/vuid_store.h
100
((seg)->booleans[(offset)/BITSPERBYTE] & \
usr/src/uts/common/sys/vuid_store.h
103
#define vuid_set_int_bit(seg, offset) \
usr/src/uts/common/sys/vuid_store.h
104
(seg)->ints[(offset)/BITSPERBYTE] |= \
usr/src/uts/common/sys/vuid_store.h
106
#define vuid_clear_int_bit(seg, offset) \
usr/src/uts/common/sys/vuid_store.h
107
(seg)->ints[(offset)/BITSPERBYTE] &= \
usr/src/uts/common/sys/vuid_store.h
109
#define vuid_get_int_bit(seg, offset) \
usr/src/uts/common/sys/vuid_store.h
110
((seg)->ints[(offset)/BITSPERBYTE] & \
usr/src/uts/common/sys/vuid_store.h
93
#define vuid_set_boolean_bit(seg, offset) \
usr/src/uts/common/sys/vuid_store.h
94
(seg)->booleans[(offset)/BITSPERBYTE] |= \
usr/src/uts/common/sys/vuid_store.h
96
#define vuid_clear_boolean_bit(seg, offset) \
usr/src/uts/common/sys/vuid_store.h
97
(seg)->booleans[(offset)/BITSPERBYTE] &= \
usr/src/uts/common/sys/vuid_store.h
99
#define vuid_get_boolean_bit(seg, offset) \
usr/src/uts/common/syscall/open.c
120
error = lookupnameat(fname, seg, FOLLOW, NULLVPP, &vp, startvp);
usr/src/uts/common/syscall/open.c
194
seg = UIO_SYSSPACE;
usr/src/uts/common/syscall/open.c
217
error = vn_openat(open_filename, seg, filemode,
usr/src/uts/common/syscall/open.c
71
uio_seg_t seg = UIO_USERSPACE;
usr/src/uts/common/syscall/rlimit.c
117
struct seg *seg;
usr/src/uts/common/syscall/rlimit.c
118
struct seg *nextseg;
usr/src/uts/common/syscall/rlimit.c
143
for (seg = as_findseg(as, brkend, 0); seg != NULL;
usr/src/uts/common/syscall/rlimit.c
144
seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/syscall/rlimit.c
145
if (seg->s_base >= brkend) {
usr/src/uts/common/syscall/rlimit.c
146
nextseg = seg;
usr/src/uts/common/syscall/utssys.c
532
struct seg *seg;
usr/src/uts/common/syscall/utssys.c
536
for (seg = AS_SEGFIRST(as); seg;
usr/src/uts/common/syscall/utssys.c
537
seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/syscall/utssys.c
543
if ((SEGOP_GETVP(seg, seg->s_base, &vp)) ||
usr/src/uts/common/vm/anon.h
389
extern int anon_fill_cow_holes(struct seg *, caddr_t, struct anon_hdr *,
usr/src/uts/common/vm/anon.h
397
size_t, struct seg *, caddr_t, enum seg_rw, struct cred *);
usr/src/uts/common/vm/anon.h
400
spgcnt_t *, struct seg *, caddr_t,
usr/src/uts/common/vm/anon.h
403
uint_t, struct seg *, caddr_t, uint_t,
usr/src/uts/common/vm/anon.h
407
uint_t, struct seg *, caddr_t, uint_t,
usr/src/uts/common/vm/anon.h
409
extern struct page *anon_private(struct anon **, struct seg *,
usr/src/uts/common/vm/anon.h
412
extern struct page *anon_zero(struct seg *, caddr_t,
usr/src/uts/common/vm/anon.h
416
struct seg *, caddr_t,
usr/src/uts/common/vm/anon.h
419
struct seg *, caddr_t, uint_t,
usr/src/uts/common/vm/as.h
115
struct seg *a_seglast; /* last segment hit on the addr space */
usr/src/uts/common/vm/as.h
118
struct seg *a_lastgap; /* last seg found by as_gap() w/ AS_HI (mmap) */
usr/src/uts/common/vm/as.h
119
struct seg *a_lastgaphl; /* last seg saved in as_gap() either for */
usr/src/uts/common/vm/as.h
256
#define AS_SEGNEXT(as, seg) AVL_NEXT(&(as)->a_segtree, (seg))
usr/src/uts/common/vm/as.h
257
#define AS_SEGPREV(as, seg) AVL_PREV(&(as)->a_segtree, (seg))
usr/src/uts/common/vm/as.h
259
typedef int (*segcreate_func_t)(struct seg **, void *);
usr/src/uts/common/vm/as.h
263
struct seg *as_segat(struct as *as, caddr_t addr);
usr/src/uts/common/vm/as.h
269
struct seg *as_findseg(struct as *as, caddr_t addr, int tail);
usr/src/uts/common/vm/as.h
270
int as_addseg(struct as *as, struct seg *newseg);
usr/src/uts/common/vm/as.h
271
struct seg *as_removeseg(struct as *as, struct seg *seg);
usr/src/uts/common/vm/page.h
709
int page_alloc_pages(struct vnode *, struct seg *, caddr_t, page_t **,
usr/src/uts/common/vm/page.h
712
uint_t flags, struct seg *seg, caddr_t vaddr, void *arg);
usr/src/uts/common/vm/page.h
714
struct seg *, caddr_t);
usr/src/uts/common/vm/page.h
734
page_t *page_get_freelist(struct vnode *, u_offset_t, struct seg *,
usr/src/uts/common/vm/page.h
737
page_t *page_get_cachelist(struct vnode *, u_offset_t, struct seg *,
usr/src/uts/common/vm/page.h
849
void page_mark_migrate(struct seg *, caddr_t, size_t, struct anon_map *,
usr/src/uts/common/vm/page.h
851
void page_migrate(struct seg *, caddr_t, page_t **, pgcnt_t);
usr/src/uts/common/vm/pvn.h
60
struct seg *seg, caddr_t addr, u_offset_t *offp,
usr/src/uts/common/vm/pvn.h
78
struct page *[], size_t, struct seg *,
usr/src/uts/common/vm/pvn.h
82
struct seg *seg, caddr_t addr, enum seg_rw rw,
usr/src/uts/common/vm/seg.h
119
int (*dup)(struct seg *, struct seg *);
usr/src/uts/common/vm/seg.h
120
int (*unmap)(struct seg *, caddr_t, size_t);
usr/src/uts/common/vm/seg.h
121
void (*free)(struct seg *);
usr/src/uts/common/vm/seg.h
122
faultcode_t (*fault)(struct hat *, struct seg *, caddr_t, size_t,
usr/src/uts/common/vm/seg.h
124
faultcode_t (*faulta)(struct seg *, caddr_t);
usr/src/uts/common/vm/seg.h
125
int (*setprot)(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg.h
126
int (*checkprot)(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg.h
127
int (*kluster)(struct seg *, caddr_t, ssize_t);
usr/src/uts/common/vm/seg.h
128
size_t (*swapout)(struct seg *);
usr/src/uts/common/vm/seg.h
129
int (*sync)(struct seg *, caddr_t, size_t, int, uint_t);
usr/src/uts/common/vm/seg.h
130
size_t (*incore)(struct seg *, caddr_t, size_t, char *);
usr/src/uts/common/vm/seg.h
131
int (*lockop)(struct seg *, caddr_t, size_t, int, int, ulong_t *,
usr/src/uts/common/vm/seg.h
133
int (*getprot)(struct seg *, caddr_t, size_t, uint_t *);
usr/src/uts/common/vm/seg.h
134
u_offset_t (*getoffset)(struct seg *, caddr_t);
usr/src/uts/common/vm/seg.h
135
int (*gettype)(struct seg *, caddr_t);
usr/src/uts/common/vm/seg.h
136
int (*getvp)(struct seg *, caddr_t, struct vnode **);
usr/src/uts/common/vm/seg.h
137
int (*advise)(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg.h
138
void (*dump)(struct seg *);
usr/src/uts/common/vm/seg.h
139
int (*pagelock)(struct seg *, caddr_t, size_t, struct page ***,
usr/src/uts/common/vm/seg.h
141
int (*setpagesize)(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg.h
142
int (*getmemid)(struct seg *, caddr_t, memid_t *);
usr/src/uts/common/vm/seg.h
143
struct lgrp_mem_policy_info *(*getpolicy)(struct seg *, caddr_t);
usr/src/uts/common/vm/seg.h
144
int (*capable)(struct seg *, segcapability_t);
usr/src/uts/common/vm/seg.h
145
int (*inherit)(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg.h
154
extern struct seg *seg_alloc(struct as *as, caddr_t base, size_t size);
usr/src/uts/common/vm/seg.h
156
struct seg *seg);
usr/src/uts/common/vm/seg.h
157
extern void seg_unmap(struct seg *seg);
usr/src/uts/common/vm/seg.h
158
extern void seg_free(struct seg *seg);
usr/src/uts/common/vm/seg.h
166
extern struct page **seg_plookup(struct seg *seg, struct anon_map *amp,
usr/src/uts/common/vm/seg.h
168
extern void seg_pinactive(struct seg *seg, struct anon_map *amp,
usr/src/uts/common/vm/seg.h
172
extern void seg_ppurge(struct seg *seg, struct anon_map *amp,
usr/src/uts/common/vm/seg.h
176
extern int seg_pinsert_check(struct seg *seg, struct anon_map *amp,
usr/src/uts/common/vm/seg.h
178
extern int seg_pinsert(struct seg *seg, struct anon_map *amp,
usr/src/uts/common/vm/seg.h
244
#define seg_page(seg, addr) \
usr/src/uts/common/vm/seg.h
245
(((uintptr_t)((addr) - (seg)->s_base)) >> PAGESHIFT)
usr/src/uts/common/vm/seg.h
247
#define seg_pages(seg) \
usr/src/uts/common/vm/seg.h
248
(((uintptr_t)((seg)->s_size + PAGEOFFSET)) >> PAGESHIFT)
usr/src/uts/common/vm/seg.h
257
int seg_inherit_notsup(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg.h
274
uint_t seg_page(struct seg *, caddr_t);
usr/src/uts/common/vm/seg.h
275
uint_t seg_pages(struct seg *);
usr/src/uts/common/vm/seg.h
279
boolean_t seg_can_change_zones(struct seg *);
usr/src/uts/common/vm/seg.h
280
size_t seg_swresv(struct seg *);
usr/src/uts/common/vm/seg_dev.c
1084
register struct seg *seg = dhp->dh_seg;
usr/src/uts/common/vm/seg_dev.c
1085
register struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
1102
off = (ulong_t)sdp->offset + (addr - seg->s_base);
usr/src/uts/common/vm/seg_dev.c
1126
segdev_free(struct seg *seg)
usr/src/uts/common/vm/seg_dev.c
1128
register struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
1132
"segdev_free: dhp=%p seg=%p", (void *)dhp, (void *)seg);
usr/src/uts/common/vm/seg_dev.c
1134
(void *)dhp, (void *)seg));
usr/src/uts/common/vm/seg_dev.c
1140
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
1147
kmem_free(sdp->vpage, vpgtob(seg_pages(seg)));
usr/src/uts/common/vm/seg_dev.c
1325
struct seg *seg, /* seg_dev of interest */
usr/src/uts/common/vm/seg_dev.c
1330
struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
1390
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_dev.c
1391
mutex_enter(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_dev.c
1392
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_dev.c
1393
AS_CLRUNMAPWAIT(seg->s_as);
usr/src/uts/common/vm/seg_dev.c
1394
cv_broadcast(&seg->s_as->a_cv);
usr/src/uts/common/vm/seg_dev.c
1396
mutex_exit(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_dev.c
1411
struct seg *seg, /* seg_dev of interest */
usr/src/uts/common/vm/seg_dev.c
1418
struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
1426
"segdev_faultpage: dhp=%p seg=%p addr=%p", dhp, seg, addr);
usr/src/uts/common/vm/seg_dev.c
1428
(void *)dhp, (void *)seg, (void *)addr));
usr/src/uts/common/vm/seg_dev.c
1468
offset = sdp->offset + (u_offset_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_dev.c
1589
if (ddi_map_fault(dip, hat, seg, addr, NULL, pfnum, prot & PROT_ALL,
usr/src/uts/common/vm/seg_dev.c
1599
struct seg *seg, /* the seg_dev of interest */
usr/src/uts/common/vm/seg_dev.c
1605
struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
1617
(void *)dhp_head, (void *)seg, (void *)addr, len, type);
usr/src/uts/common/vm/seg_dev.c
1620
(void *)dhp_head, (void *)seg, (void *)addr, len, type));
usr/src/uts/common/vm/seg_dev.c
1622
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
1626
return (segdev_faultpages(hat, seg, addr, len, type, rw, NULL));
usr/src/uts/common/vm/seg_dev.c
164
static int segdev_dup(struct seg *, struct seg *);
usr/src/uts/common/vm/seg_dev.c
165
static int segdev_unmap(struct seg *, caddr_t, size_t);
usr/src/uts/common/vm/seg_dev.c
166
static void segdev_free(struct seg *);
usr/src/uts/common/vm/seg_dev.c
167
static faultcode_t segdev_fault(struct hat *, struct seg *, caddr_t, size_t,
usr/src/uts/common/vm/seg_dev.c
169
static faultcode_t segdev_faulta(struct seg *, caddr_t);
usr/src/uts/common/vm/seg_dev.c
170
static int segdev_setprot(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_dev.c
171
static int segdev_checkprot(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_dev.c
173
static int segdev_sync(struct seg *, caddr_t, size_t, int, uint_t);
usr/src/uts/common/vm/seg_dev.c
174
static size_t segdev_incore(struct seg *, caddr_t, size_t, char *);
usr/src/uts/common/vm/seg_dev.c
175
static int segdev_lockop(struct seg *, caddr_t, size_t, int, int,
usr/src/uts/common/vm/seg_dev.c
177
static int segdev_getprot(struct seg *, caddr_t, size_t, uint_t *);
usr/src/uts/common/vm/seg_dev.c
178
static u_offset_t segdev_getoffset(struct seg *, caddr_t);
usr/src/uts/common/vm/seg_dev.c
179
static int segdev_gettype(struct seg *, caddr_t);
usr/src/uts/common/vm/seg_dev.c
180
static int segdev_getvp(struct seg *, caddr_t, struct vnode **);
usr/src/uts/common/vm/seg_dev.c
181
static int segdev_advise(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_dev.c
1812
aoff = sdp->offset + (offset_t)(laddr - seg->s_base);
usr/src/uts/common/vm/seg_dev.c
182
static void segdev_dump(struct seg *);
usr/src/uts/common/vm/seg_dev.c
183
static int segdev_pagelock(struct seg *, caddr_t, size_t,
usr/src/uts/common/vm/seg_dev.c
1830
err = segdev_faultpages(hat, seg, laddr, llen,
usr/src/uts/common/vm/seg_dev.c
185
static int segdev_setpagesize(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_dev.c
1851
(void) segdev_fault(hat, seg, addr, done,
usr/src/uts/common/vm/seg_dev.c
186
static int segdev_getmemid(struct seg *, caddr_t, memid_t *);
usr/src/uts/common/vm/seg_dev.c
187
static lgrp_mem_policy_info_t *segdev_getpolicy(struct seg *, caddr_t);
usr/src/uts/common/vm/seg_dev.c
188
static int segdev_capable(struct seg *, segcapability_t);
usr/src/uts/common/vm/seg_dev.c
1904
struct seg *seg, /* the seg_dev of interest */
usr/src/uts/common/vm/seg_dev.c
1911
register struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
1919
(void *)dhp, (void *)seg, (void *)addr, len);
usr/src/uts/common/vm/seg_dev.c
1922
(void *)dhp, (void *)seg, (void *)addr, len));
usr/src/uts/common/vm/seg_dev.c
1938
segdev_softunlock(hat, seg, addr, len, rw);
usr/src/uts/common/vm/seg_dev.c
2023
vpage = &sdp->vpage[seg_page(seg, addr)];
usr/src/uts/common/vm/seg_dev.c
2027
if (err = segdev_faultpage(hat, seg, a, vpage, type, rw, dhp)) {
usr/src/uts/common/vm/seg_dev.c
2038
segdev_softunlock(hat, seg, addr, done, S_OTHER);
usr/src/uts/common/vm/seg_dev.c
204
(size_t (*)(struct seg *))NULL, /* swapout */
usr/src/uts/common/vm/seg_dev.c
2058
segdev_faulta(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_dev.c
2061
"segdev_faulta: seg=%p addr=%p", (void *)seg, (void *)addr);
usr/src/uts/common/vm/seg_dev.c
2062
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
2068
segdev_setprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/common/vm/seg_dev.c
2070
register struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
2079
(void *)seg, (void *)addr, len, prot);
usr/src/uts/common/vm/seg_dev.c
2080
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
2120
if (addr == seg->s_base && len == seg->s_size && sdp->pageprot == 0) {
usr/src/uts/common/vm/seg_dev.c
2133
sdp->vpage = kmem_zalloc(vpgtob(seg_pages(seg)),
usr/src/uts/common/vm/seg_dev.c
2135
evp = &sdp->vpage[seg_pages(seg)];
usr/src/uts/common/vm/seg_dev.c
2142
evp = &sdp->vpage[seg_page(seg, addr + len)];
usr/src/uts/common/vm/seg_dev.c
2143
for (vp = &sdp->vpage[seg_page(seg, addr)]; vp < evp; vp++)
usr/src/uts/common/vm/seg_dev.c
2169
hat_unload(seg->s_as->a_hat, dhp->dh_uvaddr,
usr/src/uts/common/vm/seg_dev.c
2181
hat_unload(seg->s_as->a_hat, addr, len, HAT_UNLOAD);
usr/src/uts/common/vm/seg_dev.c
2188
hat_chgprot(seg->s_as->a_hat, addr, len, prot);
usr/src/uts/common/vm/seg_dev.c
2195
segdev_checkprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/common/vm/seg_dev.c
2197
struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
2202
(void *)seg, (void *)addr, len, prot);
usr/src/uts/common/vm/seg_dev.c
2203
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
2220
evp = &sdp->vpage[seg_page(seg, addr + len)];
usr/src/uts/common/vm/seg_dev.c
2221
for (vp = &sdp->vpage[seg_page(seg, addr)]; vp < evp; vp++) {
usr/src/uts/common/vm/seg_dev.c
2232
segdev_getprot(struct seg *seg, caddr_t addr, size_t len, uint_t *protv)
usr/src/uts/common/vm/seg_dev.c
2234
struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
2239
(void *)seg, (void *)addr, len, (void *)protv);
usr/src/uts/common/vm/seg_dev.c
2240
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
2242
pgno = seg_page(seg, addr + len) - seg_page(seg, addr) + 1;
usr/src/uts/common/vm/seg_dev.c
2250
size_t pgoff = seg_page(seg, addr);
usr/src/uts/common/vm/seg_dev.c
2264
segdev_getoffset(register struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_dev.c
2266
register struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
2269
"segdev_getoffset:start seg=%p addr=%p", (void *)seg, (void *)addr);
usr/src/uts/common/vm/seg_dev.c
227
static void segdev_softunlock(struct hat *, struct seg *, caddr_t,
usr/src/uts/common/vm/seg_dev.c
2271
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
2273
return ((u_offset_t)sdp->offset + (addr - seg->s_base));
usr/src/uts/common/vm/seg_dev.c
2278
segdev_gettype(register struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_dev.c
2280
register struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
2283
"segdev_gettype:start seg=%p addr=%p", (void *)seg, (void *)addr);
usr/src/uts/common/vm/seg_dev.c
2285
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
2293
segdev_getvp(register struct seg *seg, caddr_t addr, struct vnode **vpp)
usr/src/uts/common/vm/seg_dev.c
2295
register struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
2298
"segdev_getvp:start seg=%p addr=%p", (void *)seg, (void *)addr);
usr/src/uts/common/vm/seg_dev.c
230
static faultcode_t segdev_faultpage(struct hat *, struct seg *, caddr_t,
usr/src/uts/common/vm/seg_dev.c
2300
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
2326
segdev_sync(struct seg *seg, caddr_t addr, size_t len, int attr, uint_t flags)
usr/src/uts/common/vm/seg_dev.c
233
static faultcode_t segdev_faultpages(struct hat *, struct seg *, caddr_t,
usr/src/uts/common/vm/seg_dev.c
2330
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
2340
segdev_incore(struct seg *seg, caddr_t addr, size_t len, char *vec)
usr/src/uts/common/vm/seg_dev.c
2346
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
2360
segdev_lockop(struct seg *seg, caddr_t addr,
usr/src/uts/common/vm/seg_dev.c
2365
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
2376
segdev_advise(struct seg *seg, caddr_t addr, size_t len, uint_t behav)
usr/src/uts/common/vm/seg_dev.c
2380
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
2389
segdev_dump(struct seg *seg __unused)
usr/src/uts/common/vm/seg_dev.c
2477
segdev_pagelock(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_dev.c
2487
segdev_setpagesize(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_dev.c
252
struct seg *newseg);
usr/src/uts/common/vm/seg_dev.c
361
segdev_create(struct seg **segpp, void *argsp)
usr/src/uts/common/vm/seg_dev.c
363
struct seg *seg = *segpp;
usr/src/uts/common/vm/seg_dev.c
373
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
375
hat_map(seg->s_as->a_hat, seg->s_base, seg->s_size, HAT_MAP);
usr/src/uts/common/vm/seg_dev.c
4017
segdev_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
usr/src/uts/common/vm/seg_dev.c
4019
struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
4027
memidp->val[1] = sdp->offset + (uintptr_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_dev.c
4033
segdev_getpolicy(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_dev.c
4040
segdev_capable(struct seg *seg, segcapability_t capability)
usr/src/uts/common/vm/seg_dev.c
4059
struct seg kseg;
usr/src/uts/common/vm/seg_dev.c
4079
segdev_copyfrom(struct seg *seg,
usr/src/uts/common/vm/seg_dev.c
4082
struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
4086
(off_t)(uaddr - seg->s_base), devaddr, kaddr, len));
usr/src/uts/common/vm/seg_dev.c
409
seg->s_ops = &segdev_ops;
usr/src/uts/common/vm/seg_dev.c
4090
segdev_copyto(struct seg *seg,
usr/src/uts/common/vm/seg_dev.c
4093
struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
4097
(off_t)(uaddr - seg->s_base), kaddr, devaddr, len));
usr/src/uts/common/vm/seg_dev.c
410
seg->s_data = sdp;
usr/src/uts/common/vm/seg_dev.c
413
dhp->dh_seg = seg;
usr/src/uts/common/vm/seg_dev.c
425
seg->s_as, seg->s_base, seg->s_size,
usr/src/uts/common/vm/seg_dev.c
430
hat_unload(seg->s_as->a_hat, seg->s_base, seg->s_size,
usr/src/uts/common/vm/seg_dev.c
437
if ((SEGOP_GETTYPE(seg, (seg)->s_base) & (MAP_SHARED |
usr/src/uts/common/vm/seg_dev.c
439
seg->s_as->a_resvsize -= seg->s_size;
usr/src/uts/common/vm/seg_dev.c
461
segdev_dup(struct seg *seg, struct seg *newseg)
usr/src/uts/common/vm/seg_dev.c
463
struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
470
"segdev_dup:start dhp=%p, seg=%p", (void *)dhp, (void *)seg);
usr/src/uts/common/vm/seg_dev.c
473
(void *)dhp, (void *)seg));
usr/src/uts/common/vm/seg_dev.c
479
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
483
newseg->s_ops = seg->s_ops;
usr/src/uts/common/vm/seg_dev.c
521
ret, (void *)dhp, (void *)seg);
usr/src/uts/common/vm/seg_dev.c
524
ret, (void *)dhp, (void *)seg));
usr/src/uts/common/vm/seg_dev.c
543
struct seg *newseg)
usr/src/uts/common/vm/seg_dev.c
622
segdev_unmap(struct seg *seg, caddr_t addr, size_t len)
usr/src/uts/common/vm/seg_dev.c
624
register struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/common/vm/seg_dev.c
626
register struct seg *nseg;
usr/src/uts/common/vm/seg_dev.c
642
(void *)dhp, (void *)seg, (void *)addr, len);
usr/src/uts/common/vm/seg_dev.c
645
(void *)dhp, (void *)seg, (void *)addr, len));
usr/src/uts/common/vm/seg_dev.c
651
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_dev.c
667
if (addr < seg->s_base || addr + len > seg->s_base + seg->s_size ||
usr/src/uts/common/vm/seg_dev.c
692
hat_unload(seg->s_as->a_hat, dhpp->dh_uvaddr,
usr/src/uts/common/vm/seg_dev.c
700
hat_unload(seg->s_as->a_hat, addr, len,
usr/src/uts/common/vm/seg_dev.c
707
hat_unload(seg->s_as->a_hat, addr, len, HAT_UNLOAD_UNMAP);
usr/src/uts/common/vm/seg_dev.c
713
off = sdp->offset + (offset_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_dev.c
719
(void) VOP_DELMAP(VTOCVP(sdp->vp), off, seg->s_as, addr, len,
usr/src/uts/common/vm/seg_dev.c
725
if (addr == seg->s_base && len == seg->s_size) {
usr/src/uts/common/vm/seg_dev.c
726
seg_free(seg);
usr/src/uts/common/vm/seg_dev.c
730
opages = seg_pages(seg);
usr/src/uts/common/vm/seg_dev.c
737
if (addr == seg->s_base) {
usr/src/uts/common/vm/seg_dev.c
759
seg->s_base += len;
usr/src/uts/common/vm/seg_dev.c
760
seg->s_size -= len;
usr/src/uts/common/vm/seg_dev.c
768
if (addr + len == seg->s_base + seg->s_size) {
usr/src/uts/common/vm/seg_dev.c
781
seg->s_size -= len;
usr/src/uts/common/vm/seg_dev.c
798
nsize = (seg->s_base + seg->s_size) - nbase; /* new seg size */
usr/src/uts/common/vm/seg_dev.c
799
seg->s_size = addr - seg->s_base; /* shrink old seg */
usr/src/uts/common/vm/seg_dev.c
800
nseg = seg_alloc(seg->s_as, nbase, nsize);
usr/src/uts/common/vm/seg_dev.c
805
"segdev_unmap: seg=%p nseg=%p", (void *)seg, (void *)nseg);
usr/src/uts/common/vm/seg_dev.c
807
(void *)seg, (void *)nseg));
usr/src/uts/common/vm/seg_dev.c
810
nseg->s_ops = seg->s_ops;
usr/src/uts/common/vm/seg_dev.c
815
nsdp->offset = sdp->offset + (offset_t)(nseg->s_base - seg->s_base);
usr/src/uts/common/vm/seg_dev.c
837
npages = seg_pages(seg); /* seg has shrunk */
usr/src/uts/common/vm/seg_dev.h
120
#define SEG_IS_DEVNULL_MAPPING(seg) \
usr/src/uts/common/vm/seg_dev.h
121
((seg)->s_ops == &segdev_ops && \
usr/src/uts/common/vm/seg_dev.h
122
((SEGOP_GETTYPE(seg, (seg)->s_base) & (MAP_SHARED | MAP_PRIVATE)) == 0))
usr/src/uts/common/vm/seg_dev.h
126
extern int segdev_create(struct seg **, void *);
usr/src/uts/common/vm/seg_dev.h
128
extern int segdev_copyto(struct seg *, caddr_t, const void *, void *, size_t);
usr/src/uts/common/vm/seg_dev.h
129
extern int segdev_copyfrom(struct seg *, caddr_t, const void *, void *, size_t);
usr/src/uts/common/vm/seg_hole.c
102
seghole_dup(struct seg *seg, struct seg *newseg)
usr/src/uts/common/vm/seg_hole.c
104
seghole_data_t *shd = (seghole_data_t *)seg->s_data;
usr/src/uts/common/vm/seg_hole.c
107
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_hole.c
112
newseg->s_ops = seg->s_ops;
usr/src/uts/common/vm/seg_hole.c
120
seghole_unmap(struct seg *seg, caddr_t addr, size_t len)
usr/src/uts/common/vm/seg_hole.c
122
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_hole.c
125
if (addr == seg->s_base && len == seg->s_size) {
usr/src/uts/common/vm/seg_hole.c
126
seg_free(seg);
usr/src/uts/common/vm/seg_hole.c
131
if (addr == seg->s_base) {
usr/src/uts/common/vm/seg_hole.c
132
seg->s_base += len;
usr/src/uts/common/vm/seg_hole.c
133
seg->s_size -= len;
usr/src/uts/common/vm/seg_hole.c
138
if ((addr + len) == (seg->s_base + seg->s_size)) {
usr/src/uts/common/vm/seg_hole.c
139
seg->s_size -= len;
usr/src/uts/common/vm/seg_hole.c
148
seghole_free(struct seg *seg)
usr/src/uts/common/vm/seg_hole.c
150
seghole_data_t *data = (seghole_data_t *)seg->s_data;
usr/src/uts/common/vm/seg_hole.c
155
seg->s_data = NULL;
usr/src/uts/common/vm/seg_hole.c
160
seghole_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_hole.c
163
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_hole.c
170
seghole_faulta(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_hole.c
177
seghole_setprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/common/vm/seg_hole.c
179
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_hole.c
186
seghole_checkprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/common/vm/seg_hole.c
188
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_hole.c
195
seghole_sync(struct seg *seg, caddr_t addr, size_t len, int attr, uint_t flags)
usr/src/uts/common/vm/seg_hole.c
203
seghole_incore(struct seg *seg, caddr_t addr, size_t len, char *vec)
usr/src/uts/common/vm/seg_hole.c
205
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_hole.c
212
seghole_lockop(struct seg *seg, caddr_t addr, size_t len, int attr, int op,
usr/src/uts/common/vm/seg_hole.c
224
seghole_getprot(struct seg *seg, caddr_t addr, size_t len, uint_t *protv)
usr/src/uts/common/vm/seg_hole.c
228
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_hole.c
234
pgno = seg_page(seg, addr + len) - seg_page(seg, addr) + 1;
usr/src/uts/common/vm/seg_hole.c
244
seghole_getoffset(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_hole.c
255
seghole_gettype(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_hole.c
262
seghole_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp)
usr/src/uts/common/vm/seg_hole.c
264
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_hole.c
271
seghole_advise(struct seg *seg, caddr_t addr, size_t len, uint_t behav)
usr/src/uts/common/vm/seg_hole.c
278
seghole_dump(struct seg *seg)
usr/src/uts/common/vm/seg_hole.c
285
seghole_pagelock(struct seg *seg, caddr_t addr, size_t len, struct page ***ppp,
usr/src/uts/common/vm/seg_hole.c
293
seghole_setpagesize(struct seg *seg, caddr_t addr, size_t len, uint_t szc)
usr/src/uts/common/vm/seg_hole.c
300
seghole_capable(struct seg *seg, segcapability_t capability)
usr/src/uts/common/vm/seg_hole.c
31
static int seghole_dup(struct seg *, struct seg *);
usr/src/uts/common/vm/seg_hole.c
32
static int seghole_unmap(struct seg *, caddr_t, size_t);
usr/src/uts/common/vm/seg_hole.c
33
static void seghole_free(struct seg *);
usr/src/uts/common/vm/seg_hole.c
34
static faultcode_t seghole_fault(struct hat *, struct seg *, caddr_t, size_t,
usr/src/uts/common/vm/seg_hole.c
36
static faultcode_t seghole_faulta(struct seg *, caddr_t);
usr/src/uts/common/vm/seg_hole.c
37
static int seghole_setprot(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_hole.c
38
static int seghole_checkprot(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_hole.c
39
static int seghole_sync(struct seg *, caddr_t, size_t, int, uint_t);
usr/src/uts/common/vm/seg_hole.c
40
static size_t seghole_incore(struct seg *, caddr_t, size_t, char *);
usr/src/uts/common/vm/seg_hole.c
41
static int seghole_lockop(struct seg *, caddr_t, size_t, int, int, ulong_t *,
usr/src/uts/common/vm/seg_hole.c
43
static int seghole_getprot(struct seg *, caddr_t, size_t, uint_t *);
usr/src/uts/common/vm/seg_hole.c
44
static u_offset_t seghole_getoffset(struct seg *, caddr_t);
usr/src/uts/common/vm/seg_hole.c
45
static int seghole_gettype(struct seg *, caddr_t);
usr/src/uts/common/vm/seg_hole.c
46
static int seghole_getvp(struct seg *, caddr_t, struct vnode **);
usr/src/uts/common/vm/seg_hole.c
47
static int seghole_advise(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_hole.c
48
static void seghole_dump(struct seg *);
usr/src/uts/common/vm/seg_hole.c
49
static int seghole_pagelock(struct seg *, caddr_t, size_t, struct page ***,
usr/src/uts/common/vm/seg_hole.c
51
static int seghole_setpagesize(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_hole.c
52
static int seghole_capable(struct seg *, segcapability_t);
usr/src/uts/common/vm/seg_hole.c
85
seghole_create(struct seg **segpp, void *argsp)
usr/src/uts/common/vm/seg_hole.c
87
struct seg *seg = *segpp;
usr/src/uts/common/vm/seg_hole.c
94
seg->s_ops = &seghole_ops;
usr/src/uts/common/vm/seg_hole.c
95
seg->s_data = data;
usr/src/uts/common/vm/seg_hole.c
96
seg->s_flags = S_HOLE;
usr/src/uts/common/vm/seg_hole.h
31
extern int seghole_create(struct seg **, void *);
usr/src/uts/common/vm/seg_kmem.c
106
struct seg kvseg; /* primary kernel heap segment */
usr/src/uts/common/vm/seg_kmem.c
107
struct seg kvseg_core; /* "core" kernel heap segment */
usr/src/uts/common/vm/seg_kmem.c
1077
segkmem_mapin(struct seg *seg, void *addr, size_t size, uint_t vprot,
usr/src/uts/common/vm/seg_kmem.c
108
struct seg kzioseg; /* Segment for zio mappings */
usr/src/uts/common/vm/seg_kmem.c
1080
hat_unload(seg->s_as->a_hat, addr, size, HAT_UNLOAD_UNLOCK);
usr/src/uts/common/vm/seg_kmem.c
1081
hat_devload(seg->s_as->a_hat, addr, size, pfn, vprot,
usr/src/uts/common/vm/seg_kmem.c
1086
segkmem_mapout(struct seg *seg, void *addr, size_t size)
usr/src/uts/common/vm/seg_kmem.c
1088
hat_unload(seg->s_as->a_hat, addr, size, HAT_UNLOAD_UNLOCK);
usr/src/uts/common/vm/seg_kmem.c
115
struct seg kvseg32; /* 32-bit kernel heap segment */
usr/src/uts/common/vm/seg_kmem.c
127
struct seg kvmmseg; /* Segment for vmm memory */
usr/src/uts/common/vm/seg_kmem.c
450
segkmem_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t size,
usr/src/uts/common/vm/seg_kmem.c
456
struct vnode *vp = seg->s_data;
usr/src/uts/common/vm/seg_kmem.c
458
ASSERT(RW_READ_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_kmem.c
460
if (seg->s_as != &kas || size > seg->s_size ||
usr/src/uts/common/vm/seg_kmem.c
461
addr < seg->s_base || addr + size > seg->s_base + seg->s_size)
usr/src/uts/common/vm/seg_kmem.c
467
if (segkp_bitmap && seg == &kvseg &&
usr/src/uts/common/vm/seg_kmem.c
468
BT_TEST(segkp_bitmap, btop((uintptr_t)(addr - seg->s_base))))
usr/src/uts/common/vm/seg_kmem.c
501
hat_reserve(seg->s_as, addr, size);
usr/src/uts/common/vm/seg_kmem.c
518
segkmem_setprot(struct seg *seg, caddr_t addr, size_t size, uint_t prot)
usr/src/uts/common/vm/seg_kmem.c
520
ASSERT(RW_LOCK_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_kmem.c
522
if (seg->s_as != &kas || size > seg->s_size ||
usr/src/uts/common/vm/seg_kmem.c
523
addr < seg->s_base || addr + size > seg->s_base + seg->s_size)
usr/src/uts/common/vm/seg_kmem.c
529
if (segkp_bitmap && seg == &kvseg &&
usr/src/uts/common/vm/seg_kmem.c
530
BT_TEST(segkp_bitmap, btop((uintptr_t)(addr - seg->s_base))))
usr/src/uts/common/vm/seg_kmem.c
546
segkmem_checkprot(struct seg *seg, caddr_t addr, size_t size, uint_t prot)
usr/src/uts/common/vm/seg_kmem.c
548
ASSERT(RW_LOCK_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_kmem.c
550
if (seg->s_as != &kas)
usr/src/uts/common/vm/seg_kmem.c
556
if (segkp_bitmap && seg == &kvseg &&
usr/src/uts/common/vm/seg_kmem.c
557
BT_TEST(segkp_bitmap, btop((uintptr_t)(addr - seg->s_base))))
usr/src/uts/common/vm/seg_kmem.c
570
segkmem_kluster(struct seg *seg, caddr_t addr, ssize_t delta)
usr/src/uts/common/vm/seg_kmem.c
572
ASSERT(RW_LOCK_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_kmem.c
574
if (seg->s_as != &kas)
usr/src/uts/common/vm/seg_kmem.c
580
if (segkp_bitmap && seg == &kvseg &&
usr/src/uts/common/vm/seg_kmem.c
581
BT_TEST(segkp_bitmap, btop((uintptr_t)(addr - seg->s_base))))
usr/src/uts/common/vm/seg_kmem.c
626
segkmem_dump(struct seg *seg)
usr/src/uts/common/vm/seg_kmem.c
651
if (seg == &kvseg) {
usr/src/uts/common/vm/seg_kmem.c
653
segkmem_dump_range, seg->s_as);
usr/src/uts/common/vm/seg_kmem.c
656
segkmem_dump_range, seg->s_as);
usr/src/uts/common/vm/seg_kmem.c
658
} else if (seg == &kvseg_core) {
usr/src/uts/common/vm/seg_kmem.c
660
segkmem_dump_range, seg->s_as);
usr/src/uts/common/vm/seg_kmem.c
661
} else if (seg == &kvseg32) {
usr/src/uts/common/vm/seg_kmem.c
663
segkmem_dump_range, seg->s_as);
usr/src/uts/common/vm/seg_kmem.c
665
segkmem_dump_range, seg->s_as);
usr/src/uts/common/vm/seg_kmem.c
673
} else if (seg == &kzioseg) {
usr/src/uts/common/vm/seg_kmem.c
676
} else if (seg == &kvmmseg) {
usr/src/uts/common/vm/seg_kmem.c
680
segkmem_dump_range(seg->s_as, seg->s_base, seg->s_size);
usr/src/uts/common/vm/seg_kmem.c
693
segkmem_pagelock(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_kmem.c
700
struct vnode *vp = seg->s_data;
usr/src/uts/common/vm/seg_kmem.c
707
if (segkp_bitmap && seg == &kvseg &&
usr/src/uts/common/vm/seg_kmem.c
708
BT_TEST(segkp_bitmap, btop((uintptr_t)(addr - seg->s_base))))
usr/src/uts/common/vm/seg_kmem.c
757
segkmem_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
usr/src/uts/common/vm/seg_kmem.c
759
ASSERT(RW_LOCK_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_kmem.c
761
if (seg->s_as != &kas)
usr/src/uts/common/vm/seg_kmem.c
767
if (segkp_bitmap && seg == &kvseg &&
usr/src/uts/common/vm/seg_kmem.c
768
BT_TEST(segkp_bitmap, btop((uintptr_t)(addr - seg->s_base))))
usr/src/uts/common/vm/seg_kmem.c
777
segkmem_getpolicy(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_kmem.c
784
segkmem_capable(struct seg *seg, segcapability_t capability)
usr/src/uts/common/vm/seg_kmem.c
819
segkmem_create(struct seg *seg)
usr/src/uts/common/vm/seg_kmem.c
821
ASSERT(seg->s_as == &kas && RW_WRITE_HELD(&kas.a_lock));
usr/src/uts/common/vm/seg_kmem.c
822
seg->s_ops = &segkmem_ops;
usr/src/uts/common/vm/seg_kmem.c
823
if (seg == &kzioseg)
usr/src/uts/common/vm/seg_kmem.c
824
seg->s_data = &kvps[KV_ZVP];
usr/src/uts/common/vm/seg_kmem.c
826
else if (seg == &kvmmseg)
usr/src/uts/common/vm/seg_kmem.c
827
seg->s_data = &kvps[KV_VVP];
usr/src/uts/common/vm/seg_kmem.c
830
seg->s_data = &kvps[KV_KVP];
usr/src/uts/common/vm/seg_kmem.c
831
kas.a_size += seg->s_size;
usr/src/uts/common/vm/seg_kmem.c
839
struct seg kseg = { 0 };
usr/src/uts/common/vm/seg_kmem.h
53
extern struct seg kvseg; /* primary kernel heap segment */
usr/src/uts/common/vm/seg_kmem.h
54
extern struct seg kvseg_core; /* "core" kernel heap segment */
usr/src/uts/common/vm/seg_kmem.h
55
extern struct seg kzioseg; /* Segment for zio mappings */
usr/src/uts/common/vm/seg_kmem.h
59
extern struct seg kvseg32; /* 32-bit kernel heap segment */
usr/src/uts/common/vm/seg_kmem.h
70
extern struct seg kvmmseg; /* Segment for vmm mappings */
usr/src/uts/common/vm/seg_kmem.h
85
extern int segkmem_create(struct seg *);
usr/src/uts/common/vm/seg_kp.c
100
static int segkp_capable(struct seg *seg, segcapability_t capability);
usr/src/uts/common/vm/seg_kp.c
1003
err = segkp_load(hat, seg, vaddr, len, kpd, kpd->kp_flags);
usr/src/uts/common/vm/seg_kp.c
1030
err = segkp_unlock(hat, seg, vaddr, len, kpd, flags);
usr/src/uts/common/vm/seg_kp.c
1048
segkp_checkprot(struct seg *seg, caddr_t vaddr, size_t len, uint_t prot)
usr/src/uts/common/vm/seg_kp.c
1054
if ((kpd = segkp_find(seg, vaddr)) == NULL)
usr/src/uts/common/vm/seg_kp.c
1079
segkp_kluster(struct seg *seg, caddr_t addr, ssize_t delta)
usr/src/uts/common/vm/seg_kp.c
1091
struct seg *seg,
usr/src/uts/common/vm/seg_kp.c
1141
pl, PAGESIZE, seg, va, S_READ, kcred, NULL);
usr/src/uts/common/vm/seg_kp.c
1147
(void) segkp_unlock(hat, seg, vaddr,
usr/src/uts/common/vm/seg_kp.c
1176
struct seg *seg,
usr/src/uts/common/vm/seg_kp.c
1191
seg = seg;
usr/src/uts/common/vm/seg_kp.c
1275
segkp_insert(struct seg *seg, struct segkp_data *kpd)
usr/src/uts/common/vm/seg_kp.c
1277
struct segkp_segdata *kpsd = (struct segkp_segdata *)seg->s_data;
usr/src/uts/common/vm/seg_kp.c
1295
segkp_delete(struct seg *seg, struct segkp_data *kpd)
usr/src/uts/common/vm/seg_kp.c
1297
struct segkp_segdata *kpsd = (struct segkp_segdata *)seg->s_data;
usr/src/uts/common/vm/seg_kp.c
1326
segkp_find(struct seg *seg, caddr_t vaddr)
usr/src/uts/common/vm/seg_kp.c
1328
struct segkp_segdata *kpsd = (struct segkp_segdata *)seg->s_data;
usr/src/uts/common/vm/seg_kp.c
1369
segkp_dump(struct seg *seg)
usr/src/uts/common/vm/seg_kp.c
1373
struct segkp_segdata *kpsd = (struct segkp_segdata *)seg->s_data;
usr/src/uts/common/vm/seg_kp.c
1385
ASSERT(seg->s_as == &kas);
usr/src/uts/common/vm/seg_kp.c
1386
pfn = hat_getpfnum(seg->s_as->a_hat, addr);
usr/src/uts/common/vm/seg_kp.c
1388
dump_addpage(seg->s_as, addr, pfn);
usr/src/uts/common/vm/seg_kp.c
1398
segkp_pagelock(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_kp.c
1406
segkp_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
usr/src/uts/common/vm/seg_kp.c
1413
segkp_getpolicy(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_kp.c
1420
segkp_capable(struct seg *seg, segcapability_t capability)
usr/src/uts/common/vm/seg_kp.c
1462
segkpinit_mem_config(struct seg *seg)
usr/src/uts/common/vm/seg_kp.c
1466
ret = kphysm_setup_func_register(&segkp_mem_config_vec, (void *)seg);
usr/src/uts/common/vm/seg_kp.c
183
static void segkpinit_mem_config(struct seg *);
usr/src/uts/common/vm/seg_kp.c
192
segkp_create(struct seg *seg)
usr/src/uts/common/vm/seg_kp.c
197
ASSERT(seg != NULL && seg->s_as == &kas);
usr/src/uts/common/vm/seg_kp.c
198
ASSERT(RW_WRITE_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_kp.c
200
if (seg->s_size & PAGEOFFSET) {
usr/src/uts/common/vm/seg_kp.c
217
np = btop(seg->s_size);
usr/src/uts/common/vm/seg_kp.c
218
kpsd->kpsd_arena = vmem_create("segkp", seg->s_base,
usr/src/uts/common/vm/seg_kp.c
219
seg->s_size, PAGESIZE, NULL, NULL, NULL, 5 * PAGESIZE,
usr/src/uts/common/vm/seg_kp.c
227
seg->s_data = (void *)kpsd;
usr/src/uts/common/vm/seg_kp.c
228
seg->s_ops = &segkp_ops;
usr/src/uts/common/vm/seg_kp.c
229
segkpinit_mem_config(seg);
usr/src/uts/common/vm/seg_kp.c
238
segkp_cache_init(struct seg *seg, int maxsize, size_t len, uint_t flags)
usr/src/uts/common/vm/seg_kp.c
252
segkp_cache[i].kpf_seg = seg;
usr/src/uts/common/vm/seg_kp.c
268
struct seg *seg;
usr/src/uts/common/vm/seg_kp.c
279
seg = segkp_cache[i].kpf_seg;
usr/src/uts/common/vm/seg_kp.c
288
segkp_release_internal(seg, kpd, kpd->kp_len);
usr/src/uts/common/vm/seg_kp.c
302
segkp_get(struct seg *seg, size_t len, uint_t flags)
usr/src/uts/common/vm/seg_kp.c
306
if (segkp_get_internal(seg, len, flags, &kpd, NULL) != NULL) {
usr/src/uts/common/vm/seg_kp.c
322
struct seg *seg;
usr/src/uts/common/vm/seg_kp.c
331
seg = freelist->kpf_seg;
usr/src/uts/common/vm/seg_kp.c
339
segkp_insert(seg, kpd);
usr/src/uts/common/vm/seg_kp.c
344
if (segkp_get_internal(seg, len, flags, &kpd, NULL) != NULL) {
usr/src/uts/common/vm/seg_kp.c
353
struct seg *seg,
usr/src/uts/common/vm/seg_kp.c
362
if (segkp_get_internal(seg, len, flags, &kpd, amp) != NULL) {
usr/src/uts/common/vm/seg_kp.c
384
struct seg *seg,
usr/src/uts/common/vm/seg_kp.c
390
struct segkp_segdata *kpsd = (struct segkp_segdata *)seg->s_data;
usr/src/uts/common/vm/seg_kp.c
400
caddr_t s_base = (segkp_fromheap) ? kvseg.s_base : seg->s_base;
usr/src/uts/common/vm/seg_kp.c
423
vbase = vmem_alloc(SEGKP_VMEM(seg), len, kmflag | VM_BESTFIT);
usr/src/uts/common/vm/seg_kp.c
433
vmem_free(SEGKP_VMEM(seg), vbase, len);
usr/src/uts/common/vm/seg_kp.c
468
vmem_free(SEGKP_VMEM(seg), vbase, len);
usr/src/uts/common/vm/seg_kp.c
537
NULL, pl, PAGESIZE, seg, va, S_CREATE,
usr/src/uts/common/vm/seg_kp.c
554
PG_NORELOC, seg, va)) == NULL) {
usr/src/uts/common/vm/seg_kp.c
562
segkp_release_internal(seg, kpd, va - vbase);
usr/src/uts/common/vm/seg_kp.c
574
hat_memload(seg->s_as->a_hat, va, pp, (PROT_READ|PROT_WRITE),
usr/src/uts/common/vm/seg_kp.c
594
segkp_insert(seg, kpd);
usr/src/uts/common/vm/seg_kp.c
605
segkp_release(struct seg *seg, caddr_t vaddr)
usr/src/uts/common/vm/seg_kp.c
610
if ((kpd = segkp_find(seg, vaddr)) == NULL) {
usr/src/uts/common/vm/seg_kp.c
619
segkp_delete(seg, kpd);
usr/src/uts/common/vm/seg_kp.c
630
segkp_release_internal(seg, kpd, kpd->kp_len);
usr/src/uts/common/vm/seg_kp.c
639
segkp_release_internal(struct seg *seg, struct segkp_data *kpd, size_t len)
usr/src/uts/common/vm/seg_kp.c
659
segkp_delete(seg, kpd);
usr/src/uts/common/vm/seg_kp.c
673
hat_unload(seg->s_as->a_hat, va, (np << PAGESHIFT),
usr/src/uts/common/vm/seg_kp.c
756
vmem_free(SEGKP_VMEM(seg), kpd->kp_base, kpd->kp_len);
usr/src/uts/common/vm/seg_kp.c
79
static void segkp_dump(struct seg *seg);
usr/src/uts/common/vm/seg_kp.c
80
static int segkp_checkprot(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_kp.c
805
struct seg kseg;
usr/src/uts/common/vm/seg_kp.c
82
static int segkp_kluster(struct seg *seg, caddr_t addr, ssize_t delta);
usr/src/uts/common/vm/seg_kp.c
83
static int segkp_pagelock(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_kp.c
86
static void segkp_insert(struct seg *seg, struct segkp_data *kpd);
usr/src/uts/common/vm/seg_kp.c
87
static void segkp_delete(struct seg *seg, struct segkp_data *kpd);
usr/src/uts/common/vm/seg_kp.c
88
static caddr_t segkp_get_internal(struct seg *seg, size_t len, uint_t flags,
usr/src/uts/common/vm/seg_kp.c
90
static void segkp_release_internal(struct seg *seg,
usr/src/uts/common/vm/seg_kp.c
92
static int segkp_unlock(struct hat *hat, struct seg *seg, caddr_t vaddr,
usr/src/uts/common/vm/seg_kp.c
933
struct seg *seg,
usr/src/uts/common/vm/seg_kp.c
94
static int segkp_load(struct hat *hat, struct seg *seg, caddr_t vaddr,
usr/src/uts/common/vm/seg_kp.c
942
ASSERT(seg->s_as == &kas && RW_READ_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_kp.c
952
if ((kpd = segkp_find(seg, vaddr)) == NULL)
usr/src/uts/common/vm/seg_kp.c
96
static struct segkp_data *segkp_find(struct seg *seg, caddr_t vaddr);
usr/src/uts/common/vm/seg_kp.c
97
static int segkp_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp);
usr/src/uts/common/vm/seg_kp.c
971
if ((err = segkp_load(hat, seg, vaddr, len, kpd, KPD_LOCKED))) {
usr/src/uts/common/vm/seg_kp.c
98
static lgrp_mem_policy_info_t *segkp_getpolicy(struct seg *seg,
usr/src/uts/common/vm/seg_kp.h
106
struct seg *kpf_seg; /* segment */
usr/src/uts/common/vm/seg_kp.h
128
extern struct seg *segkp;
usr/src/uts/common/vm/seg_kp.h
135
int segkp_create(struct seg *seg);
usr/src/uts/common/vm/seg_kp.h
136
caddr_t segkp_get(struct seg *seg, size_t len, uint_t flags);
usr/src/uts/common/vm/seg_kp.h
137
void segkp_release(struct seg *seg, caddr_t vaddr);
usr/src/uts/common/vm/seg_kp.h
138
void * segkp_cache_init(struct seg *seg, int maxsize, size_t len,
usr/src/uts/common/vm/seg_kp.h
148
caddr_t segkp_get_withanonmap(struct seg *, size_t, uint_t, struct anon_map *);
usr/src/uts/common/vm/seg_kp.h
154
faultcode_t segkp_fault(struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/common/vm/seg_kp.h
59
#define SEGKP_VMEM(seg) (((struct segkp_segdata *)(seg)->s_data)->kpsd_arena)
usr/src/uts/common/vm/seg_kpm.c
103
faultcode_t segkpm_fault(struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/common/vm/seg_kpm.c
105
static void segkpm_dump(struct seg *);
usr/src/uts/common/vm/seg_kpm.c
108
static int segkpm_capable(struct seg *, segcapability_t);
usr/src/uts/common/vm/seg_kpm.c
153
segkpm_create(struct seg *seg, void *argsp)
usr/src/uts/common/vm/seg_kpm.c
160
ASSERT(seg->s_as && RW_WRITE_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_kpm.c
161
ASSERT(btokpmp(seg->s_size) >= 1 &&
usr/src/uts/common/vm/seg_kpm.c
162
kpmpageoff((uintptr_t)seg->s_base) == 0 &&
usr/src/uts/common/vm/seg_kpm.c
163
kpmpageoff((uintptr_t)seg->s_base + seg->s_size) == 0);
usr/src/uts/common/vm/seg_kpm.c
167
seg->s_data = (void *)skd;
usr/src/uts/common/vm/seg_kpm.c
168
seg->s_ops = &segkpm_ops;
usr/src/uts/common/vm/seg_kpm.c
210
segkpm_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_kpm.c
213
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_kpm.c
298
int segkpm_create(struct seg *seg, void *argsp) { return (0); }
usr/src/uts/common/vm/seg_kpm.c
302
segkpm_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_kpm.c
330
segkpm_dump(struct seg *seg)
usr/src/uts/common/vm/seg_kpm.c
338
segkpm_capable(struct seg *seg, segcapability_t capability)
usr/src/uts/common/vm/seg_kpm.h
104
extern int segkpm_create(struct seg *, void *);
usr/src/uts/common/vm/seg_kpm.h
105
extern faultcode_t segkpm_fault(struct hat *, struct seg *, caddr_t,
usr/src/uts/common/vm/seg_kpm.h
53
extern struct seg *segkpm;
usr/src/uts/common/vm/seg_map.c
133
static void segmap_unlock(struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/common/vm/seg_map.c
1379
segmap_pagecreate(struct seg *seg, caddr_t addr, size_t len, int softlock)
usr/src/uts/common/vm/seg_map.c
1381
struct segmap_data *smd = (struct segmap_data *)seg->s_data;
usr/src/uts/common/vm/seg_map.c
1392
ASSERT(seg->s_as == &kas);
usr/src/uts/common/vm/seg_map.c
1421
smp = GET_SMAP(seg, addr);
usr/src/uts/common/vm/seg_map.c
1441
PAGESIZE, PG_WAIT, seg, addr)) == NULL) {
usr/src/uts/common/vm/seg_map.c
1486
seg, addr, pp, vp, off);
usr/src/uts/common/vm/seg_map.c
1493
segmap_pageunlock(struct seg *seg, caddr_t addr, size_t len, enum seg_rw rw)
usr/src/uts/common/vm/seg_map.c
1503
ASSERT(seg->s_as == &kas);
usr/src/uts/common/vm/seg_map.c
1528
smp = GET_SMAP(seg, addr);
usr/src/uts/common/vm/seg_map.c
1579
segmap_getmap(struct seg *seg, struct vnode *vp, u_offset_t off)
usr/src/uts/common/vm/seg_map.c
1581
return (segmap_getmapflt(seg, vp, off, MAXBSIZE, 0, S_OTHER));
usr/src/uts/common/vm/seg_map.c
1600
struct seg *seg,
usr/src/uts/common/vm/seg_map.c
1624
ASSERT(seg->s_as == &kas);
usr/src/uts/common/vm/seg_map.c
1625
ASSERT(seg == segkmap);
usr/src/uts/common/vm/seg_map.c
175
#define MAP_PAGES(seg) ((seg)->s_size >> MAXBSHIFT)
usr/src/uts/common/vm/seg_map.c
180
#define MAP_PAGE(seg, addr) (((addr) - (seg)->s_base) >> MAXBSHIFT)
usr/src/uts/common/vm/seg_map.c
1830
baseaddr = segmap_pagecreate_kpm(seg, vp, baseoff, smp, rw);
usr/src/uts/common/vm/seg_map.c
185
#define GET_SMAP(seg, addr) \
usr/src/uts/common/vm/seg_map.c
186
&(((struct segmap_data *)((seg)->s_data))->smd_sm[MAP_PAGE(seg, addr)])
usr/src/uts/common/vm/seg_map.c
1899
seg, base, rw, CRED(), NULL);
usr/src/uts/common/vm/seg_map.c
1956
baseaddr = seg->s_base + ((smp - smd_smap) * MAXBSIZE);
usr/src/uts/common/vm/seg_map.c
1959
seg, baseaddr, vp, baseoff);
usr/src/uts/common/vm/seg_map.c
1970
(void) segmap_fault(kas.a_hat, seg, pgaddr,
usr/src/uts/common/vm/seg_map.c
1979
segmap_release(struct seg *seg, caddr_t addr, uint_t flags)
usr/src/uts/common/vm/seg_map.c
2006
seg, addr, smp);
usr/src/uts/common/vm/seg_map.c
2024
if (addr < seg->s_base || addr >= seg->s_base + seg->s_size ||
usr/src/uts/common/vm/seg_map.c
2029
smp = GET_SMAP(seg, addr);
usr/src/uts/common/vm/seg_map.c
2033
seg, addr, smp);
usr/src/uts/common/vm/seg_map.c
2131
segmap_dump(struct seg *seg)
usr/src/uts/common/vm/seg_map.c
2140
smd = (struct segmap_data *)seg->s_data;
usr/src/uts/common/vm/seg_map.c
2141
addr = seg->s_base;
usr/src/uts/common/vm/seg_map.c
2164
dump_addpage(seg->s_as,
usr/src/uts/common/vm/seg_map.c
2178
segmap_pagelock(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_map.c
2185
segmap_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
usr/src/uts/common/vm/seg_map.c
2187
struct segmap_data *smd = (struct segmap_data *)seg->s_data;
usr/src/uts/common/vm/seg_map.c
2190
memidp->val[1] = smd->smd_sm->sm_off + (uintptr_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_map.c
2196
segmap_getpolicy(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_map.c
2203
segmap_capable(struct seg *seg, segcapability_t capability)
usr/src/uts/common/vm/seg_map.c
2216
segmap_pagecreate_kpm(struct seg *seg, vnode_t *vp, u_offset_t off,
usr/src/uts/common/vm/seg_map.c
2232
seg, base)) == NULL) {
usr/src/uts/common/vm/seg_map.c
2342
segmap_pagecreate_kpm(struct seg *seg, vnode_t *vp, u_offset_t off,
usr/src/uts/common/vm/seg_map.c
300
segmap_create(struct seg *seg, void *argsp)
usr/src/uts/common/vm/seg_map.c
314
ASSERT(seg->s_as && RW_WRITE_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_map.c
316
if (((uintptr_t)seg->s_base | seg->s_size) & MAXBOFFSET) {
usr/src/uts/common/vm/seg_map.c
323
seg->s_data = (void *)smd;
usr/src/uts/common/vm/seg_map.c
324
seg->s_ops = &segmap_ops;
usr/src/uts/common/vm/seg_map.c
378
npages = MAP_PAGES(seg);
usr/src/uts/common/vm/seg_map.c
406
for (smp = &smd->smd_sm[MAP_PAGES(seg) - 1];
usr/src/uts/common/vm/seg_map.c
480
segmap_free(seg)
usr/src/uts/common/vm/seg_map.c
481
struct seg *seg;
usr/src/uts/common/vm/seg_map.c
483
ASSERT(seg->s_as && RW_WRITE_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_map.c
493
struct seg *seg,
usr/src/uts/common/vm/seg_map.c
508
seg = seg;
usr/src/uts/common/vm/seg_map.c
584
struct seg *seg,
usr/src/uts/common/vm/seg_map.c
590
struct segmap_data *smd = (struct segmap_data *)seg->s_data;
usr/src/uts/common/vm/seg_map.c
678
smp = GET_SMAP(seg, addr);
usr/src/uts/common/vm/seg_map.c
699
segmap_unlock(hat, seg, addr, len, rw, smp);
usr/src/uts/common/vm/seg_map.c
704
"segmap_getpage:seg %p addr %p vp %p", seg, addr, vp);
usr/src/uts/common/vm/seg_map.c
706
seg, addr, rw, CRED(), NULL);
usr/src/uts/common/vm/seg_map.c
74
static void segmap_free(struct seg *seg);
usr/src/uts/common/vm/seg_map.c
75
faultcode_t segmap_fault(struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/common/vm/seg_map.c
77
static faultcode_t segmap_faulta(struct seg *seg, caddr_t addr);
usr/src/uts/common/vm/seg_map.c
775
segmap_faulta(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_map.c
78
static int segmap_checkprot(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_map.c
80
static int segmap_kluster(struct seg *seg, caddr_t addr, ssize_t);
usr/src/uts/common/vm/seg_map.c
81
static int segmap_getprot(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_map.c
811
smp = GET_SMAP(seg, addr);
usr/src/uts/common/vm/seg_map.c
824
"segmap_getpage:seg %p addr %p vp %p", seg, addr, vp);
usr/src/uts/common/vm/seg_map.c
828
seg, addr, S_READ, CRED(), NULL);
usr/src/uts/common/vm/seg_map.c
83
static u_offset_t segmap_getoffset(struct seg *seg, caddr_t addr);
usr/src/uts/common/vm/seg_map.c
837
segmap_checkprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/common/vm/seg_map.c
839
struct segmap_data *smd = (struct segmap_data *)seg->s_data;
usr/src/uts/common/vm/seg_map.c
84
static int segmap_gettype(struct seg *seg, caddr_t addr);
usr/src/uts/common/vm/seg_map.c
841
ASSERT(seg->s_as && RW_LOCK_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_map.c
85
static int segmap_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp);
usr/src/uts/common/vm/seg_map.c
851
segmap_getprot(struct seg *seg, caddr_t addr, size_t len, uint_t *protv)
usr/src/uts/common/vm/seg_map.c
853
struct segmap_data *smd = (struct segmap_data *)seg->s_data;
usr/src/uts/common/vm/seg_map.c
854
size_t pgno = seg_page(seg, addr + len) - seg_page(seg, addr) + 1;
usr/src/uts/common/vm/seg_map.c
856
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_map.c
86
static void segmap_dump(struct seg *seg);
usr/src/uts/common/vm/seg_map.c
867
segmap_getoffset(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_map.c
869
struct segmap_data *smd = (struct segmap_data *)seg->s_data;
usr/src/uts/common/vm/seg_map.c
87
static int segmap_pagelock(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_map.c
871
ASSERT(seg->s_as && RW_READ_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_map.c
873
return ((u_offset_t)smd->smd_sm->sm_off + (addr - seg->s_base));
usr/src/uts/common/vm/seg_map.c
878
segmap_gettype(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_map.c
880
ASSERT(seg->s_as && RW_READ_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_map.c
887
segmap_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp)
usr/src/uts/common/vm/seg_map.c
889
struct segmap_data *smd = (struct segmap_data *)seg->s_data;
usr/src/uts/common/vm/seg_map.c
891
ASSERT(seg->s_as && RW_READ_HELD(&seg->s_as->a_lock));
usr/src/uts/common/vm/seg_map.c
907
segmap_kluster(struct seg *seg, caddr_t addr, ssize_t delta)
usr/src/uts/common/vm/seg_map.c
91
static int segmap_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp);
usr/src/uts/common/vm/seg_map.c
92
static lgrp_mem_policy_info_t *segmap_getpolicy(struct seg *seg,
usr/src/uts/common/vm/seg_map.c
94
static int segmap_capable(struct seg *seg, segcapability_t capability);
usr/src/uts/common/vm/seg_map.c
97
static caddr_t segmap_pagecreate_kpm(struct seg *, vnode_t *, u_offset_t,
usr/src/uts/common/vm/seg_map.h
269
extern struct seg *segkmap;
usr/src/uts/common/vm/seg_map.h
274
extern int segmap_create(struct seg *, void *);
usr/src/uts/common/vm/seg_map.h
275
extern int segmap_pagecreate(struct seg *, caddr_t, size_t, int);
usr/src/uts/common/vm/seg_map.h
276
extern void segmap_pageunlock(struct seg *, caddr_t, size_t, enum seg_rw);
usr/src/uts/common/vm/seg_map.h
277
extern faultcode_t segmap_fault(struct hat *, struct seg *, caddr_t, size_t,
usr/src/uts/common/vm/seg_map.h
279
extern caddr_t segmap_getmap(struct seg *, struct vnode *, u_offset_t);
usr/src/uts/common/vm/seg_map.h
280
extern caddr_t segmap_getmapflt(struct seg *, struct vnode *, u_offset_t,
usr/src/uts/common/vm/seg_map.h
282
extern int segmap_release(struct seg *, caddr_t, uint_t);
usr/src/uts/common/vm/seg_map.h
283
extern void segmap_flush(struct seg *, struct vnode *);
usr/src/uts/common/vm/seg_map.h
284
extern void segmap_inval(struct seg *, struct vnode *, u_offset_t);
usr/src/uts/common/vm/seg_spt.c
1001
pg_idx = seg_page(seg, addr);
usr/src/uts/common/vm/seg_spt.c
1016
seg_pinactive(seg, NULL, seg->s_base, sptd->spt_amp->size,
usr/src/uts/common/vm/seg_spt.c
1028
(AS_ISUNMAPWAIT(seg->s_as) &&
usr/src/uts/common/vm/seg_spt.c
1030
segspt_purge(seg);
usr/src/uts/common/vm/seg_spt.c
1038
segspt_purge(seg);
usr/src/uts/common/vm/seg_spt.c
104
segspt_badop_checkprot(struct seg *seg, caddr_t addr, size_t size, uint_t prot)
usr/src/uts/common/vm/seg_spt.c
1051
pplist = seg_plookup(seg, NULL, seg->s_base, sptd->spt_amp->size,
usr/src/uts/common/vm/seg_spt.c
1059
seg_pinactive(seg, NULL, seg->s_base,
usr/src/uts/common/vm/seg_spt.c
1085
pplist = seg_plookup(seg, NULL, seg->s_base, sptd->spt_amp->size,
usr/src/uts/common/vm/seg_spt.c
1094
seg_pinactive(seg, NULL, seg->s_base,
usr/src/uts/common/vm/seg_spt.c
111
segspt_badop_kluster(struct seg *seg, caddr_t addr, ssize_t delta)
usr/src/uts/common/vm/seg_spt.c
1116
if (seg_pinsert_check(seg, NULL, seg->s_base, sptd->spt_amp->size,
usr/src/uts/common/vm/seg_spt.c
118
segspt_badop_swapout(struct seg *seg)
usr/src/uts/common/vm/seg_spt.c
1218
ret = seg_pinsert(seg, NULL, seg->s_base, sptd->spt_amp->size,
usr/src/uts/common/vm/seg_spt.c
1248
seg_pinactive(seg, NULL, seg->s_base,
usr/src/uts/common/vm/seg_spt.c
125
segspt_badop_sync(struct seg *seg, caddr_t addr, size_t len, int attr,
usr/src/uts/common/vm/seg_spt.c
1303
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_spt.c
1304
mutex_enter(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_spt.c
1305
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_spt.c
1306
AS_CLRUNMAPWAIT(seg->s_as);
usr/src/uts/common/vm/seg_spt.c
1307
cv_broadcast(&seg->s_as->a_cv);
usr/src/uts/common/vm/seg_spt.c
1309
mutex_exit(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_spt.c
1328
segspt_shmpagelock(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_spt.c
1331
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
1332
struct seg *sptseg = shmd->shm_sptseg;
usr/src/uts/common/vm/seg_spt.c
134
segspt_badop_incore(struct seg *seg, caddr_t addr, size_t len, char *vec)
usr/src/uts/common/vm/seg_spt.c
1345
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
1358
return (segspt_dismpagelock(seg, addr, len, ppp, type, rw));
usr/src/uts/common/vm/seg_spt.c
1361
page_index = seg_page(seg, addr);
usr/src/uts/common/vm/seg_spt.c
1377
seg_pinactive(seg, NULL, seg->s_base, sptd->spt_amp->size,
usr/src/uts/common/vm/seg_spt.c
1388
if (AS_ISUNMAPWAIT(seg->s_as) && (shmd->shm_softlockcnt > 0)) {
usr/src/uts/common/vm/seg_spt.c
1389
segspt_purge(seg);
usr/src/uts/common/vm/seg_spt.c
1400
pplist = seg_plookup(seg, NULL, seg->s_base, sptd->spt_amp->size,
usr/src/uts/common/vm/seg_spt.c
141
segspt_badop_lockop(struct seg *seg, caddr_t addr, size_t len, int attr,
usr/src/uts/common/vm/seg_spt.c
1419
pplist = seg_plookup(seg, NULL, seg->s_base, sptd->spt_amp->size,
usr/src/uts/common/vm/seg_spt.c
1433
if (seg_pinsert_check(seg, NULL, seg->s_base, sptd->spt_amp->size,
usr/src/uts/common/vm/seg_spt.c
149
segspt_badop_getprot(struct seg *seg, caddr_t addr, size_t len, uint_t *protv)
usr/src/uts/common/vm/seg_spt.c
1497
ret = seg_pinsert(seg, NULL, seg->s_base, sptd->spt_amp->size,
usr/src/uts/common/vm/seg_spt.c
156
segspt_badop_getoffset(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_spt.c
1560
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_spt.c
1561
mutex_enter(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_spt.c
1562
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_spt.c
1563
AS_CLRUNMAPWAIT(seg->s_as);
usr/src/uts/common/vm/seg_spt.c
1564
cv_broadcast(&seg->s_as->a_cv);
usr/src/uts/common/vm/seg_spt.c
1566
mutex_exit(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_spt.c
1577
segspt_purge(struct seg *seg)
usr/src/uts/common/vm/seg_spt.c
1579
seg_ppurge(seg, NULL, SEGP_FORCE_WIRED);
usr/src/uts/common/vm/seg_spt.c
1586
struct seg *seg = (struct seg *)ptag;
usr/src/uts/common/vm/seg_spt.c
1587
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
1588
struct seg *sptseg;
usr/src/uts/common/vm/seg_spt.c
1603
ASSERT(async || AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
163
segspt_badop_gettype(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_spt.c
1676
if (async || AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_spt.c
1677
mutex_enter(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_spt.c
1679
AS_SETNOUNMAPWAIT(seg->s_as);
usr/src/uts/common/vm/seg_spt.c
1680
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_spt.c
1681
AS_CLRUNMAPWAIT(seg->s_as);
usr/src/uts/common/vm/seg_spt.c
1682
cv_broadcast(&seg->s_as->a_cv);
usr/src/uts/common/vm/seg_spt.c
1684
mutex_exit(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_spt.c
170
segspt_badop_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp)
usr/src/uts/common/vm/seg_spt.c
1722
segspt_softunlock(struct seg *seg, caddr_t sptseg_addr,
usr/src/uts/common/vm/seg_spt.c
1725
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
1726
struct seg *sptseg;
usr/src/uts/common/vm/seg_spt.c
1737
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
177
segspt_badop_advise(struct seg *seg, caddr_t addr, size_t len, uint_t behav)
usr/src/uts/common/vm/seg_spt.c
1808
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_spt.c
1809
mutex_enter(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_spt.c
1810
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_spt.c
1811
AS_CLRUNMAPWAIT(seg->s_as);
usr/src/uts/common/vm/seg_spt.c
1812
cv_broadcast(&seg->s_as->a_cv);
usr/src/uts/common/vm/seg_spt.c
1814
mutex_exit(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_spt.c
1820
segspt_shmattach(struct seg **segpp, void *argsp)
usr/src/uts/common/vm/seg_spt.c
1822
struct seg *seg = *segpp;
usr/src/uts/common/vm/seg_spt.c
1829
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
184
segspt_badop_dump(struct seg *seg)
usr/src/uts/common/vm/seg_spt.c
1840
NULL, 0, seg->s_size);
usr/src/uts/common/vm/seg_spt.c
1844
seg->s_data = (void *)shmd;
usr/src/uts/common/vm/seg_spt.c
1845
seg->s_ops = &segspt_shmops;
usr/src/uts/common/vm/seg_spt.c
1846
seg->s_szc = shmd->shm_sptseg->s_szc;
usr/src/uts/common/vm/seg_spt.c
1852
seg->s_data = (void *)NULL;
usr/src/uts/common/vm/seg_spt.c
1858
if ((error = hat_share(seg->s_as->a_hat, seg->s_base,
usr/src/uts/common/vm/seg_spt.c
1860
seg->s_size, seg->s_szc)) != 0) {
usr/src/uts/common/vm/seg_spt.c
1866
error = hat_share(seg->s_as->a_hat, seg->s_base,
usr/src/uts/common/vm/seg_spt.c
1868
seg->s_size, seg->s_szc);
usr/src/uts/common/vm/seg_spt.c
1871
seg->s_szc = 0;
usr/src/uts/common/vm/seg_spt.c
1872
seg->s_data = (void *)NULL;
usr/src/uts/common/vm/seg_spt.c
1883
segspt_shmunmap(struct seg *seg, caddr_t raddr, size_t ssize)
usr/src/uts/common/vm/seg_spt.c
1885
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
1888
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
1892
segspt_purge(seg);
usr/src/uts/common/vm/seg_spt.c
1899
if (ssize != seg->s_size) {
usr/src/uts/common/vm/seg_spt.c
1902
ssize, seg->s_size);
usr/src/uts/common/vm/seg_spt.c
1907
(void) segspt_shmlockop(seg, raddr, shmd->shm_amp->size, 0, MC_UNLOCK,
usr/src/uts/common/vm/seg_spt.c
1909
hat_unshare(seg->s_as->a_hat, raddr, ssize, seg->s_szc);
usr/src/uts/common/vm/seg_spt.c
191
segspt_badop_pagelock(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_spt.c
1911
seg_free(seg);
usr/src/uts/common/vm/seg_spt.c
1917
segspt_shmfree(struct seg *seg)
usr/src/uts/common/vm/seg_spt.c
1919
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
1922
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
1924
(void) segspt_shmlockop(seg, seg->s_base, shm_amp->size, 0,
usr/src/uts/common/vm/seg_spt.c
1953
segspt_shmsetprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/common/vm/seg_spt.c
1955
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
1970
segspt_dismfault(struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/common/vm/seg_spt.c
1973
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
1974
struct seg *sptseg = shmd->shm_sptseg;
usr/src/uts/common/vm/seg_spt.c
199
segspt_badop_setpgsz(struct seg *seg, caddr_t addr, size_t len, uint_t szc)
usr/src/uts/common/vm/seg_spt.c
1993
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
2005
ASSERT(addr >= seg->s_base);
usr/src/uts/common/vm/seg_spt.c
2006
if (((addr + len) - seg->s_base) > sptd->spt_realsize)
usr/src/uts/common/vm/seg_spt.c
2030
an_idx = seg_page(seg, shm_addr);
usr/src/uts/common/vm/seg_spt.c
206
segspt_badop_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
usr/src/uts/common/vm/seg_spt.c
2081
page_migrate(seg, shm_addr, ppa, npages);
usr/src/uts/common/vm/seg_spt.c
2101
if (hat_share(seg->s_as->a_hat, shm_addr,
usr/src/uts/common/vm/seg_spt.c
2103
seg->s_szc) != 0) {
usr/src/uts/common/vm/seg_spt.c
2125
segspt_softunlock(seg, segspt_addr, size, rw);
usr/src/uts/common/vm/seg_spt.c
213
segspt_badop_capable(struct seg *seg, segcapability_t capability)
usr/src/uts/common/vm/seg_spt.c
2153
segspt_shmfault(struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/common/vm/seg_spt.c
2156
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
2157
struct seg *sptseg = shmd->shm_sptseg;
usr/src/uts/common/vm/seg_spt.c
2180
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
2183
return (segspt_dismfault(hat, seg, addr, len, type, rw));
usr/src/uts/common/vm/seg_spt.c
2196
ASSERT(addr >= seg->s_base);
usr/src/uts/common/vm/seg_spt.c
2197
if (((addr + len) - seg->s_base) > sptd->spt_realsize)
usr/src/uts/common/vm/seg_spt.c
2221
anon_index = seg_page(seg, shm_addr);
usr/src/uts/common/vm/seg_spt.c
2273
if (hat_share(seg->s_as->a_hat, seg->s_base,
usr/src/uts/common/vm/seg_spt.c
2331
page_migrate(seg, shm_addr, ppa, npages);
usr/src/uts/common/vm/seg_spt.c
2357
segspt_softunlock(seg, sptseg_addr, ptob(npages), rw);
usr/src/uts/common/vm/seg_spt.c
2384
segspt_shmfaulta(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_spt.c
2391
segspt_shmkluster(struct seg *seg, caddr_t addr, ssize_t delta)
usr/src/uts/common/vm/seg_spt.c
2398
segspt_shmswapout(struct seg *seg)
usr/src/uts/common/vm/seg_spt.c
2407
segspt_shmdup(struct seg *seg, struct seg *newseg)
usr/src/uts/common/vm/seg_spt.c
2409
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
2412
struct seg *spt_seg = shmd->shm_sptseg;
usr/src/uts/common/vm/seg_spt.c
2416
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
2424
newseg->s_szc = seg->s_szc;
usr/src/uts/common/vm/seg_spt.c
2425
ASSERT(seg->s_szc == shmd->shm_sptseg->s_szc);
usr/src/uts/common/vm/seg_spt.c
2437
seg->s_size, seg->s_szc)) != 0) {
usr/src/uts/common/vm/seg_spt.c
2445
shmd->shm_sptas->a_hat, SEGSPTADDR, seg->s_size,
usr/src/uts/common/vm/seg_spt.c
2446
seg->s_szc));
usr/src/uts/common/vm/seg_spt.c
245
static int segspt_shmdup(struct seg *seg, struct seg *newseg);
usr/src/uts/common/vm/seg_spt.c
2453
segspt_shmcheckprot(struct seg *seg, caddr_t addr, size_t size, uint_t prot)
usr/src/uts/common/vm/seg_spt.c
2455
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
2458
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
246
static int segspt_shmunmap(struct seg *seg, caddr_t raddr, size_t ssize);
usr/src/uts/common/vm/seg_spt.c
247
static void segspt_shmfree(struct seg *seg);
usr/src/uts/common/vm/seg_spt.c
2472
struct seg *sptseg,
usr/src/uts/common/vm/seg_spt.c
248
static faultcode_t segspt_shmfault(struct hat *hat, struct seg *seg,
usr/src/uts/common/vm/seg_spt.c
250
static faultcode_t segspt_shmfaulta(struct seg *seg, caddr_t addr);
usr/src/uts/common/vm/seg_spt.c
251
static int segspt_shmsetprot(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_spt.c
253
static int segspt_shmcheckprot(struct seg *seg, caddr_t addr, size_t size,
usr/src/uts/common/vm/seg_spt.c
255
static int segspt_shmkluster(struct seg *seg, caddr_t addr, ssize_t delta);
usr/src/uts/common/vm/seg_spt.c
256
static size_t segspt_shmswapout(struct seg *seg);
usr/src/uts/common/vm/seg_spt.c
257
static size_t segspt_shmincore(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_spt.c
259
static int segspt_shmsync(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_spt.c
261
static int segspt_shmlockop(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_spt.c
2628
spt_lockpages(struct seg *seg, pgcnt_t anon_index, pgcnt_t npages,
usr/src/uts/common/vm/seg_spt.c
263
static int segspt_shmgetprot(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_spt.c
2632
struct shm_data *shmd = seg->s_data;
usr/src/uts/common/vm/seg_spt.c
265
static u_offset_t segspt_shmgetoffset(struct seg *seg, caddr_t addr);
usr/src/uts/common/vm/seg_spt.c
266
static int segspt_shmgettype(struct seg *seg, caddr_t addr);
usr/src/uts/common/vm/seg_spt.c
267
static int segspt_shmgetvp(struct seg *seg, caddr_t addr, struct vnode **vpp);
usr/src/uts/common/vm/seg_spt.c
268
static int segspt_shmadvise(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_spt.c
270
static void segspt_shmdump(struct seg *seg);
usr/src/uts/common/vm/seg_spt.c
271
static int segspt_shmpagelock(struct seg *, caddr_t, size_t,
usr/src/uts/common/vm/seg_spt.c
2716
spt_unlockpages(struct seg *seg, pgcnt_t anon_index, pgcnt_t npages,
usr/src/uts/common/vm/seg_spt.c
2719
struct shm_data *shmd = seg->s_data;
usr/src/uts/common/vm/seg_spt.c
273
static int segspt_shmsetpgsz(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_spt.c
274
static int segspt_shmgetmemid(struct seg *, caddr_t, memid_t *);
usr/src/uts/common/vm/seg_spt.c
275
static lgrp_mem_policy_info_t *segspt_shmgetpolicy(struct seg *, caddr_t);
usr/src/uts/common/vm/seg_spt.c
276
static int segspt_shmcapable(struct seg *, segcapability_t);
usr/src/uts/common/vm/seg_spt.c
2789
segspt_shmlockop(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_spt.c
2792
struct shm_data *shmd = seg->s_data;
usr/src/uts/common/vm/seg_spt.c
2793
struct seg *sptseg = shmd->shm_sptseg;
usr/src/uts/common/vm/seg_spt.c
2809
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
2817
an_idx = seg_page(seg, addr);
usr/src/uts/common/vm/seg_spt.c
2844
a_an_idx = seg_page(seg, a_addr);
usr/src/uts/common/vm/seg_spt.c
2878
sts = spt_lockpages(seg, an_idx, npages,
usr/src/uts/common/vm/seg_spt.c
2917
sts = spt_unlockpages(seg, an_idx, npages, &unlocked);
usr/src/uts/common/vm/seg_spt.c
2933
segspt_shmgetprot(struct seg *seg, caddr_t addr, size_t len, uint_t *protv)
usr/src/uts/common/vm/seg_spt.c
2935
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
2937
spgcnt_t pgno = seg_page(seg, addr+len) - seg_page(seg, addr) + 1;
usr/src/uts/common/vm/seg_spt.c
2939
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
2951
segspt_shmgetoffset(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_spt.c
2953
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
2962
segspt_shmgettype(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_spt.c
2964
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
2967
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
2979
segspt_shmgetvp(struct seg *seg, caddr_t addr, struct vnode **vpp)
usr/src/uts/common/vm/seg_spt.c
2981
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
2984
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
2999
segspt_shmadvise(struct seg *seg, caddr_t addr, size_t len, uint_t behav)
usr/src/uts/common/vm/seg_spt.c
3001
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
3010
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
3017
pg_idx = seg_page(seg, addr);
usr/src/uts/common/vm/seg_spt.c
3044
writer = AS_WRITE_HELD(seg->s_as);
usr/src/uts/common/vm/seg_spt.c
3046
AS_LOCK_EXIT(seg->s_as);
usr/src/uts/common/vm/seg_spt.c
305
static void segspt_purge(struct seg *seg);
usr/src/uts/common/vm/seg_spt.c
3067
AS_LOCK_ENTER(seg->s_as, writer ? RW_WRITER : RW_READER);
usr/src/uts/common/vm/seg_spt.c
3070
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_spt.c
3071
mutex_enter(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_spt.c
3072
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_spt.c
3073
AS_CLRUNMAPWAIT(seg->s_as);
usr/src/uts/common/vm/seg_spt.c
3074
cv_broadcast(&seg->s_as->a_cv);
usr/src/uts/common/vm/seg_spt.c
3076
mutex_exit(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_spt.c
308
static int spt_anon_getpages(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_spt.c
3091
struct seg *sptseg = shmd->shm_sptseg;
usr/src/uts/common/vm/seg_spt.c
3103
anon_index = seg_page(seg, shm_addr);
usr/src/uts/common/vm/seg_spt.c
3137
segspt_purge(seg);
usr/src/uts/common/vm/seg_spt.c
3139
page_mark_migrate(seg, shm_addr, size, amp, 0, NULL, 0, 0);
usr/src/uts/common/vm/seg_spt.c
3147
segspt_shmdump(struct seg *seg)
usr/src/uts/common/vm/seg_spt.c
3154
segspt_shmsetpgsz(struct seg *seg, caddr_t addr, size_t len, uint_t szc)
usr/src/uts/common/vm/seg_spt.c
3163
segspt_shmgetmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
usr/src/uts/common/vm/seg_spt.c
3165
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
3170
struct seg *sptseg = shmd->shm_sptseg;
usr/src/uts/common/vm/seg_spt.c
3173
anon_index = seg_page(seg, addr);
usr/src/uts/common/vm/seg_spt.c
3175
if (addr > (seg->s_base + sptd->spt_realsize)) {
usr/src/uts/common/vm/seg_spt.c
3206
segspt_shmgetpolicy(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_spt.c
3213
ASSERT(seg != NULL);
usr/src/uts/common/vm/seg_spt.c
3223
shm_data = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
3234
anon_index = seg_page(seg, addr);
usr/src/uts/common/vm/seg_spt.c
3242
segspt_shmcapable(struct seg *seg, segcapability_t capability)
usr/src/uts/common/vm/seg_spt.c
339
sptcreate(size_t size, struct seg **sptseg, struct anon_map *amp,
usr/src/uts/common/vm/seg_spt.c
387
segspt_free(struct seg *seg)
usr/src/uts/common/vm/seg_spt.c
389
struct spt_data *sptd = (struct spt_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
391
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
395
segspt_free_pages(seg, seg->s_base, sptd->spt_realsize);
usr/src/uts/common/vm/seg_spt.c
411
segspt_shmsync(struct seg *seg, caddr_t addr, size_t len, int attr,
usr/src/uts/common/vm/seg_spt.c
414
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
421
segspt_shmincore(struct seg *seg, caddr_t addr, size_t len, char *vec)
usr/src/uts/common/vm/seg_spt.c
425
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
426
struct seg *sptseg;
usr/src/uts/common/vm/seg_spt.c
429
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
431
seg = seg;
usr/src/uts/common/vm/seg_spt.c
457
anon_index = seg_page(seg, addr);
usr/src/uts/common/vm/seg_spt.c
489
segspt_unmap(struct seg *seg, caddr_t raddr, size_t ssize)
usr/src/uts/common/vm/seg_spt.c
493
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
506
share_size = page_get_pagesize(seg->s_szc);
usr/src/uts/common/vm/seg_spt.c
509
if (raddr == seg->s_base && ssize == seg->s_size) {
usr/src/uts/common/vm/seg_spt.c
510
seg_free(seg);
usr/src/uts/common/vm/seg_spt.c
517
segspt_create(struct seg **segpp, void *argsp)
usr/src/uts/common/vm/seg_spt.c
519
struct seg *seg = *segpp;
usr/src/uts/common/vm/seg_spt.c
521
caddr_t addr = seg->s_base;
usr/src/uts/common/vm/seg_spt.c
545
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
569
seg->s_ops = &segspt_ops;
usr/src/uts/common/vm/seg_spt.c
574
seg->s_data = (caddr_t)sptd;
usr/src/uts/common/vm/seg_spt.c
577
seg->s_szc = sptcargs->szc;
usr/src/uts/common/vm/seg_spt.c
582
if (seg->s_szc > amp->a_szc) {
usr/src/uts/common/vm/seg_spt.c
583
amp->a_szc = seg->s_szc;
usr/src/uts/common/vm/seg_spt.c
600
share_sz = page_get_pagesize(seg->s_szc);
usr/src/uts/common/vm/seg_spt.c
640
sptcargs->seg_spt = seg;
usr/src/uts/common/vm/seg_spt.c
648
seg, addr, S_CREATE, cred)) != 0)
usr/src/uts/common/vm/seg_spt.c
67
static int segspt_create(struct seg **segpp, void *argsp);
usr/src/uts/common/vm/seg_spt.c
68
static int segspt_unmap(struct seg *seg, caddr_t raddr, size_t ssize);
usr/src/uts/common/vm/seg_spt.c
69
static void segspt_free(struct seg *seg);
usr/src/uts/common/vm/seg_spt.c
70
static void segspt_free_pages(struct seg *seg, caddr_t addr, size_t len);
usr/src/uts/common/vm/seg_spt.c
71
static lgrp_mem_policy_info_t *segspt_getpolicy(struct seg *seg, caddr_t addr);
usr/src/uts/common/vm/seg_spt.c
711
pgsz = page_get_pagesize(seg->s_szc);
usr/src/uts/common/vm/seg_spt.c
712
pgcnt = page_get_pagecnt(seg->s_szc);
usr/src/uts/common/vm/seg_spt.c
715
hat_memload_array(seg->s_as->a_hat, a, sz,
usr/src/uts/common/vm/seg_spt.c
739
sptcargs->seg_spt = seg;
usr/src/uts/common/vm/seg_spt.c
743
seg->s_data = NULL;
usr/src/uts/common/vm/seg_spt.c
75
segspt_badop_dup(struct seg *seg __unused, struct seg *newseg __unused)
usr/src/uts/common/vm/seg_spt.c
760
segspt_free_pages(struct seg *seg, caddr_t addr, size_t len)
usr/src/uts/common/vm/seg_spt.c
763
struct spt_data *sptd = (struct spt_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
778
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.c
790
hat_unload(seg->s_as->a_hat, addr, len, hat_flags);
usr/src/uts/common/vm/seg_spt.c
82
segspt_badop_fault(struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/common/vm/seg_spt.c
90
segspt_badop_faulta(struct seg *seg __unused, caddr_t addr __unused)
usr/src/uts/common/vm/seg_spt.c
927
segspt_getpolicy(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_spt.c
934
ASSERT(seg != NULL);
usr/src/uts/common/vm/seg_spt.c
944
spt_data = (struct spt_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
955
anon_index = seg_page(seg, addr);
usr/src/uts/common/vm/seg_spt.c
97
segspt_badop_prot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/common/vm/seg_spt.c
972
segspt_dismpagelock(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_spt.c
975
struct shm_data *shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/seg_spt.c
976
struct seg *sptseg = shmd->shm_sptseg;
usr/src/uts/common/vm/seg_spt.c
990
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_spt.h
100
int sptcreate(size_t size, struct seg **sptseg, struct anon_map *amp,
usr/src/uts/common/vm/seg_spt.h
103
int segspt_shmattach(struct seg **, void *);
usr/src/uts/common/vm/seg_spt.h
114
#define spt_realsize(seg) (((struct spt_data *)(((struct shm_data *)\
usr/src/uts/common/vm/seg_spt.h
115
((seg)->s_data))->shm_sptseg->s_data))->spt_realsize)
usr/src/uts/common/vm/seg_spt.h
121
#define spt_flags(seg) (((struct spt_data *)((seg)->s_data))->spt_flags)
usr/src/uts/common/vm/seg_spt.h
44
struct seg *seg_spt;
usr/src/uts/common/vm/seg_spt.h
77
struct seg *shm_sptseg; /* pointer to spt segment */
usr/src/uts/common/vm/seg_umap.c
102
segumap_create(struct seg **segpp, void *argsp)
usr/src/uts/common/vm/seg_umap.c
104
struct seg *seg = *segpp;
usr/src/uts/common/vm/seg_umap.c
118
((uintptr_t)a->kaddr + seg->s_size) < (uintptr_t)a->kaddr ||
usr/src/uts/common/vm/seg_umap.c
121
!segumap_verify_safe(a->kaddr, seg->s_size)) {
usr/src/uts/common/vm/seg_umap.c
130
seg->s_ops = &segumap_ops;
usr/src/uts/common/vm/seg_umap.c
131
seg->s_data = data;
usr/src/uts/common/vm/seg_umap.c
138
struct seg *seg;
usr/src/uts/common/vm/seg_umap.c
150
seg = as_segat(&kas, kaddr);
usr/src/uts/common/vm/seg_umap.c
151
VERIFY(seg != NULL);
usr/src/uts/common/vm/seg_umap.c
152
VERIFY(seg->s_base + seg->s_size >= kaddr + len);
usr/src/uts/common/vm/seg_umap.c
153
VERIFY(seg->s_ops == &segkmem_ops);
usr/src/uts/common/vm/seg_umap.c
160
segumap_dup(struct seg *seg, struct seg *newseg)
usr/src/uts/common/vm/seg_umap.c
162
segumap_data_t *sud = (segumap_data_t *)seg->s_data;
usr/src/uts/common/vm/seg_umap.c
165
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_umap.c
172
newseg->s_ops = seg->s_ops;
usr/src/uts/common/vm/seg_umap.c
178
segumap_unmap(struct seg *seg, caddr_t addr, size_t len)
usr/src/uts/common/vm/seg_umap.c
180
segumap_data_t *sud = (segumap_data_t *)seg->s_data;
usr/src/uts/common/vm/seg_umap.c
182
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_umap.c
185
if (addr != seg->s_base || len != seg->s_size) {
usr/src/uts/common/vm/seg_umap.c
195
hat_unload(seg->s_as->a_hat, addr, len, HAT_UNLOAD_UNMAP);
usr/src/uts/common/vm/seg_umap.c
197
seg_free(seg);
usr/src/uts/common/vm/seg_umap.c
202
segumap_free(struct seg *seg)
usr/src/uts/common/vm/seg_umap.c
204
segumap_data_t *data = (segumap_data_t *)seg->s_data;
usr/src/uts/common/vm/seg_umap.c
211
seg->s_data = NULL;
usr/src/uts/common/vm/seg_umap.c
216
segumap_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_umap.c
219
segumap_data_t *sud = (segumap_data_t *)seg->s_data;
usr/src/uts/common/vm/seg_umap.c
221
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_umap.c
251
for (uintptr_t i = 0; i < seg->s_size; i += PAGESIZE) {
usr/src/uts/common/vm/seg_umap.c
256
hat_devload(seg->s_as->a_hat, seg->s_base + i,
usr/src/uts/common/vm/seg_umap.c
276
segumap_faulta(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_umap.c
284
segumap_setprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/common/vm/seg_umap.c
286
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_umap.c
296
segumap_checkprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/common/vm/seg_umap.c
298
segumap_data_t *sud = (segumap_data_t *)seg->s_data;
usr/src/uts/common/vm/seg_umap.c
301
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_umap.c
313
segumap_sync(struct seg *seg, caddr_t addr, size_t len, int attr, uint_t flags)
usr/src/uts/common/vm/seg_umap.c
321
segumap_incore(struct seg *seg, caddr_t addr, size_t len, char *vec)
usr/src/uts/common/vm/seg_umap.c
325
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_umap.c
339
segumap_lockop(struct seg *seg, caddr_t addr, size_t len, int attr, int op,
usr/src/uts/common/vm/seg_umap.c
347
segumap_getprot(struct seg *seg, caddr_t addr, size_t len, uint_t *protv)
usr/src/uts/common/vm/seg_umap.c
349
segumap_data_t *sud = (segumap_data_t *)seg->s_data;
usr/src/uts/common/vm/seg_umap.c
353
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_umap.c
362
pgno = seg_page(seg, addr + len) - seg_page(seg, addr) + 1;
usr/src/uts/common/vm/seg_umap.c
371
segumap_getoffset(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_umap.c
382
segumap_gettype(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_umap.c
393
segumap_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp)
usr/src/uts/common/vm/seg_umap.c
395
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_umap.c
403
segumap_advise(struct seg *seg, caddr_t addr, size_t len, uint_t behav)
usr/src/uts/common/vm/seg_umap.c
415
segumap_dump(struct seg *seg)
usr/src/uts/common/vm/seg_umap.c
425
segumap_pagelock(struct seg *seg, caddr_t addr, size_t len, struct page ***ppp,
usr/src/uts/common/vm/seg_umap.c
433
segumap_setpagesize(struct seg *seg, caddr_t addr, size_t len, uint_t szc)
usr/src/uts/common/vm/seg_umap.c
439
segumap_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
usr/src/uts/common/vm/seg_umap.c
441
segumap_data_t *sud = (segumap_data_t *)seg->s_data;
usr/src/uts/common/vm/seg_umap.c
444
memidp->val[1] = (uintptr_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_umap.c
450
segumap_capable(struct seg *seg, segcapability_t capability)
usr/src/uts/common/vm/seg_umap.c
46
static int segumap_dup(struct seg *, struct seg *);
usr/src/uts/common/vm/seg_umap.c
47
static int segumap_unmap(struct seg *, caddr_t, size_t);
usr/src/uts/common/vm/seg_umap.c
48
static void segumap_free(struct seg *);
usr/src/uts/common/vm/seg_umap.c
49
static faultcode_t segumap_fault(struct hat *, struct seg *, caddr_t, size_t,
usr/src/uts/common/vm/seg_umap.c
51
static faultcode_t segumap_faulta(struct seg *, caddr_t);
usr/src/uts/common/vm/seg_umap.c
52
static int segumap_setprot(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_umap.c
53
static int segumap_checkprot(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_umap.c
54
static int segumap_sync(struct seg *, caddr_t, size_t, int, uint_t);
usr/src/uts/common/vm/seg_umap.c
55
static size_t segumap_incore(struct seg *, caddr_t, size_t, char *);
usr/src/uts/common/vm/seg_umap.c
56
static int segumap_lockop(struct seg *, caddr_t, size_t, int, int, ulong_t *,
usr/src/uts/common/vm/seg_umap.c
58
static int segumap_getprot(struct seg *, caddr_t, size_t, uint_t *);
usr/src/uts/common/vm/seg_umap.c
59
static u_offset_t segumap_getoffset(struct seg *, caddr_t);
usr/src/uts/common/vm/seg_umap.c
60
static int segumap_gettype(struct seg *, caddr_t);
usr/src/uts/common/vm/seg_umap.c
61
static int segumap_getvp(struct seg *, caddr_t, struct vnode **);
usr/src/uts/common/vm/seg_umap.c
62
static int segumap_advise(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_umap.c
63
static void segumap_dump(struct seg *);
usr/src/uts/common/vm/seg_umap.c
64
static int segumap_pagelock(struct seg *, caddr_t, size_t, struct page ***,
usr/src/uts/common/vm/seg_umap.c
66
static int segumap_setpagesize(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_umap.c
67
static int segumap_getmemid(struct seg *, caddr_t, memid_t *);
usr/src/uts/common/vm/seg_umap.c
68
static int segumap_capable(struct seg *, segcapability_t);
usr/src/uts/common/vm/seg_umap.h
36
extern int segumap_create(struct seg **, void *);
usr/src/uts/common/vm/seg_vn.c
1000
svd->vp, svd->offset, seg->s_size);
usr/src/uts/common/vm/seg_vn.c
10027
segvn_textunrepl(struct seg *seg, int unload_unmap)
usr/src/uts/common/vm/seg_vn.c
10029
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
10032
size_t size = seg->s_size;
usr/src/uts/common/vm/seg_vn.c
10034
uint_t szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
10041
ASSERT(AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
10042
ASSERT(AS_WRITE_HELD(seg->s_as) ||
usr/src/uts/common/vm/seg_vn.c
10043
SEGVN_WRITE_HELD(seg->s_as, &svd->lock));
usr/src/uts/common/vm/seg_vn.c
1005
svd->rcookie = hat_join_region(seg->s_as->a_hat, seg->s_base,
usr/src/uts/common/vm/seg_vn.c
1006
seg->s_size, (void *)svd->vp, svd->offset, svd->prot,
usr/src/uts/common/vm/seg_vn.c
1007
(uchar_t)seg->s_szc, segvn_hat_rgn_unload_callback,
usr/src/uts/common/vm/seg_vn.c
10113
hat_unload_callback(seg->s_as->a_hat, seg->s_base, size,
usr/src/uts/common/vm/seg_vn.c
102
static int segvn_dup(struct seg *seg, struct seg *newseg);
usr/src/uts/common/vm/seg_vn.c
10211
segvn_trupdate_seg(svd->seg, svd, svntrp,
usr/src/uts/common/vm/seg_vn.c
10220
segvn_trupdate_seg(struct seg *seg, segvn_data_t *svd, svntr_t *svntrp,
usr/src/uts/common/vm/seg_vn.c
10232
ASSERT(svd->offset + seg->s_size == svntrp->tr_eoff);
usr/src/uts/common/vm/seg_vn.c
10233
ASSERT(seg != NULL);
usr/src/uts/common/vm/seg_vn.c
10234
ASSERT(svd->seg == seg);
usr/src/uts/common/vm/seg_vn.c
10235
ASSERT(seg->s_data == (void *)svd);
usr/src/uts/common/vm/seg_vn.c
10236
ASSERT(seg->s_szc == svntrp->tr_szc);
usr/src/uts/common/vm/seg_vn.c
1024
segvn_concat(struct seg *seg1, struct seg *seg2, int amp_cat)
usr/src/uts/common/vm/seg_vn.c
10247
as = seg->s_as;
usr/src/uts/common/vm/seg_vn.c
10272
if (!SEGVN_LOCK_TRYENTER(seg->s_as, &svd->lock, RW_WRITER)) {
usr/src/uts/common/vm/seg_vn.c
10280
size = seg->s_size;
usr/src/uts/common/vm/seg_vn.c
10284
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
10291
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
10299
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
103
static int segvn_unmap(struct seg *seg, caddr_t addr, size_t len);
usr/src/uts/common/vm/seg_vn.c
10307
amp->a_szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
10319
hat_unload_callback(as->a_hat, seg->s_base, size, 0, NULL);
usr/src/uts/common/vm/seg_vn.c
10331
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
10338
ASSERT(svd->seg == seg);
usr/src/uts/common/vm/seg_vn.c
104
static void segvn_free(struct seg *seg);
usr/src/uts/common/vm/seg_vn.c
105
static faultcode_t segvn_fault(struct hat *hat, struct seg *seg,
usr/src/uts/common/vm/seg_vn.c
108
static faultcode_t segvn_faulta(struct seg *seg, caddr_t addr);
usr/src/uts/common/vm/seg_vn.c
109
static int segvn_setprot(struct seg *seg, caddr_t addr,
usr/src/uts/common/vm/seg_vn.c
111
static int segvn_checkprot(struct seg *seg, caddr_t addr,
usr/src/uts/common/vm/seg_vn.c
113
static int segvn_kluster(struct seg *seg, caddr_t addr, ssize_t delta);
usr/src/uts/common/vm/seg_vn.c
114
static size_t segvn_swapout(struct seg *seg);
usr/src/uts/common/vm/seg_vn.c
115
static int segvn_sync(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_vn.c
117
static size_t segvn_incore(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_vn.c
119
static int segvn_lockop(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_vn.c
121
static int segvn_getprot(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_vn.c
123
static u_offset_t segvn_getoffset(struct seg *seg, caddr_t addr);
usr/src/uts/common/vm/seg_vn.c
124
static int segvn_gettype(struct seg *seg, caddr_t addr);
usr/src/uts/common/vm/seg_vn.c
125
static int segvn_getvp(struct seg *seg, caddr_t addr,
usr/src/uts/common/vm/seg_vn.c
1267
segvn_extend_prev(struct seg *seg1, struct seg *seg2, struct segvn_crargs *a,
usr/src/uts/common/vm/seg_vn.c
127
static int segvn_advise(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_vn.c
129
static void segvn_dump(struct seg *seg);
usr/src/uts/common/vm/seg_vn.c
130
static int segvn_pagelock(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_vn.c
132
static int segvn_setpagesize(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_vn.c
134
static int segvn_getmemid(struct seg *seg, caddr_t addr,
usr/src/uts/common/vm/seg_vn.c
136
static lgrp_mem_policy_info_t *segvn_getpolicy(struct seg *, caddr_t);
usr/src/uts/common/vm/seg_vn.c
137
static int segvn_capable(struct seg *seg, segcapability_t capable);
usr/src/uts/common/vm/seg_vn.c
138
static int segvn_inherit(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/common/vm/seg_vn.c
1385
segvn_extend_next(struct seg *seg1, struct seg *seg2, struct segvn_crargs *a,
usr/src/uts/common/vm/seg_vn.c
1505
segvn_dup_pages(struct seg *seg, struct seg *newseg)
usr/src/uts/common/vm/seg_vn.c
1514
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
1519
i = btopr(seg->s_size);
usr/src/uts/common/vm/seg_vn.c
1520
addr = seg->s_base;
usr/src/uts/common/vm/seg_vn.c
1531
vpp = &svd->vpage[seg_page(seg, addr)];
usr/src/uts/common/vm/seg_vn.c
1552
PAGESIZE, seg, addr, S_READ, svd->cred);
usr/src/uts/common/vm/seg_vn.c
1575
segvn_dup(struct seg *seg, struct seg *newseg)
usr/src/uts/common/vm/seg_vn.c
1577
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
1579
pgcnt_t npages = seg_pages(seg);
usr/src/uts/common/vm/seg_vn.c
1584
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
1600
seg, len, 0);
usr/src/uts/common/vm/seg_vn.c
1607
newseg->s_szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
1609
newsvd->seg = newseg;
usr/src/uts/common/vm/seg_vn.c
1716
segvn_purge(seg);
usr/src/uts/common/vm/seg_vn.c
1721
error = segvn_dup_pages(seg, newseg);
usr/src/uts/common/vm/seg_vn.c
1727
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
1737
0, seg->s_size, seg->s_szc,
usr/src/uts/common/vm/seg_vn.c
1741
newsvd->amp->ahp, 0, seg->s_size);
usr/src/uts/common/vm/seg_vn.c
1744
hat_clrattr(seg->s_as->a_hat, seg->s_base,
usr/src/uts/common/vm/seg_vn.c
1745
seg->s_size, PROT_WRITE);
usr/src/uts/common/vm/seg_vn.c
1821
struct seg *seg = cb->hcb_data;
usr/src/uts/common/vm/seg_vn.c
1822
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
1828
ASSERT(cb->hcb_start_addr >= seg->s_base);
usr/src/uts/common/vm/seg_vn.c
1831
off = cb->hcb_start_addr - seg->s_base;
usr/src/uts/common/vm/seg_vn.c
1841
segvn_count_swap_by_vpages(struct seg *seg)
usr/src/uts/common/vm/seg_vn.c
1843
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
1850
evp = &svd->vpage[seg_page(seg, seg->s_base + seg->s_size)];
usr/src/uts/common/vm/seg_vn.c
1861
segvn_unmap(struct seg *seg, caddr_t addr, size_t len)
usr/src/uts/common/vm/seg_vn.c
1863
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
1865
struct seg *nseg;
usr/src/uts/common/vm/seg_vn.c
1881
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
1905
segvn_purge(seg);
usr/src/uts/common/vm/seg_vn.c
1915
if (addr < seg->s_base || addr + len > seg->s_base + seg->s_size ||
usr/src/uts/common/vm/seg_vn.c
192
static int segvn_concat(struct seg *, struct seg *, int);
usr/src/uts/common/vm/seg_vn.c
1921
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
1922
size_t pgsz = page_get_pagesize(seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
1925
ASSERT(seg->s_base != addr || seg->s_size != len);
usr/src/uts/common/vm/seg_vn.c
1929
hat_leave_region(seg->s_as->a_hat,
usr/src/uts/common/vm/seg_vn.c
193
static int segvn_extend_prev(struct seg *, struct seg *,
usr/src/uts/common/vm/seg_vn.c
1942
segvn_textunrepl(seg, 1);
usr/src/uts/common/vm/seg_vn.c
1947
err = segvn_demote_range(seg, addr, len, SDR_END, 0);
usr/src/uts/common/vm/seg_vn.c
195
static int segvn_extend_next(struct seg *, struct seg *,
usr/src/uts/common/vm/seg_vn.c
1960
(offset_t)svd->offset + (uintptr_t)(addr - seg->s_base),
usr/src/uts/common/vm/seg_vn.c
1961
seg->s_as, addr, len, svd->prot, svd->maxprot,
usr/src/uts/common/vm/seg_vn.c
197
static void segvn_softunlock(struct seg *, caddr_t, size_t, enum seg_rw);
usr/src/uts/common/vm/seg_vn.c
1974
(void) segvn_lockop(seg, addr, len, 0, MC_UNLOCK, NULL, 0);
usr/src/uts/common/vm/seg_vn.c
1981
hat_leave_region(seg->s_as->a_hat, svd->rcookie,
usr/src/uts/common/vm/seg_vn.c
1987
segvn_textunrepl(seg, 1);
usr/src/uts/common/vm/seg_vn.c
1999
callback.hcb_data = seg;
usr/src/uts/common/vm/seg_vn.c
2003
hat_unload_callback(seg->s_as->a_hat, addr, len,
usr/src/uts/common/vm/seg_vn.c
2016
if (addr == seg->s_base && len == seg->s_size) {
usr/src/uts/common/vm/seg_vn.c
2017
seg_free(seg);
usr/src/uts/common/vm/seg_vn.c
2021
opages = seg_pages(seg);
usr/src/uts/common/vm/seg_vn.c
2025
ASSERT(amp == NULL || amp->a_szc >= seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
2030
if (addr == seg->s_base) {
usr/src/uts/common/vm/seg_vn.c
204
static faultcode_t segvn_fault_vnodepages(struct hat *, struct seg *, caddr_t,
usr/src/uts/common/vm/seg_vn.c
206
static faultcode_t segvn_fault_anonpages(struct hat *, struct seg *, caddr_t,
usr/src/uts/common/vm/seg_vn.c
2060
if (amp->a_szc == seg->s_szc) {
usr/src/uts/common/vm/seg_vn.c
2061
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
2064
seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
2072
ASSERT(amp->a_szc > seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
208
static faultcode_t segvn_faultpage(struct hat *, struct seg *, caddr_t,
usr/src/uts/common/vm/seg_vn.c
2084
seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
2094
seg->s_base += len;
usr/src/uts/common/vm/seg_vn.c
2095
seg->s_size -= len;
usr/src/uts/common/vm/seg_vn.c
2105
seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
2106
if (SEG_IS_PARTIAL_RESV(seg))
usr/src/uts/common/vm/seg_vn.c
2107
seg->s_as->a_resvsize -= oswresv -
usr/src/uts/common/vm/seg_vn.c
211
static void segvn_vpage(struct seg *);
usr/src/uts/common/vm/seg_vn.c
2115
segvn_count_swap_by_vpages(seg);
usr/src/uts/common/vm/seg_vn.c
212
static size_t segvn_count_swap_by_vpages(struct seg *);
usr/src/uts/common/vm/seg_vn.c
2120
ASSERT(svd->swresv == seg->s_size);
usr/src/uts/common/vm/seg_vn.c
2124
seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
2127
seg, len, 0);
usr/src/uts/common/vm/seg_vn.c
2136
if (addr + len == seg->s_base + seg->s_size) {
usr/src/uts/common/vm/seg_vn.c
214
static void segvn_purge(struct seg *seg);
usr/src/uts/common/vm/seg_vn.c
2170
if (amp->a_szc == seg->s_szc) {
usr/src/uts/common/vm/seg_vn.c
2171
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
2174
seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
2181
ASSERT(amp->a_szc > seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
2193
seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
220
static int sameprot(struct seg *, caddr_t, size_t);
usr/src/uts/common/vm/seg_vn.c
2200
seg->s_size -= len;
usr/src/uts/common/vm/seg_vn.c
2209
seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
2210
if (SEG_IS_PARTIAL_RESV(seg))
usr/src/uts/common/vm/seg_vn.c
2211
seg->s_as->a_resvsize -= oswresv -
usr/src/uts/common/vm/seg_vn.c
2219
segvn_count_swap_by_vpages(seg);
usr/src/uts/common/vm/seg_vn.c
222
static int segvn_demote_range(struct seg *, caddr_t, size_t, int, uint_t);
usr/src/uts/common/vm/seg_vn.c
2224
ASSERT(svd->swresv == seg->s_size);
usr/src/uts/common/vm/seg_vn.c
2228
seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
223
static int segvn_clrszc(struct seg *);
usr/src/uts/common/vm/seg_vn.c
2231
"anon proc:%p %lu %u", seg, len, 0);
usr/src/uts/common/vm/seg_vn.c
224
static struct seg *segvn_split_seg(struct seg *, caddr_t);
usr/src/uts/common/vm/seg_vn.c
2243
nsize = (seg->s_base + seg->s_size) - nbase; /* new seg size */
usr/src/uts/common/vm/seg_vn.c
2244
seg->s_size = addr - seg->s_base; /* shrink old seg */
usr/src/uts/common/vm/seg_vn.c
2245
nseg = seg_alloc(seg->s_as, nbase, nsize);
usr/src/uts/common/vm/seg_vn.c
225
static int segvn_claim_pages(struct seg *, struct vpage *, u_offset_t,
usr/src/uts/common/vm/seg_vn.c
2250
nseg->s_ops = seg->s_ops;
usr/src/uts/common/vm/seg_vn.c
2253
nseg->s_szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
2255
nsvd->seg = nseg;
usr/src/uts/common/vm/seg_vn.c
2256
nsvd->offset = svd->offset + (uintptr_t)(nseg->s_base - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
2280
npages = seg_pages(seg); /* seg has shrunk */
usr/src/uts/common/vm/seg_vn.c
2305
opages = btop((uintptr_t)(addr - seg->s_base));
usr/src/uts/common/vm/seg_vn.c
2324
if (amp->a_szc == seg->s_szc) {
usr/src/uts/common/vm/seg_vn.c
2325
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
2327
seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
2334
ASSERT(amp->a_szc > seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
2345
seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
2350
btop((uintptr_t)(nseg->s_base - seg->s_base));
usr/src/uts/common/vm/seg_vn.c
2359
nahp = anon_create(btop(seg->s_size), ANON_SLEEP);
usr/src/uts/common/vm/seg_vn.c
2361
namp->a_szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
2363
0, btop(seg->s_size), ANON_SLEEP);
usr/src/uts/common/vm/seg_vn.c
2370
amp->size = seg->s_size;
usr/src/uts/common/vm/seg_vn.c
2380
svd->anon_index, btop(seg->s_size)));
usr/src/uts/common/vm/seg_vn.c
2385
seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
2386
if (SEG_IS_PARTIAL_RESV(seg))
usr/src/uts/common/vm/seg_vn.c
2387
seg->s_as->a_resvsize -= oswresv -
usr/src/uts/common/vm/seg_vn.c
2394
svd->swresv = segvn_count_swap_by_vpages(seg);
usr/src/uts/common/vm/seg_vn.c
2399
if (seg->s_size + nseg->s_size + len !=
usr/src/uts/common/vm/seg_vn.c
2405
svd->swresv = seg->s_size;
usr/src/uts/common/vm/seg_vn.c
2410
seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
2413
seg, len, 0);
usr/src/uts/common/vm/seg_vn.c
2420
segvn_free(struct seg *seg)
usr/src/uts/common/vm/seg_vn.c
2422
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
2423
pgcnt_t npages = seg_pages(seg);
usr/src/uts/common/vm/seg_vn.c
2431
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
2440
(void) segvn_lockop(seg, seg->s_base, seg->s_size,
usr/src/uts/common/vm/seg_vn.c
2457
ASSERT(amp->a_szc >= seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
2464
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
2466
svd->anon_index, seg->s_size,
usr/src/uts/common/vm/seg_vn.c
2467
seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
2470
seg->s_size);
usr/src/uts/common/vm/seg_vn.c
249
#define CALC_LPG_REGION(pgsz, seg, addr, len, lpgaddr, lpgeaddr) { \
usr/src/uts/common/vm/seg_vn.c
2495
seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
2497
"anon proc:%p %lu %u", seg, len, 0);
usr/src/uts/common/vm/seg_vn.c
2509
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
2511
seg->s_size, seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
2514
seg->s_size);
usr/src/uts/common/vm/seg_vn.c
252
ASSERT(lpgaddr >= (seg)->s_base); \
usr/src/uts/common/vm/seg_vn.c
2527
seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
2529
seg, len, 0);
usr/src/uts/common/vm/seg_vn.c
2530
if (SEG_IS_PARTIAL_RESV(seg))
usr/src/uts/common/vm/seg_vn.c
2531
seg->s_as->a_resvsize -= svd->swresv;
usr/src/uts/common/vm/seg_vn.c
2559
seg->s_data = NULL;
usr/src/uts/common/vm/seg_vn.c
256
ASSERT(lpgeaddr <= (seg)->s_base + (seg)->s_size); \
usr/src/uts/common/vm/seg_vn.c
2570
segvn_softunlock(struct seg *seg, caddr_t addr, size_t len, enum seg_rw rw)
usr/src/uts/common/vm/seg_vn.c
2572
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
2581
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
2582
ASSERT(SEGVN_LOCK_HELD(seg->s_as, &svd->lock));
usr/src/uts/common/vm/seg_vn.c
2585
anon_index = svd->anon_index + seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
2589
hat_unlock_region(seg->s_as->a_hat, addr, len, svd->rcookie);
usr/src/uts/common/vm/seg_vn.c
2591
hat_unlock(seg->s_as->a_hat, addr, len);
usr/src/uts/common/vm/seg_vn.c
2602
(uintptr_t)(adr - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
2608
(uintptr_t)(adr - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
2625
if (seg->s_as->a_vbits)
usr/src/uts/common/vm/seg_vn.c
2626
hat_setstat(seg->s_as, adr, PAGESIZE,
usr/src/uts/common/vm/seg_vn.c
2630
if (seg->s_as->a_vbits)
usr/src/uts/common/vm/seg_vn.c
2631
hat_setstat(seg->s_as, adr, PAGESIZE, P_REF);
usr/src/uts/common/vm/seg_vn.c
2646
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_vn.c
2647
mutex_enter(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_vn.c
2648
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_vn.c
2649
AS_CLRUNMAPWAIT(seg->s_as);
usr/src/uts/common/vm/seg_vn.c
2650
cv_broadcast(&seg->s_as->a_cv);
usr/src/uts/common/vm/seg_vn.c
2652
mutex_exit(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_vn.c
2708
struct seg *seg, /* seg_vn of interest */
usr/src/uts/common/vm/seg_vn.c
2718
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
2739
ASSERT(SEGVN_READ_HELD(seg->s_as, &svd->lock));
usr/src/uts/common/vm/seg_vn.c
2740
ASSERT(seg->s_szc == 0);
usr/src/uts/common/vm/seg_vn.c
2784
anon_index = svd->anon_index + seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
2797
seg->s_as->a_proc->p_zone)) {
usr/src/uts/common/vm/seg_vn.c
2799
atomic_add_long(&seg->s_as->a_resvsize,
usr/src/uts/common/vm/seg_vn.c
2806
if ((pp = anon_zero(seg, addr, &ap,
usr/src/uts/common/vm/seg_vn.c
2824
page_migrate(seg, addr, &pp, 1);
usr/src/uts/common/vm/seg_vn.c
2866
if (AS_ISPGLCK(seg->s_as) && vpage != NULL &&
usr/src/uts/common/vm/seg_vn.c
2869
proc_t *p = seg->s_as->a_proc;
usr/src/uts/common/vm/seg_vn.c
2904
seg, addr, rw, svd->cred);
usr/src/uts/common/vm/seg_vn.c
2983
page_migrate(seg, addr, &opp, 1);
usr/src/uts/common/vm/seg_vn.c
3044
hat_unload(seg->s_as->a_hat, addr, PAGESIZE,
usr/src/uts/common/vm/seg_vn.c
3075
if (anon_resv_zone(ptob(1), seg->s_as->a_proc->p_zone)) {
usr/src/uts/common/vm/seg_vn.c
3077
atomic_add_long(&seg->s_as->a_resvsize, ptob(1));
usr/src/uts/common/vm/seg_vn.c
3085
pp = anon_private(&ap, seg, addr, prot, opp, pageflags, svd->cred);
usr/src/uts/common/vm/seg_vn.c
3109
page_migrate(seg, addr, &pp, 1);
usr/src/uts/common/vm/seg_vn.c
3829
segvn_fault_vnodepages(struct hat *hat, struct seg *seg, caddr_t lpgaddr,
usr/src/uts/common/vm/seg_vn.c
3833
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
3836
uint_t szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
3844
u_offset_t off = svd->offset + (uintptr_t)(a - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
3845
ulong_t aindx = svd->anon_index + seg_page(seg, a);
usr/src/uts/common/vm/seg_vn.c
3847
&svd->vpage[seg_page(seg, a)] : NULL;
usr/src/uts/common/vm/seg_vn.c
3880
ASSERT(SEGVN_LOCK_HELD(seg->s_as, &svd->lock));
usr/src/uts/common/vm/seg_vn.c
3881
ASSERT(seg->s_szc < NBBY * sizeof (int));
usr/src/uts/common/vm/seg_vn.c
3931
while (szc < seg->s_szc) {
usr/src/uts/common/vm/seg_vn.c
3935
seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
3961
err = segvn_fault_anonpages(hat, seg,
usr/src/uts/common/vm/seg_vn.c
3969
if (szc < seg->s_szc) {
usr/src/uts/common/vm/seg_vn.c
397
static void segvn_textrepl(struct seg *);
usr/src/uts/common/vm/seg_vn.c
3970
szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
398
static void segvn_textunrepl(struct seg *, int);
usr/src/uts/common/vm/seg_vn.c
3990
ASSERT(sameprot(seg, a, maxpgsz));
usr/src/uts/common/vm/seg_vn.c
4009
if (page_alloc_pages(vp, seg, a, &pplist, NULL,
usr/src/uts/common/vm/seg_vn.c
403
static void segvn_trupdate_seg(struct seg *, segvn_data_t *, svntr_t *,
usr/src/uts/common/vm/seg_vn.c
4049
&vpprot, ppa, pgsz, seg, a, arw,
usr/src/uts/common/vm/seg_vn.c
4137
if (szc < seg->s_szc) {
usr/src/uts/common/vm/seg_vn.c
4155
pszc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
4172
ASSERT(szc == seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
4177
seg, a, prot, ppa, vpage, segvn_anypgsz,
usr/src/uts/common/vm/seg_vn.c
4267
page_migrate(seg, a, ppa, pages);
usr/src/uts/common/vm/seg_vn.c
4290
if (pszc > szc && szc < seg->s_szc &&
usr/src/uts/common/vm/seg_vn.c
4291
(segvn_anypgsz_vnode || pszc >= seg->s_szc)) {
usr/src/uts/common/vm/seg_vn.c
4293
uint_t pszc1 = MIN(pszc, seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
4458
page_alloc_pages(vp, seg, a, &pplist, NULL,
usr/src/uts/common/vm/seg_vn.c
4534
ASSERT(ierr == -1 || szc < seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
4537
ASSERT(pszc > szc && pszc <= seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
4562
off = svd->offset + (uintptr_t)(a - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
4563
aindx = svd->anon_index + seg_page(seg, a);
usr/src/uts/common/vm/seg_vn.c
4565
&svd->vpage[seg_page(seg, a)] : NULL;
usr/src/uts/common/vm/seg_vn.c
4586
(uintptr_t)(a - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
4587
aindx = svd->anon_index + seg_page(seg, a);
usr/src/uts/common/vm/seg_vn.c
4589
&svd->vpage[seg_page(seg, a)] : NULL;
usr/src/uts/common/vm/seg_vn.c
4601
segvn_softunlock(seg, lpgaddr, a - lpgaddr, S_OTHER);
usr/src/uts/common/vm/seg_vn.c
4618
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
4619
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_WRITER);
usr/src/uts/common/vm/seg_vn.c
4621
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
4624
err = segvn_clrszc(seg);
usr/src/uts/common/vm/seg_vn.c
4629
ASSERT(err || seg->s_szc == 0);
usr/src/uts/common/vm/seg_vn.c
4630
SEGVN_LOCK_DOWNGRADE(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
4641
segvn_fault_anonpages(struct hat *hat, struct seg *seg, caddr_t lpgaddr,
usr/src/uts/common/vm/seg_vn.c
4645
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
4648
uint_t szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
4654
ulong_t aindx = svd->anon_index + seg_page(seg, a);
usr/src/uts/common/vm/seg_vn.c
4656
&svd->vpage[seg_page(seg, a)] : NULL;
usr/src/uts/common/vm/seg_vn.c
4677
ASSERT(SEGVN_LOCK_HELD(seg->s_as, &svd->lock));
usr/src/uts/common/vm/seg_vn.c
4720
ASSERT(sameprot(seg, a, maxpgsz));
usr/src/uts/common/vm/seg_vn.c
4729
szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
4742
ierr = anon_map_getpages(amp, aindx, szc, seg, a,
usr/src/uts/common/vm/seg_vn.c
4772
page_migrate(seg, a, ppa, pages);
usr/src/uts/common/vm/seg_vn.c
4818
ASSERT(ierr == -1 || szc < seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
4832
szc = (ierr == -1) ? 0 : seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
4834
ASSERT(ppa_szc <= seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
4865
aindx = svd->anon_index + seg_page(seg, a);
usr/src/uts/common/vm/seg_vn.c
4867
&svd->vpage[seg_page(seg, a)] : NULL;
usr/src/uts/common/vm/seg_vn.c
4888
aindx = svd->anon_index + seg_page(seg, a);
usr/src/uts/common/vm/seg_vn.c
4890
&svd->vpage[seg_page(seg, a)] : NULL;
usr/src/uts/common/vm/seg_vn.c
4904
segvn_softunlock(seg, lpgaddr, a - lpgaddr, S_OTHER);
usr/src/uts/common/vm/seg_vn.c
4933
segvn_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_vn.c
4936
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
4954
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
4963
ASSERT(AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
4965
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_READER);
usr/src/uts/common/vm/seg_vn.c
4966
pgsz = (seg->s_szc == 0) ? PAGESIZE :
usr/src/uts/common/vm/seg_vn.c
4967
page_get_pagesize(seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
4969
CALC_LPG_REGION(pgsz, seg, addr, len, lpgaddr, lpgeaddr);
usr/src/uts/common/vm/seg_vn.c
4970
segvn_softunlock(seg, lpgaddr, lpgeaddr - lpgaddr, rw);
usr/src/uts/common/vm/seg_vn.c
4971
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
4979
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_WRITER);
usr/src/uts/common/vm/seg_vn.c
4984
segvn_textrepl(seg);
usr/src/uts/common/vm/seg_vn.c
4989
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
4992
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_WRITER);
usr/src/uts/common/vm/seg_vn.c
4996
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5002
segvn_textunrepl(seg, 0);
usr/src/uts/common/vm/seg_vn.c
5009
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5013
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_READER);
usr/src/uts/common/vm/seg_vn.c
5041
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5050
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5051
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_WRITER);
usr/src/uts/common/vm/seg_vn.c
5058
hat_leave_region(seg->s_as->a_hat, svd->rcookie,
usr/src/uts/common/vm/seg_vn.c
5062
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5093
if (type == F_SOFTLOCK && svd->vp != NULL && seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
5100
pgsz = page_get_pagesize(seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
5101
CALC_LPG_REGION(pgsz, seg, addr, len, lpgaddr,
usr/src/uts/common/vm/seg_vn.c
5108
ASSERT(demote || AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
5111
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5112
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_WRITER);
usr/src/uts/common/vm/seg_vn.c
5113
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
5116
err = segvn_clrszc(seg);
usr/src/uts/common/vm/seg_vn.c
5119
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5123
ASSERT(seg->s_szc == 0);
usr/src/uts/common/vm/seg_vn.c
5124
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5139
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5140
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_WRITER);
usr/src/uts/common/vm/seg_vn.c
5143
svd->amp = anonmap_alloc(seg->s_size, 0, ANON_SLEEP);
usr/src/uts/common/vm/seg_vn.c
5144
svd->amp->a_szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
5146
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5162
ASSERT(AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
5171
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
5172
pgsz = page_get_pagesize(seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
5173
ASSERT(SEGVN_LOCK_HELD(seg->s_as, &svd->lock));
usr/src/uts/common/vm/seg_vn.c
5174
CALC_LPG_REGION(pgsz, seg, addr, len, lpgaddr, lpgeaddr);
usr/src/uts/common/vm/seg_vn.c
5176
err = segvn_fault_anonpages(hat, seg, lpgaddr,
usr/src/uts/common/vm/seg_vn.c
5179
err = segvn_fault_vnodepages(hat, seg, lpgaddr,
usr/src/uts/common/vm/seg_vn.c
5182
ASSERT(seg->s_szc == 0);
usr/src/uts/common/vm/seg_vn.c
5183
ASSERT(SEGVN_READ_HELD(seg->s_as, &svd->lock));
usr/src/uts/common/vm/seg_vn.c
5184
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5188
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5192
page = seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
5222
hat_chgprot(seg->s_as->a_hat, addr, len, svd->prot);
usr/src/uts/common/vm/seg_vn.c
5224
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5235
off = svd->offset + (uintptr_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
5380
struct as *as = seg->s_as;
usr/src/uts/common/vm/seg_vn.c
5395
(size_t)(seg->s_base + seg->s_size)) &&
usr/src/uts/common/vm/seg_vn.c
541
segvn_create(struct seg **segpp, void *argsp)
usr/src/uts/common/vm/seg_vn.c
5411
((seg->s_base + seg->s_size) - addr));
usr/src/uts/common/vm/seg_vn.c
5413
(seg->s_base + seg->s_size));
usr/src/uts/common/vm/seg_vn.c
543
struct seg *seg = *segpp;
usr/src/uts/common/vm/seg_vn.c
5436
seg, addr, vp);
usr/src/uts/common/vm/seg_vn.c
5438
&vpprot, plp, plsz, seg, addr + (vp_off - off), arw,
usr/src/uts/common/vm/seg_vn.c
5441
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5496
err = segvn_faultpage(hat, seg, a, off, vpage, plp, vpprot,
usr/src/uts/common/vm/seg_vn.c
5502
segvn_softunlock(seg, addr, (a - addr),
usr/src/uts/common/vm/seg_vn.c
5505
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5514
page = seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
5557
pp->p_offset < svd->offset + seg->s_size) {
usr/src/uts/common/vm/seg_vn.c
556
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
5601
seg->s_base + diff,
usr/src/uts/common/vm/seg_vn.c
5614
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5626
segvn_faulta(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_vn.c
5628
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
5633
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
5635
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_READER);
usr/src/uts/common/vm/seg_vn.c
5646
svd->anon_index + seg_page(seg, addr))) != NULL) {
usr/src/uts/common/vm/seg_vn.c
5649
0, seg, addr, S_READ, svd->cred);
usr/src/uts/common/vm/seg_vn.c
5652
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5661
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5667
"segvn_getpage:seg %p addr %p vp %p", seg, addr, vp);
usr/src/uts/common/vm/seg_vn.c
5669
(offset_t)(svd->offset + (uintptr_t)(addr - seg->s_base)),
usr/src/uts/common/vm/seg_vn.c
5670
PAGESIZE, NULL, NULL, 0, seg, addr,
usr/src/uts/common/vm/seg_vn.c
5673
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5680
segvn_setprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/common/vm/seg_vn.c
5682
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
5690
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
5695
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_WRITER);
usr/src/uts/common/vm/seg_vn.c
5699
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5716
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5726
segvn_purge(seg);
usr/src/uts/common/vm/seg_vn.c
5728
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5736
hat_leave_region(seg->s_as->a_hat, svd->rcookie,
usr/src/uts/common/vm/seg_vn.c
5744
segvn_textunrepl(seg, 0);
usr/src/uts/common/vm/seg_vn.c
5754
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
5756
pgsz = page_get_pagesize(seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
5760
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5761
ASSERT(seg->s_base != addr || seg->s_size != len);
usr/src/uts/common/vm/seg_vn.c
5767
if (AS_READ_HELD(seg->s_as))
usr/src/uts/common/vm/seg_vn.c
5771
err = segvn_demote_range(seg, addr, len,
usr/src/uts/common/vm/seg_vn.c
5774
uint_t szcvec = map_pgszcvec(seg->s_base,
usr/src/uts/common/vm/seg_vn.c
5775
pgsz, (uintptr_t)seg->s_base,
usr/src/uts/common/vm/seg_vn.c
5777
err = segvn_demote_range(seg, addr, len,
usr/src/uts/common/vm/seg_vn.c
5811
if (addr == seg->s_base &&
usr/src/uts/common/vm/seg_vn.c
5812
len == seg->s_size &&
usr/src/uts/common/vm/seg_vn.c
5815
sz = seg->s_size;
usr/src/uts/common/vm/seg_vn.c
5823
segvn_vpage(seg);
usr/src/uts/common/vm/seg_vn.c
5825
SEGVN_LOCK_EXIT(seg->s_as,
usr/src/uts/common/vm/seg_vn.c
5829
svp = &svd->vpage[seg_page(seg, addr)];
usr/src/uts/common/vm/seg_vn.c
5830
evp = &svd->vpage[seg_page(seg,
usr/src/uts/common/vm/seg_vn.c
585
(a->flags & MAP_NORESERVE) || seg->s_as == &kas) {
usr/src/uts/common/vm/seg_vn.c
5858
seg->s_as->a_proc->p_zone) == 0) {
usr/src/uts/common/vm/seg_vn.c
5859
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5867
if (svd->pageswap == 0 && sz == seg->s_size) {
usr/src/uts/common/vm/seg_vn.c
5887
svd->amp == NULL && addr == seg->s_base &&
usr/src/uts/common/vm/seg_vn.c
5888
len == seg->s_size && svd->pageprot == 0) {
usr/src/uts/common/vm/seg_vn.c
5891
seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
5894
"anon proc:%p %lu %u", seg, 0, 0);
usr/src/uts/common/vm/seg_vn.c
5899
if (addr == seg->s_base && len == seg->s_size && svd->vpage == NULL) {
usr/src/uts/common/vm/seg_vn.c
5901
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
591
if (!IS_P2ALIGNED(seg->s_base, pgsz) ||
usr/src/uts/common/vm/seg_vn.c
592
!IS_P2ALIGNED(seg->s_size, pgsz)) {
usr/src/uts/common/vm/seg_vn.c
5921
segvn_vpage(seg);
usr/src/uts/common/vm/seg_vn.c
5923
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
5928
anon_idx = svd->anon_index + seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
5929
ASSERT(seg->s_szc == 0 ||
usr/src/uts/common/vm/seg_vn.c
5934
offset = svd->offset + (uintptr_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
5935
evp = &svd->vpage[seg_page(seg, addr + len)];
usr/src/uts/common/vm/seg_vn.c
5941
for (svp = &svd->vpage[seg_page(seg, addr)]; svp < evp; svp++) {
usr/src/uts/common/vm/seg_vn.c
5943
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
5949
!segvn_claim_pages(seg, svp, offset,
usr/src/uts/common/vm/seg_vn.c
5983
ASSERT(seg->s_szc == 0);
usr/src/uts/common/vm/seg_vn.c
6016
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
6019
len = (svp - &svd->vpage[seg_page(seg, addr)]) *
usr/src/uts/common/vm/seg_vn.c
602
} else if (map_addr_vacalign_check(seg->s_base,
usr/src/uts/common/vm/seg_vn.c
6021
ASSERT(seg->s_szc == 0 || IS_P2ALIGNED(len, pgsz));
usr/src/uts/common/vm/seg_vn.c
6023
hat_unload(seg->s_as->a_hat, addr,
usr/src/uts/common/vm/seg_vn.c
6025
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
6029
segvn_vpage(seg);
usr/src/uts/common/vm/seg_vn.c
6031
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
6035
evp = &svd->vpage[seg_page(seg, addr + len)];
usr/src/uts/common/vm/seg_vn.c
6036
for (svp = &svd->vpage[seg_page(seg, addr)]; svp < evp; svp++) {
usr/src/uts/common/vm/seg_vn.c
6042
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
6059
hat_unload(seg->s_as->a_hat, addr, len, HAT_UNLOAD);
usr/src/uts/common/vm/seg_vn.c
6068
hat_chgattr(seg->s_as->a_hat, addr, len, prot);
usr/src/uts/common/vm/seg_vn.c
6071
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
6081
segvn_setpagesize(struct seg *seg, caddr_t addr, size_t len, uint_t szc)
usr/src/uts/common/vm/seg_vn.c
6083
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
6086
struct seg *nseg;
usr/src/uts/common/vm/seg_vn.c
6091
u_offset_t off = svd->offset + (uintptr_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
6093
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
6094
ASSERT(addr >= seg->s_base && eaddr <= seg->s_base + seg->s_size);
usr/src/uts/common/vm/seg_vn.c
6096
if (seg->s_szc == szc || segvn_lpg_disable != 0) {
usr/src/uts/common/vm/seg_vn.c
6109
eaddr != seg->s_base + seg->s_size)) {
usr/src/uts/common/vm/seg_vn.c
6116
ulong_t an_idx = svd->anon_index + seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
6124
if ((svd->flags & MAP_NORESERVE) || seg->s_as == &kas ||
usr/src/uts/common/vm/seg_vn.c
6135
if (seg->s_szc == 0 && svd->vp != NULL &&
usr/src/uts/common/vm/seg_vn.c
6147
if (!sameprot(seg, a, eaddr - a)) {
usr/src/uts/common/vm/seg_vn.c
6151
if (!sameprot(seg, a, pgsz)) {
usr/src/uts/common/vm/seg_vn.c
6180
segvn_purge(seg);
usr/src/uts/common/vm/seg_vn.c
6189
hat_leave_region(seg->s_as->a_hat, svd->rcookie,
usr/src/uts/common/vm/seg_vn.c
6196
segvn_textunrepl(seg, 1);
usr/src/uts/common/vm/seg_vn.c
6204
if (addr != seg->s_base || eaddr != (seg->s_base + seg->s_size)) {
usr/src/uts/common/vm/seg_vn.c
6205
if (szc < seg->s_szc) {
usr/src/uts/common/vm/seg_vn.c
6207
err = segvn_demote_range(seg, addr, len, SDR_RANGE, 0);
usr/src/uts/common/vm/seg_vn.c
621
if (anon_resv_zone(seg->s_size,
usr/src/uts/common/vm/seg_vn.c
6216
if (addr != seg->s_base) {
usr/src/uts/common/vm/seg_vn.c
6217
nseg = segvn_split_seg(seg, addr);
usr/src/uts/common/vm/seg_vn.c
622
seg->s_as->a_proc->p_zone) == 0)
usr/src/uts/common/vm/seg_vn.c
6224
if (eaddr != (seg->s_base + seg->s_size)) {
usr/src/uts/common/vm/seg_vn.c
6226
(void) segvn_split_seg(seg, eaddr);
usr/src/uts/common/vm/seg_vn.c
6234
if ((err = segvn_clrszc(seg)) != 0) {
usr/src/uts/common/vm/seg_vn.c
624
swresv = seg->s_size;
usr/src/uts/common/vm/seg_vn.c
6240
ASSERT(seg->s_szc == 0);
usr/src/uts/common/vm/seg_vn.c
6247
nseg = AS_SEGNEXT(seg->s_as, seg);
usr/src/uts/common/vm/seg_vn.c
6248
if (nseg == NULL || nseg == seg || eaddr != nseg->s_base) {
usr/src/uts/common/vm/seg_vn.c
626
seg, swresv, 1);
usr/src/uts/common/vm/seg_vn.c
6276
err = segvn_concat(seg, nseg, 1);
usr/src/uts/common/vm/seg_vn.c
6304
nahp, 0, btop(seg->s_size), ANON_NOSLEEP)) {
usr/src/uts/common/vm/seg_vn.c
6319
eoffpage += seg->s_size;
usr/src/uts/common/vm/seg_vn.c
6338
if ((err = anon_fill_cow_holes(seg, seg->s_base,
usr/src/uts/common/vm/seg_vn.c
6340
seg->s_size, szc, svd->prot, svd->vpage,
usr/src/uts/common/vm/seg_vn.c
6358
seg->s_szc = szc;
usr/src/uts/common/vm/seg_vn.c
636
hat_map(seg->s_as->a_hat, seg->s_base, seg->s_size, HAT_MAP);
usr/src/uts/common/vm/seg_vn.c
6364
segvn_clrszc(struct seg *seg)
usr/src/uts/common/vm/seg_vn.c
6366
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
6371
caddr_t a = seg->s_base;
usr/src/uts/common/vm/seg_vn.c
6372
caddr_t ea = a + seg->s_size;
usr/src/uts/common/vm/seg_vn.c
6381
ASSERT(AS_WRITE_HELD(seg->s_as) ||
usr/src/uts/common/vm/seg_vn.c
6382
SEGVN_WRITE_HELD(seg->s_as, &svd->lock));
usr/src/uts/common/vm/seg_vn.c
6387
seg->s_szc = 0;
usr/src/uts/common/vm/seg_vn.c
6394
hat_leave_region(seg->s_as->a_hat, svd->rcookie,
usr/src/uts/common/vm/seg_vn.c
6399
segvn_textunrepl(seg, 1);
usr/src/uts/common/vm/seg_vn.c
6413
hat_unload(seg->s_as->a_hat, seg->s_base, seg->s_size,
usr/src/uts/common/vm/seg_vn.c
6418
seg->s_szc = 0;
usr/src/uts/common/vm/seg_vn.c
6422
pgsz = page_get_pagesize(seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
6435
ASSERT(sameprot(seg, a, pgsz));
usr/src/uts/common/vm/seg_vn.c
6439
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
6443
seg, a, prot, vpage, svd->cred)) != 0) {
usr/src/uts/common/vm/seg_vn.c
6451
anon_pl, PAGESIZE, seg, a, S_READ,
usr/src/uts/common/vm/seg_vn.c
6455
if ((pp = anon_private(&ap, seg, a, prot,
usr/src/uts/common/vm/seg_vn.c
6470
seg->s_szc = 0;
usr/src/uts/common/vm/seg_vn.c
6478
struct seg *seg,
usr/src/uts/common/vm/seg_vn.c
6484
pgcnt_t pgcnt = page_get_pagecnt(seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
6487
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
649
seg->s_as, seg->s_base, seg->s_size, a->prot,
usr/src/uts/common/vm/seg_vn.c
6491
+ seg->s_base;
usr/src/uts/common/vm/seg_vn.c
6502
ASSERT(seg->s_szc != 0);
usr/src/uts/common/vm/seg_vn.c
6505
ASSERT(sameprot(seg, addr, pgcnt << PAGESHIFT));
usr/src/uts/common/vm/seg_vn.c
654
seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
6554
if (ppa[0]->p_szc == seg->s_szc) {
usr/src/uts/common/vm/seg_vn.c
656
"anon proc:%p %lu %u", seg, swresv, 0);
usr/src/uts/common/vm/seg_vn.c
6585
static struct seg *
usr/src/uts/common/vm/seg_vn.c
6586
segvn_split_seg(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_vn.c
6588
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
6589
struct seg *nseg;
usr/src/uts/common/vm/seg_vn.c
6593
ASSERT(AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
6596
ASSERT(addr >= seg->s_base);
usr/src/uts/common/vm/seg_vn.c
6597
ASSERT(addr <= seg->s_base + seg->s_size);
usr/src/uts/common/vm/seg_vn.c
660
hat_unload(seg->s_as->a_hat, seg->s_base,
usr/src/uts/common/vm/seg_vn.c
6600
if (addr == seg->s_base || addr == seg->s_base + seg->s_size)
usr/src/uts/common/vm/seg_vn.c
6601
return (seg);
usr/src/uts/common/vm/seg_vn.c
6603
nsize = seg->s_base + seg->s_size - addr;
usr/src/uts/common/vm/seg_vn.c
6604
seg->s_size = addr - seg->s_base;
usr/src/uts/common/vm/seg_vn.c
6605
nseg = seg_alloc(seg->s_as, addr, nsize);
usr/src/uts/common/vm/seg_vn.c
6607
nseg->s_ops = seg->s_ops;
usr/src/uts/common/vm/seg_vn.c
661
seg->s_size, HAT_UNLOAD_UNMAP);
usr/src/uts/common/vm/seg_vn.c
6610
nseg->s_szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
6613
nsvd->seg = nseg;
usr/src/uts/common/vm/seg_vn.c
6619
(uintptr_t)(nseg->s_base - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
6643
size_t bytes = vpgtob(seg_pages(seg));
usr/src/uts/common/vm/seg_vn.c
6650
bcopy(ovpage + seg_pages(seg), nsvd->vpage, nbytes);
usr/src/uts/common/vm/seg_vn.c
6659
nahp = anon_create(btop(seg->s_size), ANON_SLEEP);
usr/src/uts/common/vm/seg_vn.c
6661
nahp, 0, btop(seg->s_size), ANON_SLEEP);
usr/src/uts/common/vm/seg_vn.c
6666
svd->anon_index + btop(seg->s_size),
usr/src/uts/common/vm/seg_vn.c
6670
oamp->size = seg->s_size;
usr/src/uts/common/vm/seg_vn.c
6676
pgcnt_t pgcnt = page_get_pagecnt(seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
6678
ASSERT(seg->s_szc <= svd->amp->a_szc);
usr/src/uts/common/vm/seg_vn.c
6679
nsvd->anon_index = svd->anon_index + seg_pages(seg);
usr/src/uts/common/vm/seg_vn.c
669
(seg->s_size > textrepl_size_thresh ||
usr/src/uts/common/vm/seg_vn.c
6701
svd->anon_index, btop(seg->s_size)));
usr/src/uts/common/vm/seg_vn.c
6707
svd->swresv = segvn_count_swap_by_vpages(seg);
usr/src/uts/common/vm/seg_vn.c
6711
ASSERT(svd->swresv == seg->s_size +
usr/src/uts/common/vm/seg_vn.c
6713
svd->swresv = seg->s_size;
usr/src/uts/common/vm/seg_vn.c
6731
struct seg *seg,
usr/src/uts/common/vm/seg_vn.c
6739
struct seg *nseg;
usr/src/uts/common/vm/seg_vn.c
674
seg->s_as != &kas && a->vp->v_type == VREG);
usr/src/uts/common/vm/seg_vn.c
6740
struct seg *badseg1 = NULL;
usr/src/uts/common/vm/seg_vn.c
6741
struct seg *badseg2 = NULL;
usr/src/uts/common/vm/seg_vn.c
6743
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
6745
uint_t szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
6748
ASSERT(AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
6752
ASSERT(seg->s_base != addr || seg->s_size != len);
usr/src/uts/common/vm/seg_vn.c
6753
ASSERT(addr >= seg->s_base && eaddr <= seg->s_base + seg->s_size);
usr/src/uts/common/vm/seg_vn.c
6758
CALC_LPG_REGION(pgsz, seg, addr, len, lpgaddr, lpgeaddr);
usr/src/uts/common/vm/seg_vn.c
6762
badseg1 = nseg = segvn_split_seg(seg, lpgaddr);
usr/src/uts/common/vm/seg_vn.c
6768
badseg1 = nseg = segvn_split_seg(seg, lpgaddr);
usr/src/uts/common/vm/seg_vn.c
6790
badseg1 = nseg = segvn_split_seg(seg, lpgeaddr - pgsz);
usr/src/uts/common/vm/seg_vn.c
685
seg->s_as->a_resvsize -= seg->s_size;
usr/src/uts/common/vm/seg_vn.c
6872
segvn_checkprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/common/vm/seg_vn.c
6874
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
6877
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
6879
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_READER);
usr/src/uts/common/vm/seg_vn.c
6887
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
6894
evp = &svd->vpage[seg_page(seg, addr + len)];
usr/src/uts/common/vm/seg_vn.c
6895
for (vp = &svd->vpage[seg_page(seg, addr)]; vp < evp; vp++) {
usr/src/uts/common/vm/seg_vn.c
6897
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
6901
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
6906
segvn_getprot(struct seg *seg, caddr_t addr, size_t len, uint_t *protv)
usr/src/uts/common/vm/seg_vn.c
6908
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
6909
size_t pgno = seg_page(seg, addr + len) - seg_page(seg, addr) + 1;
usr/src/uts/common/vm/seg_vn.c
6911
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
6914
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_READER);
usr/src/uts/common/vm/seg_vn.c
6920
size_t pgoff = seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
6927
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
6933
segvn_getoffset(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_vn.c
6935
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
6937
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
6939
return (svd->offset + (uintptr_t)(addr - seg->s_base));
usr/src/uts/common/vm/seg_vn.c
6944
segvn_gettype(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_vn.c
6946
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
6948
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
695
struct seg *pseg, *nseg;
usr/src/uts/common/vm/seg_vn.c
6956
segvn_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp)
usr/src/uts/common/vm/seg_vn.c
6958
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
6960
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
6977
segvn_kluster(struct seg *seg, caddr_t addr, ssize_t delta)
usr/src/uts/common/vm/seg_vn.c
6979
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
6987
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
6988
ASSERT(AS_WRITE_HELD(seg->s_as) ||
usr/src/uts/common/vm/seg_vn.c
6989
SEGVN_LOCK_HELD(seg->s_as, &svd->lock));
usr/src/uts/common/vm/seg_vn.c
6991
if (addr + delta < seg->s_base ||
usr/src/uts/common/vm/seg_vn.c
6992
addr + delta >= (seg->s_base + seg->s_size))
usr/src/uts/common/vm/seg_vn.c
6996
page = seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
705
!(a->flags & MAP_NORESERVE) && (seg->s_as != &kas)) {
usr/src/uts/common/vm/seg_vn.c
7084
segvn_swapout(struct seg *seg)
usr/src/uts/common/vm/seg_vn.c
7086
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
7093
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
7095
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_READER);
usr/src/uts/common/vm/seg_vn.c
7102
npages = seg->s_size >> PAGESHIFT;
usr/src/uts/common/vm/seg_vn.c
711
mpolicy = lgrp_mem_policy_default(seg->s_size, a->type);
usr/src/uts/common/vm/seg_vn.c
717
pseg = AS_SEGPREV(seg->s_as, seg);
usr/src/uts/common/vm/seg_vn.c
719
pseg->s_base + pseg->s_size == seg->s_base &&
usr/src/uts/common/vm/seg_vn.c
7238
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7253
segvn_sync(struct seg *seg, caddr_t addr, size_t len, int attr, uint_t flags)
usr/src/uts/common/vm/seg_vn.c
7255
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
7272
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
7274
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_READER);
usr/src/uts/common/vm/seg_vn.c
7282
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7300
segvn_purge(seg);
usr/src/uts/common/vm/seg_vn.c
7302
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7312
segvn_purge(seg);
usr/src/uts/common/vm/seg_vn.c
7314
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7320
offset = svd->offset + (uintptr_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
7334
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7339
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7344
vpp = &svd->vpage[seg_page(seg, addr)];
usr/src/uts/common/vm/seg_vn.c
7355
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7360
anon_index = svd->anon_index + seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
737
pseg->s_size + seg->s_size,
usr/src/uts/common/vm/seg_vn.c
7407
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
743
(pseg->s_size + seg->s_size <=
usr/src/uts/common/vm/seg_vn.c
745
segvn_extend_prev(pseg, seg, a, swresv) == 0) {
usr/src/uts/common/vm/seg_vn.c
7470
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7479
segvn_incore(struct seg *seg, caddr_t addr, size_t len, char *vec)
usr/src/uts/common/vm/seg_vn.c
7481
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
7494
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
7496
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_READER);
usr/src/uts/common/vm/seg_vn.c
7498
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7503
p = seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
7504
ep = seg_page(seg, addr + len);
usr/src/uts/common/vm/seg_vn.c
7532
if ((hat_getattr(seg->s_as->a_hat, addr,
usr/src/uts/common/vm/seg_vn.c
7552
offset = svd->offset + (uintptr_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
7588
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7640
segvn_lockop(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/seg_vn.c
7643
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
7670
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
7686
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_WRITER);
usr/src/uts/common/vm/seg_vn.c
7697
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7701
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7711
segvn_textunrepl(seg, 0);
usr/src/uts/common/vm/seg_vn.c
7725
segvn_vpage(seg);
usr/src/uts/common/vm/seg_vn.c
7727
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7731
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
774
nseg = AS_SEGNEXT(seg->s_as, seg);
usr/src/uts/common/vm/seg_vn.c
7743
svd->amp = anonmap_alloc(seg->s_size, 0, ANON_SLEEP);
usr/src/uts/common/vm/seg_vn.c
7744
svd->amp->a_szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
7748
anon_index = svd->anon_index + seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
7751
offset = svd->offset + (uintptr_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
7752
evp = &svd->vpage[seg_page(seg, addr + len)];
usr/src/uts/common/vm/seg_vn.c
776
seg->s_base + seg->s_size == nseg->s_base &&
usr/src/uts/common/vm/seg_vn.c
7761
for (vpp = &svd->vpage[seg_page(seg, addr)]; vpp < evp;
usr/src/uts/common/vm/seg_vn.c
7774
i_edx = svd->anon_index + seg_page(seg, addr + len);
usr/src/uts/common/vm/seg_vn.c
7805
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
7814
for (vpp = &svd->vpage[seg_page(seg, addr)]; vpp < evp;
usr/src/uts/common/vm/seg_vn.c
7836
pp = anon_zero(seg, addr, &ap,
usr/src/uts/common/vm/seg_vn.c
7901
(uint_t *)NULL, pl, PAGESIZE, seg, addr,
usr/src/uts/common/vm/seg_vn.c
794
nseg->s_size + seg->s_size,
usr/src/uts/common/vm/seg_vn.c
800
segvn_extend_next(seg, nseg, a, swresv) == 0) {
usr/src/uts/common/vm/seg_vn.c
8050
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
8074
segvn_advise(struct seg *seg, caddr_t addr, size_t len, uint_t behav)
usr/src/uts/common/vm/seg_vn.c
8076
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
8082
struct seg *next;
usr/src/uts/common/vm/seg_vn.c
8084
struct seg *prev;
usr/src/uts/common/vm/seg_vn.c
8087
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
8094
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_WRITER);
usr/src/uts/common/vm/seg_vn.c
8096
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
8100
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_READER);
usr/src/uts/common/vm/seg_vn.c
8112
(seg->s_szc != 0 || HAT_IS_REGION_COOKIE_VALID(svd->rcookie))) ||
usr/src/uts/common/vm/seg_vn.c
8115
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
8134
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
8145
segvn_purge(seg);
usr/src/uts/common/vm/seg_vn.c
8153
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
8163
segvn_purge(seg);
usr/src/uts/common/vm/seg_vn.c
8180
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
8191
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
8195
segvn_purge(seg);
usr/src/uts/common/vm/seg_vn.c
8197
page = seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
8213
anon_unresv_zone(bytes, seg->s_as->a_proc->p_zone);
usr/src/uts/common/vm/seg_vn.c
8215
atomic_add_long(&seg->s_as->a_resvsize, -bytes);
usr/src/uts/common/vm/seg_vn.c
8219
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
823
seg->s_ops = &segvn_ops;
usr/src/uts/common/vm/seg_vn.c
8235
if ((addr == seg->s_base) && (len == seg->s_size)) {
usr/src/uts/common/vm/seg_vn.c
824
seg->s_data = (void *)svd;
usr/src/uts/common/vm/seg_vn.c
825
seg->s_szc = a->szc;
usr/src/uts/common/vm/seg_vn.c
8253
if (AS_READ_HELD(seg->s_as)) {
usr/src/uts/common/vm/seg_vn.c
8254
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
827
svd->seg = seg;
usr/src/uts/common/vm/seg_vn.c
8274
page_mark_migrate(seg, addr, len, amp, svd->anon_index,
usr/src/uts/common/vm/seg_vn.c
8291
prev = AS_SEGPREV(seg->s_as, seg);
usr/src/uts/common/vm/seg_vn.c
8292
next = AS_SEGNEXT(seg->s_as, seg);
usr/src/uts/common/vm/seg_vn.c
8296
(void) segvn_concat(seg, next, 1);
usr/src/uts/common/vm/seg_vn.c
8306
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
8307
if (!segvn_concat(prev, seg, 1))
usr/src/uts/common/vm/seg_vn.c
8319
ASSERT(seg->s_szc == 0);
usr/src/uts/common/vm/seg_vn.c
8321
hat_unload(seg->s_as->a_hat, addr, len,
usr/src/uts/common/vm/seg_vn.c
8339
struct seg *new_seg;
usr/src/uts/common/vm/seg_vn.c
8344
page = seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
8346
segvn_vpage(seg);
usr/src/uts/common/vm/seg_vn.c
8348
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
8367
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
8370
pgsz = page_get_pagesize(seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
8381
off = svd->offset + (uintptr_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
8404
AS_READ_HELD(seg->s_as)) {
usr/src/uts/common/vm/seg_vn.c
8405
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
8413
page_mark_migrate(seg, addr, len, amp, svd->anon_index,
usr/src/uts/common/vm/seg_vn.c
8428
hat_leave_region(seg->s_as->a_hat, svd->rcookie,
usr/src/uts/common/vm/seg_vn.c
8439
oldeaddr = seg->s_base + seg->s_size;
usr/src/uts/common/vm/seg_vn.c
8440
if (addr > seg->s_base) {
usr/src/uts/common/vm/seg_vn.c
8446
segvn_purge(seg);
usr/src/uts/common/vm/seg_vn.c
8452
new_seg = segvn_split_seg(seg, addr);
usr/src/uts/common/vm/seg_vn.c
8491
segvn_purge(seg);
usr/src/uts/common/vm/seg_vn.c
8498
if (new_seg != NULL && new_seg != seg) {
usr/src/uts/common/vm/seg_vn.c
8516
(void) segvn_split_seg(seg, eaddr);
usr/src/uts/common/vm/seg_vn.c
8520
&svd->policy_info, seg->s_size);
usr/src/uts/common/vm/seg_vn.c
8527
if (addr == seg->s_base) {
usr/src/uts/common/vm/seg_vn.c
8528
prev = AS_SEGPREV(seg->s_as,
usr/src/uts/common/vm/seg_vn.c
8529
seg);
usr/src/uts/common/vm/seg_vn.c
8542
seg->s_as,
usr/src/uts/common/vm/seg_vn.c
8545
prev, seg, 1);
usr/src/uts/common/vm/seg_vn.c
8553
ASSERT(seg->s_szc == 0);
usr/src/uts/common/vm/seg_vn.c
8555
hat_unload(seg->s_as->a_hat, addr, len, HAT_UNLOAD);
usr/src/uts/common/vm/seg_vn.c
8574
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
8584
segvn_inherit(struct seg *seg, caddr_t addr, size_t len, uint_t behav)
usr/src/uts/common/vm/seg_vn.c
8586
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
8591
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
8597
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_WRITER);
usr/src/uts/common/vm/seg_vn.c
8622
if ((addr == seg->s_base) && (len == seg->s_size)) {
usr/src/uts/common/vm/seg_vn.c
8633
segvn_vpage(seg);
usr/src/uts/common/vm/seg_vn.c
8641
page = seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
8649
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
8657
segvn_vpage(struct seg *seg)
usr/src/uts/common/vm/seg_vn.c
8659
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
8663
ASSERT(SEGVN_WRITE_HELD(seg->s_as, &svd->lock));
usr/src/uts/common/vm/seg_vn.c
8685
ulong_t mem_needed = seg_pages(seg) * sizeof (struct vpage);
usr/src/uts/common/vm/seg_vn.c
8696
evp = &svd->vpage[seg_page(seg, seg->s_base + seg->s_size)];
usr/src/uts/common/vm/seg_vn.c
8708
segvn_dump(struct seg *seg)
usr/src/uts/common/vm/seg_vn.c
871
svd->amp = anonmap_alloc(seg->s_size, swresv,
usr/src/uts/common/vm/seg_vn.c
8720
npages = seg_pages(seg);
usr/src/uts/common/vm/seg_vn.c
8721
svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
8724
addr = seg->s_base;
usr/src/uts/common/vm/seg_vn.c
873
svd->amp->a_szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
8755
dump_addpage(seg->s_as, addr, pfn);
usr/src/uts/common/vm/seg_vn.c
8817
segvn_pagelock(struct seg *seg, caddr_t addr, size_t len, struct page ***ppp,
usr/src/uts/common/vm/seg_vn.c
8820
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
8858
"segvn_pagelock: start seg %p addr %p", seg, addr);
usr/src/uts/common/vm/seg_vn.c
8860
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
8863
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_READER);
usr/src/uts/common/vm/seg_vn.c
8893
if (seg->s_szc != 0) {
usr/src/uts/common/vm/seg_vn.c
8918
pgsz = page_get_pagesize(seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
8919
CALC_LPG_REGION(pgsz, seg, addr, len, lpgaddr, lpgeaddr);
usr/src/uts/common/vm/seg_vn.c
895
if ((amp->size - a->offset) < seg->s_size) {
usr/src/uts/common/vm/seg_vn.c
8959
if (lpgaddr < seg->s_base) {
usr/src/uts/common/vm/seg_vn.c
8960
lpgaddr = seg->s_base;
usr/src/uts/common/vm/seg_vn.c
8964
ulong_t aix = svd->anon_index + seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
8967
lpgaddr = seg->s_base;
usr/src/uts/common/vm/seg_vn.c
8971
ASSERT(lpgaddr >= seg->s_base);
usr/src/uts/common/vm/seg_vn.c
8975
struct vpage *vp = &svd->vpage[seg_page(seg, lpgaddr)];
usr/src/uts/common/vm/seg_vn.c
8976
struct vpage *evp = &svd->vpage[seg_page(seg, addr)];
usr/src/uts/common/vm/seg_vn.c
8996
seg_page(seg, lpgeaddr);
usr/src/uts/common/vm/seg_vn.c
9006
lpgeaddr > seg->s_base + seg->s_size) {
usr/src/uts/common/vm/seg_vn.c
9007
lpgeaddr = seg->s_base + seg->s_size;
usr/src/uts/common/vm/seg_vn.c
9015
vp = &svd->vpage[seg_page(seg, addr + len)];
usr/src/uts/common/vm/seg_vn.c
9016
evp = &svd->vpage[seg_page(seg, lpgeaddr)];
usr/src/uts/common/vm/seg_vn.c
9039
paddr = (caddr_t)((lpgaddr - seg->s_base) +
usr/src/uts/common/vm/seg_vn.c
9057
if (seg->s_as->a_vbits) {
usr/src/uts/common/vm/seg_vn.c
9060
hat_setstat(seg->s_as, a,
usr/src/uts/common/vm/seg_vn.c
9063
hat_setstat(seg->s_as, a,
usr/src/uts/common/vm/seg_vn.c
9083
paddr = (caddr_t)((addr - seg->s_base) +
usr/src/uts/common/vm/seg_vn.c
9086
ptag = (void *)seg;
usr/src/uts/common/vm/seg_vn.c
9095
seg_pinactive(seg, pamp, paddr, len,
usr/src/uts/common/vm/seg_vn.c
9122
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_vn.c
9124
mutex_enter(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_vn.c
9125
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_vn.c
9126
AS_CLRUNMAPWAIT(seg->s_as);
usr/src/uts/common/vm/seg_vn.c
9127
cv_broadcast(&seg->s_as->a_cv);
usr/src/uts/common/vm/seg_vn.c
9129
mutex_exit(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_vn.c
9144
segvn_purge(seg);
usr/src/uts/common/vm/seg_vn.c
9147
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
9149
"segvn_pagelock: unlock seg %p addr %p", seg, addr);
usr/src/uts/common/vm/seg_vn.c
9175
if (seg->s_szc) {
usr/src/uts/common/vm/seg_vn.c
9185
ASSERT(seg->s_szc == 0 ||
usr/src/uts/common/vm/seg_vn.c
9186
sameprot(seg, a, pgsz));
usr/src/uts/common/vm/seg_vn.c
9187
vp = &svd->vpage[seg_page(seg, a)];
usr/src/uts/common/vm/seg_vn.c
9199
pplist = seg_plookup(seg, pamp, paddr, lpgeaddr - lpgaddr, rw, pflags);
usr/src/uts/common/vm/seg_vn.c
9213
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
9216
"segvn_pagelock: cache hit seg %p addr %p", seg, addr);
usr/src/uts/common/vm/seg_vn.c
9245
ASSERT(seg->s_szc == 0 ||
usr/src/uts/common/vm/seg_vn.c
9246
sameprot(seg, a, pgsz));
usr/src/uts/common/vm/seg_vn.c
9247
vp = &svd->vpage[seg_page(seg, a)];
usr/src/uts/common/vm/seg_vn.c
9275
if (seg_pinsert_check(seg, pamp, paddr,
usr/src/uts/common/vm/seg_vn.c
9302
page = seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
9307
ASSERT(amp->a_szc >= seg->s_szc);
usr/src/uts/common/vm/seg_vn.c
934
svd->amp = anonmap_alloc(seg->s_size, 0, ANON_SLEEP);
usr/src/uts/common/vm/seg_vn.c
9341
if (seg->s_szc) {
usr/src/uts/common/vm/seg_vn.c
9346
vpage = &svd->vpage[seg_page(seg, a)];
usr/src/uts/common/vm/seg_vn.c
935
svd->amp->a_szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
9354
error = segvn_faultpage(seg->s_as->a_hat, seg, a, 0,
usr/src/uts/common/vm/seg_vn.c
9407
(void) seg_pinsert(seg, pamp, paddr, len, wlen, pl,
usr/src/uts/common/vm/seg_vn.c
9410
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
9412
"segvn_pagelock: cache fill seg %p addr %p", seg, addr);
usr/src/uts/common/vm/seg_vn.c
9426
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
9429
"segvn_pagelock: cache miss seg %p addr %p", seg, addr);
usr/src/uts/common/vm/seg_vn.c
9437
segvn_purge(struct seg *seg)
usr/src/uts/common/vm/seg_vn.c
9439
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
944
eaddr = seg->s_base + seg->s_size;
usr/src/uts/common/vm/seg_vn.c
9455
seg_ppurge(seg, NULL, 0);
usr/src/uts/common/vm/seg_vn.c
9458
seg_ppurge(seg, svd->amp, 0);
usr/src/uts/common/vm/seg_vn.c
946
for (anon_idx = anon_num, addr = seg->s_base;
usr/src/uts/common/vm/seg_vn.c
9472
struct seg *seg = (struct seg *)ptag;
usr/src/uts/common/vm/seg_vn.c
9473
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
9482
ASSERT(async || AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
9525
if (async || AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_vn.c
9526
mutex_enter(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_vn.c
9528
AS_SETNOUNMAPWAIT(seg->s_as);
usr/src/uts/common/vm/seg_vn.c
9530
if (AS_ISUNMAPWAIT(seg->s_as)) {
usr/src/uts/common/vm/seg_vn.c
9531
AS_CLRUNMAPWAIT(seg->s_as);
usr/src/uts/common/vm/seg_vn.c
9532
cv_broadcast(&seg->s_as->a_cv);
usr/src/uts/common/vm/seg_vn.c
9534
mutex_exit(&seg->s_as->a_contents);
usr/src/uts/common/vm/seg_vn.c
959
pp = anon_zero(seg, addr, &ap, cred);
usr/src/uts/common/vm/seg_vn.c
9597
segvn_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
usr/src/uts/common/vm/seg_vn.c
9599
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
9606
memidp->val[0] = (uintptr_t)seg->s_as;
usr/src/uts/common/vm/seg_vn.c
9615
(uintptr_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
9619
SEGVN_LOCK_ENTER(seg->s_as, &svd->lock, RW_READER);
usr/src/uts/common/vm/seg_vn.c
9622
seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
9624
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/seg_vn.c
9634
pp = anon_zero(seg, addr, &ap, svd->cred);
usr/src/uts/common/vm/seg_vn.c
9659
sameprot(struct seg *seg, caddr_t a, size_t len)
usr/src/uts/common/vm/seg_vn.c
9661
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
9671
vpage = &svd->vpage[seg_page(seg, a)];
usr/src/uts/common/vm/seg_vn.c
9687
segvn_getpolicy(struct seg *seg, caddr_t addr)
usr/src/uts/common/vm/seg_vn.c
9696
ASSERT(seg != NULL);
usr/src/uts/common/vm/seg_vn.c
9698
svn_data = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
9715
anon_index = svn_data->anon_index + seg_page(seg, addr);
usr/src/uts/common/vm/seg_vn.c
9717
vn_off = svn_data->offset + (uintptr_t)(addr - seg->s_base);
usr/src/uts/common/vm/seg_vn.c
9726
segvn_capable(struct seg *seg, segcapability_t capability)
usr/src/uts/common/vm/seg_vn.c
974
ASSERT(seg->s_szc == 0);
usr/src/uts/common/vm/seg_vn.c
9743
segvn_textrepl(struct seg *seg)
usr/src/uts/common/vm/seg_vn.c
9745
struct segvn_data *svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/seg_vn.c
9748
size_t size = seg->s_size;
usr/src/uts/common/vm/seg_vn.c
9750
uint_t szc = seg->s_szc;
usr/src/uts/common/vm/seg_vn.c
9754
proc_t *p = seg->s_as->a_proc;
usr/src/uts/common/vm/seg_vn.c
9760
ASSERT(AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/seg_vn.c
9761
ASSERT(SEGVN_WRITE_HELD(seg->s_as, &svd->lock));
usr/src/uts/common/vm/seg_vn.c
9770
ASSERT(seg->s_as != &kas);
usr/src/uts/common/vm/seg_vn.c
978
hat_memload(seg->s_as->a_hat, addr, pp,
usr/src/uts/common/vm/seg_vn.c
983
ASSERT(seg->s_szc == 0);
usr/src/uts/common/vm/seg_vn.c
985
0, seg->s_size);
usr/src/uts/common/vm/seg_vn.c
996
(void) lgrp_privm_policy_set(mpolicy, &svd->policy_info, seg->s_size);
usr/src/uts/common/vm/seg_vn.h
108
struct seg *seg; /* pointer back to seg */
usr/src/uts/common/vm/seg_vn.h
185
#define SEGVN_DATA(seg) ((struct segvn_data *)(seg)->s_data)
usr/src/uts/common/vm/seg_vn.h
186
#define SEG_IS_PARTIAL_RESV(seg) \
usr/src/uts/common/vm/seg_vn.h
187
((seg)->s_ops == &segvn_ops && SEGVN_DATA(seg) != NULL && \
usr/src/uts/common/vm/seg_vn.h
188
(SEGVN_DATA(seg)->vp == NULL || \
usr/src/uts/common/vm/seg_vn.h
189
SEGVN_DATA(seg)->vp->v_type != VREG) && \
usr/src/uts/common/vm/seg_vn.h
190
(SEGVN_DATA(seg)->flags & MAP_NORESERVE))
usr/src/uts/common/vm/seg_vn.h
231
extern int segvn_create(struct seg **, void *);
usr/src/uts/common/vm/vm_anon.c
1493
struct seg *seg,
usr/src/uts/common/vm/vm_anon.c
1553
pl, PAGESIZE, seg, addr, S_READ, cred,
usr/src/uts/common/vm/vm_anon.c
1563
pp = anon_private(&ap, seg, addr, prot, pl[0],
usr/src/uts/common/vm/vm_anon.c
1905
struct seg *seg,
usr/src/uts/common/vm/vm_anon.c
1944
seg, addr, vp);
usr/src/uts/common/vm/vm_anon.c
1947
seg, addr, rw, cred, NULL);
usr/src/uts/common/vm/vm_anon.c
1975
struct seg *seg,
usr/src/uts/common/vm/vm_anon.c
1999
int upsize = (szc < seg->s_szc);
usr/src/uts/common/vm/vm_anon.c
2002
ASSERT(seg->s_szc != 0);
usr/src/uts/common/vm/vm_anon.c
2004
ASSERT(szc <= seg->s_szc);
usr/src/uts/common/vm/vm_anon.c
2015
err = anon_getpage(&ap, protp, pl, PAGESIZE, seg,
usr/src/uts/common/vm/vm_anon.c
2025
seg->s_szc);
usr/src/uts/common/vm/vm_anon.c
2034
ppa[0] = anon_zero(seg, addr, &ap, cred);
usr/src/uts/common/vm/vm_anon.c
2059
*ppa_szc = MIN(pszc, seg->s_szc);
usr/src/uts/common/vm/vm_anon.c
2078
if (page_alloc_pages(anon_vp, seg, addr, NULL, ppa,
usr/src/uts/common/vm/vm_anon.c
2081
if (brkcow == 0 || szc < seg->s_szc ||
usr/src/uts/common/vm/vm_anon.c
2099
if (szc != seg->s_szc)
usr/src/uts/common/vm/vm_anon.c
2108
PAGESIZE, seg, vaddr, rw, cred);
usr/src/uts/common/vm/vm_anon.c
2134
return (anon_map_privatepages(amp, start_idx, szc, seg,
usr/src/uts/common/vm/vm_anon.c
2179
NULL, pl, PAGESIZE, conpp, ppa_szc, &nreloc, seg, vaddr,
usr/src/uts/common/vm/vm_anon.c
2198
*ppa_szc = MIN(pp->p_szc, seg->s_szc);
usr/src/uts/common/vm/vm_anon.c
2310
if (szc < seg->s_szc)
usr/src/uts/common/vm/vm_anon.c
2316
return (anon_map_privatepages(amp, start_idx, szc, seg, addr, prot,
usr/src/uts/common/vm/vm_anon.c
2373
if (brkcow == 0 || szc < seg->s_szc ||
usr/src/uts/common/vm/vm_anon.c
2399
struct seg *seg,
usr/src/uts/common/vm/vm_anon.c
2429
seg, addr, pp, vp, off);
usr/src/uts/common/vm/vm_anon.c
2445
anon_pl, PAGESIZE, seg, addr, S_CREATE, cred, NULL);
usr/src/uts/common/vm/vm_anon.c
2500
hat_unload(seg->s_as->a_hat, addr, PAGESIZE, HAT_UNLOAD);
usr/src/uts/common/vm/vm_anon.c
2540
struct seg *seg,
usr/src/uts/common/vm/vm_anon.c
2567
ASSERT(szc == seg->s_szc);
usr/src/uts/common/vm/vm_anon.c
2590
} else if (page_alloc_pages(anon_vp, seg, addr, &pplist, NULL, szc,
usr/src/uts/common/vm/vm_anon.c
2701
PAGESIZE, conpp, NULL, &nreloc, seg, vaddr,
usr/src/uts/common/vm/vm_anon.c
2771
hat_unload(seg->s_as->a_hat, addr, pgcnt << PAGESHIFT, HAT_UNLOAD);
usr/src/uts/common/vm/vm_anon.c
2791
anon_zero(struct seg *seg, caddr_t addr, struct anon **app, struct cred *cred)
usr/src/uts/common/vm/vm_anon.c
2811
anon_pl, PAGESIZE, seg, addr, S_CREATE, cred, NULL);
usr/src/uts/common/vm/vm_anon.c
2840
struct seg *seg,
usr/src/uts/common/vm/vm_anon.c
2876
l_szc = seg->s_szc;
usr/src/uts/common/vm/vm_anon.c
2892
seg, addr, S_READ, cred);
usr/src/uts/common/vm/vm_anon.c
2961
lgrp = lgrp_mem_choose(seg, addr, pgsz);
usr/src/uts/common/vm/vm_anon.c
2964
anon_vp, (u_offset_t)0, seg,
usr/src/uts/common/vm/vm_anon.c
2991
pp = anon_zero(seg, addr, &ap, cred);
usr/src/uts/common/vm/vm_anon.c
3029
&nreloc, seg, addr, S_CREATE, cred);
usr/src/uts/common/vm/vm_anon.c
3183
struct seg *seg,
usr/src/uts/common/vm/vm_anon.c
3190
uint_t szc = seg->s_szc;
usr/src/uts/common/vm/vm_anon.c
3228
err = anon_getpage(&ap, &vpprot, pl, PAGESIZE, seg, vaddr,
usr/src/uts/common/vm/vm_anon.c
3241
err = anon_map_privatepages(amp, start_idx, szc, seg, addr, prot, ppa,
usr/src/uts/common/vm/vm_as.c
1004
seg = as_segat(as, raddr);
usr/src/uts/common/vm/vm_as.c
1005
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
1013
if (raddr >= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
1014
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
1015
if (seg == NULL || raddr != seg->s_base) {
usr/src/uts/common/vm/vm_as.c
1020
res = SEGOP_FAULTA(seg, raddr);
usr/src/uts/common/vm/vm_as.c
1053
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
1090
seg = as_segat(as, raddr);
usr/src/uts/common/vm/vm_as.c
1091
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
1098
if (raddr >= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
1099
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
1100
if (seg == NULL || raddr != seg->s_base) {
usr/src/uts/common/vm/vm_as.c
1105
if ((raddr + rsize) > (seg->s_base + seg->s_size))
usr/src/uts/common/vm/vm_as.c
1106
ssize = seg->s_base + seg->s_size - raddr;
usr/src/uts/common/vm/vm_as.c
1110
error = SEGOP_SETPROT(seg, raddr, ssize, prot);
usr/src/uts/common/vm/vm_as.c
1168
seg->s_base, seg->s_size))) {
usr/src/uts/common/vm/vm_as.c
1216
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
1241
seg = as_segat(as, raddr);
usr/src/uts/common/vm/vm_as.c
1242
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
1249
if (raddr >= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
1250
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
1251
if (seg == NULL || raddr != seg->s_base) {
usr/src/uts/common/vm/vm_as.c
1256
if ((raddr + rsize) > (seg->s_base + seg->s_size))
usr/src/uts/common/vm/vm_as.c
1257
ssize = seg->s_base + seg->s_size - raddr;
usr/src/uts/common/vm/vm_as.c
1261
error = SEGOP_CHECKPROT(seg, raddr, ssize, prot);
usr/src/uts/common/vm/vm_as.c
1273
struct seg *seg, *seg_next;
usr/src/uts/common/vm/vm_as.c
1295
for (seg = as_findseg(as, raddr, 0); seg != NULL; seg = seg_next) {
usr/src/uts/common/vm/vm_as.c
1296
const boolean_t is_hole = ((seg->s_flags & S_HOLE) != 0);
usr/src/uts/common/vm/vm_as.c
1298
if (eaddr <= seg->s_base)
usr/src/uts/common/vm/vm_as.c
1304
if (raddr < seg->s_base)
usr/src/uts/common/vm/vm_as.c
1305
raddr = seg->s_base; /* raddr was in a gap */
usr/src/uts/common/vm/vm_as.c
1307
if (eaddr > (seg->s_base + seg->s_size))
usr/src/uts/common/vm/vm_as.c
1308
ssize = seg->s_base + seg->s_size - raddr;
usr/src/uts/common/vm/vm_as.c
1316
seg_next = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
1324
if (!SEG_IS_DEVNULL_MAPPING(seg) &&
usr/src/uts/common/vm/vm_as.c
1325
!SEG_IS_PARTIAL_RESV(seg))
usr/src/uts/common/vm/vm_as.c
1329
err = SEGOP_UNMAP(seg, raddr, ssize);
usr/src/uts/common/vm/vm_as.c
1366
seg->s_base, seg->s_size))) {
usr/src/uts/common/vm/vm_as.c
1433
struct seg *seg, *segref;
usr/src/uts/common/vm/vm_as.c
1435
seg = segref = seg_alloc(as, addr, size);
usr/src/uts/common/vm/vm_as.c
1436
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
1440
error = (*crfp)(&seg, vn_a);
usr/src/uts/common/vm/vm_as.c
1442
VERIFY3P(seg, ==, segref);
usr/src/uts/common/vm/vm_as.c
1443
seg_free(seg);
usr/src/uts/common/vm/vm_as.c
1466
struct seg *seg, *segref;
usr/src/uts/common/vm/vm_as.c
1472
seg = segref = seg_alloc(as, addr, segsize);
usr/src/uts/common/vm/vm_as.c
1473
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
1477
error = (*crfp)(&seg, vn_a);
usr/src/uts/common/vm/vm_as.c
1479
VERIFY3P(seg, ==, segref);
usr/src/uts/common/vm/vm_as.c
1480
seg_free(seg);
usr/src/uts/common/vm/vm_as.c
1501
struct seg *seg, *segref;
usr/src/uts/common/vm/vm_as.c
1505
seg = segref = seg_alloc(as, addr, segsize);
usr/src/uts/common/vm/vm_as.c
1506
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
1510
error = (*crfp)(&seg, vn_a);
usr/src/uts/common/vm/vm_as.c
1512
VERIFY3P(seg, ==, segref);
usr/src/uts/common/vm/vm_as.c
1513
seg_free(seg);
usr/src/uts/common/vm/vm_as.c
1557
struct seg *seg, *segref;
usr/src/uts/common/vm/vm_as.c
1559
seg = segref = seg_alloc(as, addr, size);
usr/src/uts/common/vm/vm_as.c
1560
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
1564
error = (*crfp)(&seg, vn_a);
usr/src/uts/common/vm/vm_as.c
1566
VERIFY3P(seg, ==, segref);
usr/src/uts/common/vm/vm_as.c
1567
seg_free(seg);
usr/src/uts/common/vm/vm_as.c
1735
struct seg *seg, *segref;
usr/src/uts/common/vm/vm_as.c
1737
seg = segref = seg_alloc(as, addr, size);
usr/src/uts/common/vm/vm_as.c
1738
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
1753
error = (*crfp)(&seg, argsp);
usr/src/uts/common/vm/vm_as.c
1755
VERIFY3P(seg, ==, segref);
usr/src/uts/common/vm/vm_as.c
1756
seg_free(seg);
usr/src/uts/common/vm/vm_as.c
1765
is_hole = ((seg->s_flags & S_HOLE) != 0);
usr/src/uts/common/vm/vm_as.c
1804
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
1805
struct seg *next_seg;
usr/src/uts/common/vm/vm_as.c
1816
seg = AS_SEGFIRST(as);
usr/src/uts/common/vm/vm_as.c
1817
while (seg != NULL) {
usr/src/uts/common/vm/vm_as.c
1818
next_seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
1819
if (seg->s_flags & S_PURGE)
usr/src/uts/common/vm/vm_as.c
1820
SEGOP_UNMAP(seg, seg->s_base, seg->s_size);
usr/src/uts/common/vm/vm_as.c
1821
seg = next_seg;
usr/src/uts/common/vm/vm_as.c
1857
struct seg *lseg, *hseg;
usr/src/uts/common/vm/vm_as.c
2039
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
2048
seg = as_findseg(as, addr, 0);
usr/src/uts/common/vm/vm_as.c
2049
if (seg != NULL)
usr/src/uts/common/vm/vm_as.c
2050
addr = MAX(seg->s_base, addr);
usr/src/uts/common/vm/vm_as.c
2053
if (seg == NULL || addr >= eaddr || eaddr <= seg->s_base) {
usr/src/uts/common/vm/vm_as.c
2058
if (seg->s_ops == &segvn_ops) {
usr/src/uts/common/vm/vm_as.c
2059
segend = seg->s_base + seg->s_size;
usr/src/uts/common/vm/vm_as.c
2067
if (seg->s_ops == &segspt_shmops) {
usr/src/uts/common/vm/vm_as.c
2068
segend = seg->s_base + spt_realsize(seg);
usr/src/uts/common/vm/vm_as.c
2073
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
2075
if (seg != NULL)
usr/src/uts/common/vm/vm_as.c
2076
addr = seg->s_base;
usr/src/uts/common/vm/vm_as.c
2103
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
2129
for (seg = AS_SEGFIRST(as); seg != NULL; seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/vm/vm_as.c
2130
struct seg_ops *ov = seg->s_ops;
usr/src/uts/common/vm/vm_as.c
2139
swpcnt += SEGOP_SWAPOUT(seg);
usr/src/uts/common/vm/vm_as.c
2153
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
2169
seg = as_segat(as, raddr);
usr/src/uts/common/vm/vm_as.c
2170
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
2176
if (raddr >= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
2177
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
2178
if (seg == NULL || raddr != seg->s_base) {
usr/src/uts/common/vm/vm_as.c
2183
if ((raddr + rsize) > (seg->s_base + seg->s_size))
usr/src/uts/common/vm/vm_as.c
2184
ssize = seg->s_base + seg->s_size - raddr;
usr/src/uts/common/vm/vm_as.c
2187
*sizep += isize = SEGOP_INCORE(seg, raddr, ssize, vec);
usr/src/uts/common/vm/vm_as.c
2199
as_segunlock(struct seg *seg, caddr_t addr, int attr,
usr/src/uts/common/vm/vm_as.c
2213
(void) SEGOP_LOCKOP(seg, range_start, size, attr, MC_UNLOCK,
usr/src/uts/common/vm/vm_as.c
2223
struct seg *seg = as_segat(as, raddr);
usr/src/uts/common/vm/vm_as.c
2227
if (raddr >= seg->s_base + seg->s_size)
usr/src/uts/common/vm/vm_as.c
2228
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
2230
if ((raddr + rsize) > (seg->s_base + seg->s_size))
usr/src/uts/common/vm/vm_as.c
2231
ssize = seg->s_base + seg->s_size - raddr;
usr/src/uts/common/vm/vm_as.c
2235
as_segunlock(seg, raddr, attr, mlock_map, 0, btopr(ssize));
usr/src/uts/common/vm/vm_as.c
2251
struct seg *seg; /* working segment */
usr/src/uts/common/vm/vm_as.c
2291
seg = AS_SEGFIRST(as);
usr/src/uts/common/vm/vm_as.c
2292
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
2298
raddr = (caddr_t)((uintptr_t)seg->s_base &
usr/src/uts/common/vm/vm_as.c
2300
rlen += (((uintptr_t)(seg->s_base + seg->s_size) +
usr/src/uts/common/vm/vm_as.c
2302
} while ((seg = AS_SEGNEXT(as, seg)) != NULL);
usr/src/uts/common/vm/vm_as.c
2311
for (seg = AS_SEGFIRST(as); seg; seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/vm/vm_as.c
2312
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/vm/vm_as.c
2315
error = SEGOP_LOCKOP(seg, seg->s_base,
usr/src/uts/common/vm/vm_as.c
2316
seg->s_size, attr, MC_LOCK, mlock_map, pos);
usr/src/uts/common/vm/vm_as.c
2319
pos += seg_pages(seg);
usr/src/uts/common/vm/vm_as.c
2323
for (seg = AS_SEGFIRST(as); seg != NULL;
usr/src/uts/common/vm/vm_as.c
2324
seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/vm/vm_as.c
2326
raddr = (caddr_t)((uintptr_t)seg->s_base &
usr/src/uts/common/vm/vm_as.c
2328
npages = seg_pages(seg);
usr/src/uts/common/vm/vm_as.c
2329
as_segunlock(seg, raddr, attr, mlock_map,
usr/src/uts/common/vm/vm_as.c
2343
for (seg = AS_SEGFIRST(as); seg; seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/vm/vm_as.c
2344
if ((seg->s_flags & S_HOLE) != 0) {
usr/src/uts/common/vm/vm_as.c
2347
error = SEGOP_LOCKOP(seg, seg->s_base,
usr/src/uts/common/vm/vm_as.c
2348
seg->s_size, attr, MC_UNLOCK, NULL, 0);
usr/src/uts/common/vm/vm_as.c
2372
if ((seg = as_segat(as, raddr)) == NULL) {
usr/src/uts/common/vm/vm_as.c
2397
if (raddr >= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
2398
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
2399
if (seg == NULL || raddr != seg->s_base) {
usr/src/uts/common/vm/vm_as.c
2410
if ((raddr + rsize) > (seg->s_base + seg->s_size))
usr/src/uts/common/vm/vm_as.c
2411
ssize = seg->s_base + seg->s_size - raddr;
usr/src/uts/common/vm/vm_as.c
2425
if (error = SEGOP_SYNC(seg, raddr, ssize,
usr/src/uts/common/vm/vm_as.c
2436
if (error = SEGOP_LOCKOP(seg, raddr, ssize,
usr/src/uts/common/vm/vm_as.c
2451
(void) SEGOP_LOCKOP(seg, raddr, ssize, attr, func,
usr/src/uts/common/vm/vm_as.c
2459
error = SEGOP_ADVISE(seg, raddr, ssize, (uint_t)arg);
usr/src/uts/common/vm/vm_as.c
2479
seg = as_segat(as, raddr);
usr/src/uts/common/vm/vm_as.c
2480
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
2495
if (seg->s_ops->inherit == NULL) {
usr/src/uts/common/vm/vm_as.c
2498
error = SEGOP_INHERIT(seg, raddr, ssize,
usr/src/uts/common/vm/vm_as.c
2568
as_pagelock_segs(struct as *as, struct seg *seg, struct page ***ppp,
usr/src/uts/common/vm/vm_as.c
2573
struct seg *sv_seg = seg;
usr/src/uts/common/vm/vm_as.c
2587
ASSERT(seg != NULL);
usr/src/uts/common/vm/vm_as.c
2588
ASSERT(addr >= seg->s_base && addr < seg->s_base + seg->s_size);
usr/src/uts/common/vm/vm_as.c
2589
ASSERT(addr + size > seg->s_base + seg->s_size);
usr/src/uts/common/vm/vm_as.c
2599
if (addr >= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
2601
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
2602
if (seg == NULL || addr != seg->s_base) {
usr/src/uts/common/vm/vm_as.c
2610
if (seg->s_ops == &segvn_ops) {
usr/src/uts/common/vm/vm_as.c
2613
if (SEGOP_GETVP(seg, addr, &vp) != 0 ||
usr/src/uts/common/vm/vm_as.c
2618
} else if (seg->s_ops != &segspt_shmops) {
usr/src/uts/common/vm/vm_as.c
2624
if (addr + size > seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
2625
ssize = seg->s_base + seg->s_size - addr;
usr/src/uts/common/vm/vm_as.c
2636
seg = sv_seg;
usr/src/uts/common/vm/vm_as.c
2639
if (addr >= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
2640
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
2641
ASSERT(seg != NULL && addr == seg->s_base);
usr/src/uts/common/vm/vm_as.c
2645
if (addr + size > seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
2646
ssize = seg->s_base + seg->s_size - addr;
usr/src/uts/common/vm/vm_as.c
2651
error = SEGOP_PAGELOCK(seg, addr, ssize, (page_t ***)pl,
usr/src/uts/common/vm/vm_as.c
2678
seg = sv_seg;
usr/src/uts/common/vm/vm_as.c
2681
if (addr >= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
2682
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
2683
ASSERT(seg != NULL && addr == seg->s_base);
usr/src/uts/common/vm/vm_as.c
2687
if (eaddr > seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
2688
ssize = seg->s_base + seg->s_size - addr;
usr/src/uts/common/vm/vm_as.c
2694
(void) SEGOP_PAGELOCK(seg, addr, ssize, (page_t ***)pl,
usr/src/uts/common/vm/vm_as.c
2733
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
2749
seg = as_segat(as, raddr);
usr/src/uts/common/vm/vm_as.c
2750
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
2754
ASSERT(raddr >= seg->s_base && raddr < seg->s_base + seg->s_size);
usr/src/uts/common/vm/vm_as.c
2755
if (raddr + rsize > seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
2756
return (as_pagelock_segs(as, seg, ppp, raddr, rsize, rw));
usr/src/uts/common/vm/vm_as.c
2769
err = SEGOP_PAGELOCK(seg, raddr, rsize, ppp, L_PAGELOCK, rw);
usr/src/uts/common/vm/vm_as.c
2802
as_pageunlock_segs(struct as *as, struct seg *seg, caddr_t addr, size_t size,
usr/src/uts/common/vm/vm_as.c
2812
ASSERT(seg != NULL);
usr/src/uts/common/vm/vm_as.c
2813
ASSERT(addr >= seg->s_base && addr < seg->s_base + seg->s_size);
usr/src/uts/common/vm/vm_as.c
2814
ASSERT(addr + size > seg->s_base + seg->s_size);
usr/src/uts/common/vm/vm_as.c
2820
if (addr >= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
2821
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
2822
ASSERT(seg != NULL && addr == seg->s_base);
usr/src/uts/common/vm/vm_as.c
2825
if (eaddr > seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
2826
ssize = seg->s_base + seg->s_size - addr;
usr/src/uts/common/vm/vm_as.c
2832
(void) SEGOP_PAGELOCK(seg, addr, ssize, (page_t ***)pl,
usr/src/uts/common/vm/vm_as.c
2849
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
2870
seg = as_segat(as, raddr);
usr/src/uts/common/vm/vm_as.c
2871
ASSERT(seg != NULL);
usr/src/uts/common/vm/vm_as.c
2876
ASSERT(raddr >= seg->s_base && raddr < seg->s_base + seg->s_size);
usr/src/uts/common/vm/vm_as.c
2877
if (raddr + rsize <= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
2878
SEGOP_PAGELOCK(seg, raddr, rsize, &pp, L_PAGEUNLOCK, rw);
usr/src/uts/common/vm/vm_as.c
2880
as_pageunlock_segs(as, seg, raddr, rsize, pp, rw);
usr/src/uts/common/vm/vm_as.c
2891
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
2911
seg = as_segat(as, raddr);
usr/src/uts/common/vm/vm_as.c
2912
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
2919
if (raddr >= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
2920
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
2921
if (seg == NULL || raddr != seg->s_base) {
usr/src/uts/common/vm/vm_as.c
2926
if ((raddr + rsize) > (seg->s_base + seg->s_size)) {
usr/src/uts/common/vm/vm_as.c
2927
ssize = seg->s_base + seg->s_size - raddr;
usr/src/uts/common/vm/vm_as.c
2933
error = SEGOP_SETPAGESIZE(seg, raddr, ssize, szc);
usr/src/uts/common/vm/vm_as.c
3019
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
3025
seg = as_segat(as, raddr);
usr/src/uts/common/vm/vm_as.c
3026
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
3031
if (raddr >= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
3032
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
3033
if (seg == NULL || raddr != seg->s_base) {
usr/src/uts/common/vm/vm_as.c
3037
if ((raddr + rsize) > (seg->s_base + seg->s_size)) {
usr/src/uts/common/vm/vm_as.c
3038
ssize = seg->s_base + seg->s_size - raddr;
usr/src/uts/common/vm/vm_as.c
3043
if (szc > seg->s_szc) {
usr/src/uts/common/vm/vm_as.c
3044
error = SEGOP_SETPAGESIZE(seg, raddr, ssize, szc);
usr/src/uts/common/vm/vm_as.c
3048
if ((SEGOP_GETTYPE(seg, raddr) & MAP_SHARED) &&
usr/src/uts/common/vm/vm_as.c
3049
(SEGOP_GETVP(seg, raddr, &vp) != 0 ||
usr/src/uts/common/vm/vm_as.c
3105
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
3114
seg = as_segat(as, raddr);
usr/src/uts/common/vm/vm_as.c
3115
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
3118
if (seg->s_szc < szc) {
usr/src/uts/common/vm/vm_as.c
3125
if (raddr >= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
3126
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
3127
if (seg == NULL || raddr != seg->s_base) {
usr/src/uts/common/vm/vm_as.c
3130
if (seg->s_szc >= szc && set) {
usr/src/uts/common/vm/vm_as.c
3138
} else if (seg->s_szc < szc && !set) {
usr/src/uts/common/vm/vm_as.c
3144
if ((raddr + rsize) > (seg->s_base + seg->s_size)) {
usr/src/uts/common/vm/vm_as.c
3145
ssize = seg->s_base + seg->s_size - raddr;
usr/src/uts/common/vm/vm_as.c
3258
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
3285
seg = as_segat(as, raddr);
usr/src/uts/common/vm/vm_as.c
3286
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
3291
if (seg->s_ops == &segvn_ops) {
usr/src/uts/common/vm/vm_as.c
3292
rtype = SEGOP_GETTYPE(seg, addr);
usr/src/uts/common/vm/vm_as.c
3303
if (raddr >= (seg->s_base + seg->s_size)) {
usr/src/uts/common/vm/vm_as.c
3304
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
3305
if (seg == NULL || raddr != seg->s_base) {
usr/src/uts/common/vm/vm_as.c
3309
if (seg->s_ops == &segvn_ops) {
usr/src/uts/common/vm/vm_as.c
3310
stype = SEGOP_GETTYPE(seg, raddr);
usr/src/uts/common/vm/vm_as.c
3347
if ((raddr + rsize) > (seg->s_base + seg->s_size)) {
usr/src/uts/common/vm/vm_as.c
3348
ssize = seg->s_base + seg->s_size - raddr;
usr/src/uts/common/vm/vm_as.c
3407
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
3423
(seg = as_segat(as, vaddr)) == NULL ||
usr/src/uts/common/vm/vm_as.c
3424
SEGOP_GETPROT(seg, vaddr, 0, &prot) != 0)
usr/src/uts/common/vm/vm_as.c
3435
err = SEGOP_SETPROT(seg, vaddr, PAGESIZE, prot);
usr/src/uts/common/vm/vm_as.c
3454
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
3470
(seg = as_segat(as, vaddr)) == NULL)
usr/src/uts/common/vm/vm_as.c
3474
err = SEGOP_SETPROT(seg, vaddr, PAGESIZE, prot);
usr/src/uts/common/vm/vm_as.c
3496
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
3523
seg = as_segat(as, vaddr);
usr/src/uts/common/vm/vm_as.c
3524
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
3528
err = SEGOP_SETPROT(seg, vaddr, PAGESIZE, wprot);
usr/src/uts/common/vm/vm_as.c
3552
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
356
struct seg *
usr/src/uts/common/vm/vm_as.c
3572
seg = as_segat(as, pwp->wp_vaddr);
usr/src/uts/common/vm/vm_as.c
3573
if (seg == NULL)
usr/src/uts/common/vm/vm_as.c
3575
err = SEGOP_SETPROT(seg, pwp->wp_vaddr,
usr/src/uts/common/vm/vm_as.c
359
struct seg *seg = as->a_seglast;
usr/src/uts/common/vm/vm_as.c
3615
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
3619
seg = as_segat(as, addr);
usr/src/uts/common/vm/vm_as.c
3620
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
3627
if (seg->s_ops->getmemid == NULL) {
usr/src/uts/common/vm/vm_as.c
3632
sts = SEGOP_GETMEMID(seg, addr, memidp);
usr/src/uts/common/vm/vm_as.c
364
if (seg != NULL &&
usr/src/uts/common/vm/vm_as.c
365
seg->s_base <= addr &&
usr/src/uts/common/vm/vm_as.c
366
addr < seg->s_base + seg->s_size)
usr/src/uts/common/vm/vm_as.c
367
return (seg);
usr/src/uts/common/vm/vm_as.c
369
seg = avl_find(&as->a_segtree, &addr, &where);
usr/src/uts/common/vm/vm_as.c
370
if (seg != NULL)
usr/src/uts/common/vm/vm_as.c
371
return (as->a_seglast = seg);
usr/src/uts/common/vm/vm_as.c
373
seg = avl_nearest(&as->a_segtree, where, AVL_AFTER);
usr/src/uts/common/vm/vm_as.c
374
if (seg == NULL && tail)
usr/src/uts/common/vm/vm_as.c
375
seg = avl_last(&as->a_segtree);
usr/src/uts/common/vm/vm_as.c
376
return (as->a_seglast = seg);
usr/src/uts/common/vm/vm_as.c
386
struct seg *seg, *seglast, *p, *n;
usr/src/uts/common/vm/vm_as.c
394
for (seg = AS_SEGFIRST(as); seg != NULL; seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/vm/vm_as.c
395
ASSERT(seg->s_as == as);
usr/src/uts/common/vm/vm_as.c
396
p = AS_SEGPREV(as, seg);
usr/src/uts/common/vm/vm_as.c
397
n = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
399
ASSERT(p == NULL || p->s_base < seg->s_base);
usr/src/uts/common/vm/vm_as.c
400
ASSERT(n == NULL || n->s_base > seg->s_base);
usr/src/uts/common/vm/vm_as.c
401
ASSERT(n != NULL || seg == avl_last(&as->a_segtree));
usr/src/uts/common/vm/vm_as.c
402
if (seg == seglast)
usr/src/uts/common/vm/vm_as.c
417
as_addseg(struct as *as, struct seg *newseg)
usr/src/uts/common/vm/vm_as.c
419
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
430
struct seg *hseg = NULL;
usr/src/uts/common/vm/vm_as.c
431
struct seg *lseg = NULL;
usr/src/uts/common/vm/vm_as.c
455
seg = avl_find(&as->a_segtree, &addr, &where);
usr/src/uts/common/vm/vm_as.c
457
if (seg == NULL)
usr/src/uts/common/vm/vm_as.c
458
seg = avl_nearest(&as->a_segtree, where, AVL_AFTER);
usr/src/uts/common/vm/vm_as.c
460
if (seg == NULL)
usr/src/uts/common/vm/vm_as.c
461
seg = avl_last(&as->a_segtree);
usr/src/uts/common/vm/vm_as.c
463
if (seg != NULL) {
usr/src/uts/common/vm/vm_as.c
464
caddr_t base = seg->s_base;
usr/src/uts/common/vm/vm_as.c
472
if (base + seg->s_size > addr) {
usr/src/uts/common/vm/vm_as.c
487
struct seg *
usr/src/uts/common/vm/vm_as.c
488
as_removeseg(struct as *as, struct seg *seg)
usr/src/uts/common/vm/vm_as.c
497
if (seg == NULL)
usr/src/uts/common/vm/vm_as.c
501
if (as->a_seglast == seg)
usr/src/uts/common/vm/vm_as.c
510
(seg == as->a_lastgap || seg->s_base > as->a_lastgap->s_base))
usr/src/uts/common/vm/vm_as.c
511
as->a_lastgap = AVL_NEXT(t, seg);
usr/src/uts/common/vm/vm_as.c
516
avl_remove(t, seg);
usr/src/uts/common/vm/vm_as.c
521
return (seg);
usr/src/uts/common/vm/vm_as.c
527
struct seg *
usr/src/uts/common/vm/vm_as.c
530
struct seg *seg = as->a_seglast;
usr/src/uts/common/vm/vm_as.c
534
if (seg != NULL && seg->s_base <= addr &&
usr/src/uts/common/vm/vm_as.c
535
addr < seg->s_base + seg->s_size)
usr/src/uts/common/vm/vm_as.c
536
return (seg);
usr/src/uts/common/vm/vm_as.c
538
seg = avl_find(&as->a_segtree, &addr, NULL);
usr/src/uts/common/vm/vm_as.c
539
return (seg);
usr/src/uts/common/vm/vm_as.c
576
struct seg *a = (struct seg *)x;
usr/src/uts/common/vm/vm_as.c
577
struct seg *b = (struct seg *)y;
usr/src/uts/common/vm/vm_as.c
590
avl_create(&as->a_segtree, as_segcompar, sizeof (struct seg),
usr/src/uts/common/vm/vm_as.c
591
offsetof(struct seg, s_tree));
usr/src/uts/common/vm/vm_as.c
673
struct seg *seg, *next;
usr/src/uts/common/vm/vm_as.c
693
for (seg = AS_SEGFIRST(as); seg != NULL; seg = next) {
usr/src/uts/common/vm/vm_as.c
696
next = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
698
err = SEGOP_UNMAP(seg, seg->s_base, seg->s_size);
usr/src/uts/common/vm/vm_as.c
762
struct seg *seg, *newseg;
usr/src/uts/common/vm/vm_as.c
776
for (seg = AS_SEGFIRST(as); seg != NULL; seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/vm/vm_as.c
778
if (seg->s_flags & S_PURGE) {
usr/src/uts/common/vm/vm_as.c
779
purgesize += seg->s_size;
usr/src/uts/common/vm/vm_as.c
783
newseg = seg_alloc(newas, seg->s_base, seg->s_size);
usr/src/uts/common/vm/vm_as.c
791
if ((error = SEGOP_DUP(seg, newseg)) != 0) {
usr/src/uts/common/vm/vm_as.c
805
newas->a_size += seg->s_size;
usr/src/uts/common/vm/vm_as.c
831
struct seg *seg;
usr/src/uts/common/vm/vm_as.c
837
struct seg *segsav;
usr/src/uts/common/vm/vm_as.c
893
seg = segkmap;
usr/src/uts/common/vm/vm_as.c
898
seg = as_segat(as, raddr);
usr/src/uts/common/vm/vm_as.c
899
if (seg == NULL) {
usr/src/uts/common/vm/vm_as.c
910
segsav = seg;
usr/src/uts/common/vm/vm_as.c
913
if (raddr >= seg->s_base + seg->s_size) {
usr/src/uts/common/vm/vm_as.c
914
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
915
if (seg == NULL || raddr != seg->s_base) {
usr/src/uts/common/vm/vm_as.c
920
if (raddr + rsize > seg->s_base + seg->s_size)
usr/src/uts/common/vm/vm_as.c
921
ssize = seg->s_base + seg->s_size - raddr;
usr/src/uts/common/vm/vm_as.c
925
res = SEGOP_FAULT(hat, seg, raddr, ssize, type, rw);
usr/src/uts/common/vm/vm_as.c
937
for (seg = segsav; addrsav < raddr; addrsav += ssize) {
usr/src/uts/common/vm/vm_as.c
938
if (addrsav >= seg->s_base + seg->s_size)
usr/src/uts/common/vm/vm_as.c
939
seg = AS_SEGNEXT(as, seg);
usr/src/uts/common/vm/vm_as.c
940
ASSERT(seg != NULL);
usr/src/uts/common/vm/vm_as.c
946
if (raddr > seg->s_base + seg->s_size)
usr/src/uts/common/vm/vm_as.c
947
ssize = seg->s_base + seg->s_size - addrsav;
usr/src/uts/common/vm/vm_as.c
950
(void) SEGOP_FAULT(hat, seg, addrsav, ssize,
usr/src/uts/common/vm/vm_as.c
984
struct seg *seg;
usr/src/uts/common/vm/vm_page.c
1774
page_create_get_something(vnode_t *vp, u_offset_t off, struct seg *seg,
usr/src/uts/common/vm/vm_page.c
1867
lgrp = lgrp_mem_choose(seg, vaddr, PAGESIZE);
usr/src/uts/common/vm/vm_page.c
1870
pp = page_get_freelist(vp, off, seg, vaddr, PAGESIZE,
usr/src/uts/common/vm/vm_page.c
1873
pp = page_get_cachelist(vp, off, seg, vaddr,
usr/src/uts/common/vm/vm_page.c
1981
struct seg kseg;
usr/src/uts/common/vm/vm_page.c
2006
page_alloc_pages(struct vnode *vp, struct seg *seg, caddr_t addr,
usr/src/uts/common/vm/vm_page.c
2057
lgrp = lgrp_mem_choose(seg, addr, pgsz);
usr/src/uts/common/vm/vm_page.c
2059
pp = page_get_freelist(vp, 0, seg, addr, pgsz,
usr/src/uts/common/vm/vm_page.c
2062
pp = page_get_freelist(vp, 0, seg, addr, pgsz,
usr/src/uts/common/vm/vm_page.c
2066
pp = page_get_freelist(vp, 0, seg, addr, pgsz,
usr/src/uts/common/vm/vm_page.c
2149
struct seg *seg, caddr_t vaddr, void *arg)
usr/src/uts/common/vm/vm_page.c
2219
lgrp = lgrp_mem_choose(seg, vaddr, bytes);
usr/src/uts/common/vm/vm_page.c
2221
if ((rootpp = page_get_freelist(&kvp, off, seg, vaddr,
usr/src/uts/common/vm/vm_page.c
2274
struct seg *seg, caddr_t vaddr)
usr/src/uts/common/vm/vm_page.c
2420
lgrp = lgrp_mem_choose(seg, vaddr, PAGESIZE);
usr/src/uts/common/vm/vm_page.c
2421
npp = page_get_freelist(vp, off, seg, vaddr, PAGESIZE,
usr/src/uts/common/vm/vm_page.c
2424
npp = page_get_cachelist(vp, off, seg,
usr/src/uts/common/vm/vm_page.c
2428
off, seg, vaddr,
usr/src/uts/common/vm/vm_page.c
5402
page_mark_migrate(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/common/vm/vm_page.c
5421
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/vm_page.c
5433
segpgsz = page_get_pagesize(seg->s_szc);
usr/src/uts/common/vm/vm_page.c
5451
off = vnoff + va - seg->s_base;
usr/src/uts/common/vm/vm_page.c
5454
an_idx = anon_index + seg_page(seg, va);
usr/src/uts/common/vm/vm_page.c
5584
struct seg *seg,
usr/src/uts/common/vm/vm_page.c
5599
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/common/vm/vm_page.c
5636
to = lgrp_mem_choose(seg, addr, pgsz);
usr/src/uts/common/vm/vm_page.c
5795
struct memseg *seg;
usr/src/uts/common/vm/vm_page.c
5817
if (((seg = vc->vc_pnum_memseg) != NULL) &&
usr/src/uts/common/vm/vm_page.c
5818
(pfnum >= seg->pages_base) && (pfnum < seg->pages_end)) {
usr/src/uts/common/vm/vm_page.c
5820
pp = seg->pages + (pfnum - seg->pages_base);
usr/src/uts/common/vm/vm_page.c
5828
if (((seg = memseg_hash[MEMSEG_PFN_HASH(pfnum)]) != NULL) &&
usr/src/uts/common/vm/vm_page.c
5829
(pfnum >= seg->pages_base) && (pfnum < seg->pages_end)) {
usr/src/uts/common/vm/vm_page.c
5831
vc->vc_pnum_memseg = seg;
usr/src/uts/common/vm/vm_page.c
5832
pp = seg->pages + (pfnum - seg->pages_base);
usr/src/uts/common/vm/vm_page.c
5840
for (seg = memsegs; seg != NULL; seg = seg->next) {
usr/src/uts/common/vm/vm_page.c
5841
if (pfnum >= seg->pages_base && pfnum < seg->pages_end) {
usr/src/uts/common/vm/vm_page.c
5842
vc->vc_pnum_memseg = seg;
usr/src/uts/common/vm/vm_page.c
5843
pp = seg->pages + (pfnum - seg->pages_base);
usr/src/uts/common/vm/vm_page.c
5860
struct memseg *seg;
usr/src/uts/common/vm/vm_page.c
5870
if (((seg = memseg_hash[MEMSEG_PFN_HASH(pfnum)]) != NULL) &&
usr/src/uts/common/vm/vm_page.c
5871
(pfnum >= seg->pages_base) && (pfnum < seg->pages_end)) {
usr/src/uts/common/vm/vm_page.c
5872
pp = seg->pages + (pfnum - seg->pages_base);
usr/src/uts/common/vm/vm_page.c
5875
return (seg);
usr/src/uts/common/vm/vm_page.c
5880
for (seg = memsegs; seg != NULL; seg = seg->next) {
usr/src/uts/common/vm/vm_page.c
5881
if (pfnum >= seg->pages_base && pfnum < seg->pages_end) {
usr/src/uts/common/vm/vm_page.c
5882
pp = seg->pages + (pfnum - seg->pages_base);
usr/src/uts/common/vm/vm_page.c
5885
return (seg);
usr/src/uts/common/vm/vm_page.c
5904
struct memseg *seg;
usr/src/uts/common/vm/vm_page.c
5924
if (((seg = vc->vc_pnext_memseg) == NULL) ||
usr/src/uts/common/vm/vm_page.c
5925
(seg->pages_base == seg->pages_end) ||
usr/src/uts/common/vm/vm_page.c
5926
!(pp >= seg->pages && pp < seg->epages)) {
usr/src/uts/common/vm/vm_page.c
5928
for (seg = memsegs; seg; seg = seg->next) {
usr/src/uts/common/vm/vm_page.c
5929
if (pp >= seg->pages && pp < seg->epages)
usr/src/uts/common/vm/vm_page.c
5933
if (seg == NULL) {
usr/src/uts/common/vm/vm_page.c
5936
seg = memsegs;
usr/src/uts/common/vm/vm_page.c
5937
pp = seg->pages;
usr/src/uts/common/vm/vm_page.c
5942
while ((ppn = (pp + n)) >= seg->epages || ppn < pp) {
usr/src/uts/common/vm/vm_page.c
5943
n -= seg->epages - pp;
usr/src/uts/common/vm/vm_page.c
5944
seg = seg->next;
usr/src/uts/common/vm/vm_page.c
5945
if (seg == NULL)
usr/src/uts/common/vm/vm_page.c
5946
seg = memsegs;
usr/src/uts/common/vm/vm_page.c
5947
pp = seg->pages;
usr/src/uts/common/vm/vm_page.c
5949
vc->vc_pnext_memseg = seg;
usr/src/uts/common/vm/vm_page.c
5977
struct memseg *seg = (struct memseg *)*cookie;
usr/src/uts/common/vm/vm_page.c
6001
if (new_pp >= seg->epages || seg->pages_base == seg->pages_end) {
usr/src/uts/common/vm/vm_page.c
6003
seg = seg->next;
usr/src/uts/common/vm/vm_page.c
6004
if (seg == NULL)
usr/src/uts/common/vm/vm_page.c
6005
seg = memsegs;
usr/src/uts/common/vm/vm_page.c
6006
} while (seg->pages_base == seg->pages_end);
usr/src/uts/common/vm/vm_page.c
6007
new_pp = seg->pages;
usr/src/uts/common/vm/vm_page.c
6008
*cookie = (void *)seg;
usr/src/uts/common/vm/vm_pagelist.c
3686
page_get_freelist(struct vnode *vp, u_offset_t off, struct seg *seg,
usr/src/uts/common/vm/vm_pagelist.c
3689
struct as *as = seg->s_as;
usr/src/uts/common/vm/vm_pagelist.c
3739
AS_2_BIN(as, seg, vp, vaddr, bin, szc);
usr/src/uts/common/vm/vm_pagelist.c
3837
page_get_cachelist(struct vnode *vp, u_offset_t off, struct seg *seg,
usr/src/uts/common/vm/vm_pagelist.c
3841
struct as *as = seg->s_as;
usr/src/uts/common/vm/vm_pagelist.c
3873
AS_2_BIN(as, seg, vp, vaddr, bin, 0);
usr/src/uts/common/vm/vm_pvn.c
1092
size_t, struct seg *, caddr_t, enum seg_rw, cred_t *),
usr/src/uts/common/vm/vm_pvn.c
1099
struct seg *seg,
usr/src/uts/common/vm/vm_pvn.c
1135
err = (*getpage)(vp, o, xlen, protp, ppp, sz, seg, addr,
usr/src/uts/common/vm/vm_pvn.c
142
if (isra && SEGOP_KLUSTER(seg, addr, 0))
usr/src/uts/common/vm/vm_pvn.c
146
PAGESIZE, PG_EXCL | PG_WAIT, seg, addr)) == NULL)
usr/src/uts/common/vm/vm_pvn.c
164
if (SEGOP_KLUSTER(seg, addr, -deltab))
usr/src/uts/common/vm/vm_pvn.c
167
PAGESIZE, PG_EXCL, seg, addr - deltab))
usr/src/uts/common/vm/vm_pvn.c
184
if (SEGOP_KLUSTER(seg, addr, deltaf))
usr/src/uts/common/vm/vm_pvn.c
187
PAGESIZE, PG_EXCL, seg, addr + deltaf))
usr/src/uts/common/vm/vm_pvn.c
219
seg, addr, isra);
usr/src/uts/common/vm/vm_pvn.c
93
struct seg *seg,
usr/src/uts/common/vm/vm_seg.c
1269
seg_ppurge(struct seg *seg, struct anon_map *amp, uint_t flags)
usr/src/uts/common/vm/vm_seg.c
1286
htag0 = (amp == NULL ? (void *)seg : (void *)amp);
usr/src/uts/common/vm/vm_seg.c
1289
hp = P_HASHBP(seg, htag0, 0, flags);
usr/src/uts/common/vm/vm_seg.c
1313
ASSERT(seg != NULL);
usr/src/uts/common/vm/vm_seg.c
1314
pheadp = &seg->s_phead;
usr/src/uts/common/vm/vm_seg.c
1315
pmtx = &seg->s_pmtx;
usr/src/uts/common/vm/vm_seg.c
1565
seg_cache = kmem_cache_create("seg_cache", sizeof (struct seg),
usr/src/uts/common/vm/vm_seg.c
1582
struct seg *
usr/src/uts/common/vm/vm_seg.c
1585
struct seg *new;
usr/src/uts/common/vm/vm_seg.c
1594
return ((struct seg *)NULL); /* bad virtual addr range */
usr/src/uts/common/vm/vm_seg.c
1599
return ((struct seg *)NULL); /* bad virtual addr range */
usr/src/uts/common/vm/vm_seg.c
1611
return ((struct seg *)NULL);
usr/src/uts/common/vm/vm_seg.c
1622
seg_attach(struct as *as, caddr_t base, size_t size, struct seg *seg)
usr/src/uts/common/vm/vm_seg.c
1624
seg->s_as = as;
usr/src/uts/common/vm/vm_seg.c
1625
seg->s_base = base;
usr/src/uts/common/vm/vm_seg.c
1626
seg->s_size = size;
usr/src/uts/common/vm/vm_seg.c
1633
return (as_addseg(as, seg));
usr/src/uts/common/vm/vm_seg.c
1646
seg_unmap(struct seg *seg)
usr/src/uts/common/vm/vm_seg.c
1652
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/common/vm/vm_seg.c
1655
ASSERT(seg->s_data != NULL);
usr/src/uts/common/vm/vm_seg.c
1659
ret = SEGOP_UNMAP(seg, seg->s_base, seg->s_size);
usr/src/uts/common/vm/vm_seg.c
1662
SEGOP_UNMAP(seg, seg->s_base, seg->s_size);
usr/src/uts/common/vm/vm_seg.c
1676
seg_free(struct seg *seg)
usr/src/uts/common/vm/vm_seg.c
1678
register struct as *as = seg->s_as;
usr/src/uts/common/vm/vm_seg.c
1679
struct seg *tseg = as_removeseg(as, seg);
usr/src/uts/common/vm/vm_seg.c
1681
ASSERT(tseg == seg);
usr/src/uts/common/vm/vm_seg.c
1687
if (seg->s_data != NULL)
usr/src/uts/common/vm/vm_seg.c
1688
SEGOP_FREE(seg);
usr/src/uts/common/vm/vm_seg.c
1690
mutex_destroy(&seg->s_pmtx);
usr/src/uts/common/vm/vm_seg.c
1691
ASSERT(seg->s_phead.p_lnext == &seg->s_phead);
usr/src/uts/common/vm/vm_seg.c
1692
ASSERT(seg->s_phead.p_lprev == &seg->s_phead);
usr/src/uts/common/vm/vm_seg.c
1693
kmem_cache_free(seg_cache, seg);
usr/src/uts/common/vm/vm_seg.c
1822
seg_can_change_zones(struct seg *seg)
usr/src/uts/common/vm/vm_seg.c
1826
if (seg->s_ops == &segspt_shmops)
usr/src/uts/common/vm/vm_seg.c
1829
if (seg->s_ops == &segvn_ops) {
usr/src/uts/common/vm/vm_seg.c
1830
svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/vm_seg.c
1843
seg_swresv(struct seg *seg)
usr/src/uts/common/vm/vm_seg.c
1848
if (seg->s_ops == &segvn_ops) {
usr/src/uts/common/vm/vm_seg.c
1849
svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/vm_seg.c
1861
seg_inherit_notsup(struct seg *seg, caddr_t addr, size_t len, uint_t op)
usr/src/uts/common/vm/vm_seg.c
221
#define P_HASHBP(seg, htag0, addr, flags) \
usr/src/uts/common/vm/vm_seg.c
228
(flags >> 16) : page_get_shift((seg)->s_szc))))]))
usr/src/uts/common/vm/vm_seg.c
463
seg_plookup(struct seg *seg, struct anon_map *amp, caddr_t addr, size_t len,
usr/src/uts/common/vm/vm_seg.c
470
ASSERT(seg != NULL);
usr/src/uts/common/vm/vm_seg.c
482
htag0 = (amp == NULL ? (void *)seg : (void *)amp);
usr/src/uts/common/vm/vm_seg.c
483
hp = P_HASHBP(seg, htag0, addr, flags);
usr/src/uts/common/vm/vm_seg.c
524
seg_pinactive(struct seg *seg, struct anon_map *amp, caddr_t addr,
usr/src/uts/common/vm/vm_seg.c
536
ASSERT(seg != NULL);
usr/src/uts/common/vm/vm_seg.c
539
htag0 = (amp == NULL ? (void *)seg : (void *)amp);
usr/src/uts/common/vm/vm_seg.c
554
pheadp = &seg->s_phead;
usr/src/uts/common/vm/vm_seg.c
555
pmtx = &seg->s_pmtx;
usr/src/uts/common/vm/vm_seg.c
563
hp = P_HASHBP(seg, htag0, addr, flags);
usr/src/uts/common/vm/vm_seg.c
689
pheadp = &seg->s_phead;
usr/src/uts/common/vm/vm_seg.c
690
pmtx = &seg->s_pmtx;
usr/src/uts/common/vm/vm_seg.c
739
seg_pinsert_check(struct seg *seg, struct anon_map *amp, caddr_t addr,
usr/src/uts/common/vm/vm_seg.c
742
ASSERT(seg != NULL);
usr/src/uts/common/vm/vm_seg.c
800
seg_pinsert(struct seg *seg, struct anon_map *amp, caddr_t addr, size_t len,
usr/src/uts/common/vm/vm_seg.c
811
ASSERT(seg != NULL);
usr/src/uts/common/vm/vm_seg.c
846
pcp->p_htag0 = (void *)seg;
usr/src/uts/common/vm/vm_seg.c
860
hp = P_HASHBP(seg, pcp->p_htag0, addr, flags);
usr/src/uts/common/vm/vm_seg.c
865
pheadp = &seg->s_phead;
usr/src/uts/common/vm/vm_seg.c
866
pmtx = &seg->s_pmtx;
usr/src/uts/common/vm/vm_seg.c
867
htag0 = (void *)seg;
usr/src/uts/common/vm/vm_usage.c
1084
vmu_calculate_seg(vmu_entity_t *vmu_entities, struct seg *seg)
usr/src/uts/common/vm/vm_usage.c
1110
if (seg->s_size <= 0)
usr/src/uts/common/vm/vm_usage.c
1118
if (seg->s_ops == &segvn_ops) {
usr/src/uts/common/vm/vm_usage.c
1119
svd = (struct segvn_data *)seg->s_data;
usr/src/uts/common/vm/vm_usage.c
1125
if (SEGVN_LOCK_TRYENTER(seg->s_as, &svd->lock,
usr/src/uts/common/vm/vm_usage.c
1140
btop(seg->s_size) - 1;
usr/src/uts/common/vm/vm_usage.c
1142
SEGVN_LOCK_EXIT(seg->s_as, &svd->lock);
usr/src/uts/common/vm/vm_usage.c
1151
s_end = btop(svd->offset + seg->s_size) - 1;
usr/src/uts/common/vm/vm_usage.c
1159
s_end = svd->anon_index + btop(seg->s_size) - 1;
usr/src/uts/common/vm/vm_usage.c
1164
} else if (seg->s_ops == &segspt_shmops) {
usr/src/uts/common/vm/vm_usage.c
1166
shmd = (struct shm_data *)seg->s_data;
usr/src/uts/common/vm/vm_usage.c
1171
s_end = btop(seg->s_size) - 1;
usr/src/uts/common/vm/vm_usage.c
1456
struct seg *seg;
usr/src/uts/common/vm/vm_usage.c
1539
for (seg = AS_SEGFIRST(as); seg != NULL;
usr/src/uts/common/vm/vm_usage.c
1540
seg = AS_SEGNEXT(as, seg)) {
usr/src/uts/common/vm/vm_usage.c
1541
vmu_calculate_seg(entities, seg);
usr/src/uts/common/xen/io/blk_common.c
1000
req->seg[i].last_sect);
usr/src/uts/common/xen/io/blk_common.c
930
dst->seg[i] = src->seg[i];
usr/src/uts/common/xen/io/blk_common.c
949
dst->seg[i] = src->seg[i];
usr/src/uts/common/xen/io/blk_common.c
999
"last sec=%d", req->seg[i].gref, req->seg[i].first_sect,
usr/src/uts/common/xen/io/blkif_impl.h
42
struct blkif_request_segment seg[BLKIF_MAX_SEGMENTS_PER_REQUEST];
usr/src/uts/common/xen/io/blkif_impl.h
66
struct blkif_request_segment seg[BLKIF_MAX_SEGMENTS_PER_REQUEST];
usr/src/uts/common/xen/io/xdb.c
152
"last sec=%d", req->seg[i].gref, req->seg[i].first_sect,
usr/src/uts/common/xen/io/xdb.c
153
req->seg[i].last_sect));
usr/src/uts/common/xen/io/xdb.c
1961
dst->seg[i] = src->seg[i];
usr/src/uts/common/xen/io/xdb.c
1976
dst->seg[i] = src->seg[i];
usr/src/uts/common/xen/io/xdb.c
291
mapops[i].ref = ddi_get32(acchdl, &req->seg[i].gref);
usr/src/uts/common/xen/io/xdb.c
296
fs = ddi_get8(acchdl, &req->seg[i].first_sect);
usr/src/uts/common/xen/io/xdb.c
297
ls = ddi_get8(acchdl, &req->seg[i].last_sect);
usr/src/uts/common/xen/io/xdf.c
1255
int seg = 0;
usr/src/uts/common/xen/io/xdf.c
1315
ddi_put32(acchdl, &rreq->seg[seg].gref, gr);
usr/src/uts/common/xen/io/xdf.c
1316
ddi_put8(acchdl, &rreq->seg[seg].first_sect, fsect);
usr/src/uts/common/xen/io/xdf.c
1317
ddi_put8(acchdl, &rreq->seg[seg].last_sect, lsect);
usr/src/uts/common/xen/io/xdf.c
1321
vdp->xdf_addr, seg, vreq->v_dmac.dmac_size, blk_off));
usr/src/uts/common/xen/io/xdf.c
1324
vdp->xdf_addr, seg, fsect, lsect, gr, dma_addr));
usr/src/uts/common/xen/io/xdf.c
1327
seg++;
usr/src/uts/common/xen/io/xdf.c
1328
ASSERT(seg <= BLKIF_MAX_SEGMENTS_PER_REQUEST);
usr/src/uts/common/xen/io/xdf.c
1338
ddi_put8(acchdl, &rreq->nr_segments, seg);
usr/src/uts/common/xen/io/xpvtap.c
1186
struct seg *seg;
usr/src/uts/common/xen/io/xpvtap.c
1228
seg = as_findseg(as, state->bt_map.um_guest_pages, 0);
usr/src/uts/common/xen/io/xpvtap.c
1229
if ((seg == NULL) || ((uaddr + mmu_ptob(req->nr_segments)) >
usr/src/uts/common/xen/io/xpvtap.c
1230
(seg->s_base + seg->s_size))) {
usr/src/uts/common/xen/io/xpvtap.c
1243
gref[i] = req->seg[i].gref;
usr/src/uts/common/xen/io/xpvtap.c
1245
(void) segmf_add_grefs(seg, uaddr, flags, gref, req->nr_segments,
usr/src/uts/common/xen/io/xpvtap.c
1294
struct seg *seg;
usr/src/uts/common/xen/io/xpvtap.c
1314
seg = as_findseg(as, state->bt_map.um_guest_pages, 0);
usr/src/uts/common/xen/io/xpvtap.c
1315
if ((seg == NULL) || ((uaddr + mmu_ptob(req->nr_segments)) >
usr/src/uts/common/xen/io/xpvtap.c
1316
(seg->s_base + seg->s_size))) {
usr/src/uts/common/xen/io/xpvtap.c
1322
e = segmf_release_grefs(seg, uaddr, req->nr_segments);
usr/src/uts/common/xen/io/xpvtap.c
774
struct seg *seg;
usr/src/uts/common/xen/io/xpvtap.c
792
seg = as_findseg(as, state->bt_map.um_guest_pages, 0);
usr/src/uts/common/xen/io/xpvtap.c
793
if ((seg == NULL) || ((uaddr + state->bt_map.um_guest_size) >
usr/src/uts/common/xen/io/xpvtap.c
794
(seg->s_base + seg->s_size))) {
usr/src/uts/common/xen/io/xpvtap.c
810
segmf_add_gref_pte(seg, uaddr, pte_ma);
usr/src/uts/common/xen/public/io/blkif.h
107
struct blkif_request_segment seg[BLKIF_MAX_SEGMENTS_PER_REQUEST];
usr/src/uts/i86pc/io/immu.c
800
immu_state_alloc(int seg, void *dmar_unit)
usr/src/uts/i86pc/io/immu.c
806
dmar_unit = immu_dmar_walk_units(seg, dmar_unit);
usr/src/uts/i86pc/io/immu.c
896
int seg;
usr/src/uts/i86pc/io/immu.c
908
for (seg = 0; seg < IMMU_MAXSEG; seg++) {
usr/src/uts/i86pc/io/immu.c
909
while (unit_hdl = immu_state_alloc(seg, unit_hdl)) {
usr/src/uts/i86pc/io/immu_dmar.c
1063
int seg;
usr/src/uts/i86pc/io/immu_dmar.c
1080
for (seg = 0; seg < IMMU_MAXSEG; seg++) {
usr/src/uts/i86pc/io/immu_dmar.c
1081
drhd = list_head(&(tbl->tbl_drhd_list)[seg]);
usr/src/uts/i86pc/io/immu_dmar.c
1082
for (; drhd; drhd = list_next(&(tbl->tbl_drhd_list)[seg],
usr/src/uts/i86pc/io/immu_dmar.c
1104
imarg.ima_seg = seg;
usr/src/uts/i86pc/io/immu_dmar.c
1137
for (seg = 0; seg < IMMU_MAXSEG; seg++) {
usr/src/uts/i86pc/io/immu_dmar.c
1138
drhd = list_head(&(tbl->tbl_drhd_list)[seg]);
usr/src/uts/i86pc/io/immu_dmar.c
1139
for (; drhd; drhd = list_next(&(tbl->tbl_drhd_list)[seg],
usr/src/uts/i86pc/io/immu_dmar.c
1158
imarg.ima_seg = seg;
usr/src/uts/i86pc/io/immu_dmar.c
1190
for (seg = 0; seg < IMMU_MAXSEG; seg++) {
usr/src/uts/i86pc/io/immu_dmar.c
1191
drhd = list_head(&(tbl->tbl_drhd_list[seg]));
usr/src/uts/i86pc/io/immu_dmar.c
1192
for (; drhd; drhd = list_next(&(tbl->tbl_drhd_list)[seg],
usr/src/uts/i86pc/io/immu_dmar.c
1229
immu_dmar_walk_units(int seg, void *dmar_unit)
usr/src/uts/i86pc/io/immu_dmar.c
1234
drhd_list = &(dmar_table->tbl_drhd_list[seg]);
usr/src/uts/i86pc/io/immu_dmar.c
293
int seg;
usr/src/uts/i86pc/io/immu_dmar.c
302
seg = get_uint16(&uhead[6]);
usr/src/uts/i86pc/io/immu_dmar.c
303
if (seg < 0 || seg >= IMMU_MAXSEG) {
usr/src/uts/i86pc/io/immu_dmar.c
305
"in DRHD unit in ACPI DMAR table", seg);
usr/src/uts/i86pc/io/immu_dmar.c
317
drhd->dr_seg = seg;
usr/src/uts/i86pc/io/immu_dmar.c
351
int seg;
usr/src/uts/i86pc/io/immu_dmar.c
360
seg = get_uint16(&uhead[6]);
usr/src/uts/i86pc/io/immu_dmar.c
361
if (seg < 0 || seg >= IMMU_MAXSEG) {
usr/src/uts/i86pc/io/immu_dmar.c
363
"in RMRR unit in ACPI DMAR table", seg);
usr/src/uts/i86pc/io/immu_dmar.c
956
int seg;
usr/src/uts/i86pc/io/immu_dmar.c
971
for (seg = 0; seg < IMMU_MAXSEG; seg++) {
usr/src/uts/i86pc/io/immu_dmar.c
972
rmrr = list_head(&(tbl->tbl_rmrr_list)[seg]);
usr/src/uts/i86pc/io/immu_dmar.c
973
for (; rmrr; rmrr = list_next(&(tbl->tbl_rmrr_list)[seg],
usr/src/uts/i86pc/io/immu_dmar.c
989
imarg.ima_seg = seg;
usr/src/uts/i86pc/io/immu_dvma.c
191
int16_t seg = immu_devi->imd_seg;
usr/src/uts/i86pc/io/immu_dvma.c
194
uintptr_t bdf = (seg << 16 | bus << 8 | devfunc);
usr/src/uts/i86pc/io/immu_dvma.c
196
if (seg < 0 || bus < 0 || devfunc < 0) {
usr/src/uts/i86pc/io/immu_dvma.c
214
int16_t seg = immu_devi->imd_seg;
usr/src/uts/i86pc/io/immu_dvma.c
217
uintptr_t bdf = (seg << 16 | bus << 8 | devfunc);
usr/src/uts/i86pc/io/immu_dvma.c
219
if (seg < 0 || bus < 0 || devfunc < 0) {
usr/src/uts/i86pc/io/rootnex.c
1004
ASSERT(AS_READ_HELD(seg->s_as));
usr/src/uts/i86pc/io/rootnex.c
1005
hat = seg->s_as->a_hat;
usr/src/uts/i86pc/io/rootnex.c
1010
} else if (seg == &kvseg && dp == NULL) {
usr/src/uts/i86pc/io/rootnex.c
1710
uint64_t seg;
usr/src/uts/i86pc/io/rootnex.c
1786
seg = attr->dma_attr_seg + 1;
usr/src/uts/i86pc/io/rootnex.c
1787
if (seg < attr->dma_attr_seg) {
usr/src/uts/i86pc/io/rootnex.c
1788
seg = attr->dma_attr_seg;
usr/src/uts/i86pc/io/rootnex.c
1824
maxsegmentsize_ll = MIN(seg, dma->dp_maxxfer);
usr/src/uts/i86pc/io/rootnex.c
188
struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/i86pc/io/rootnex.c
975
struct seg *seg, caddr_t addr, struct devpage *dp, pfn_t pfn, uint_t prot,
usr/src/uts/i86pc/io/rootnex.c
982
seg->s_ops == &segdev_ops ? "segdev" :
usr/src/uts/i86pc/io/rootnex.c
983
seg == &kvseg ? "segkmem" : "NONE!");
usr/src/uts/i86pc/io/rootnex.c
993
if (seg->s_ops == &segdev_ops) {
usr/src/uts/i86pc/io/rootnex.c
994
struct segdev_data *sdp = (struct segdev_data *)seg->s_data;
usr/src/uts/i86pc/os/pmem.c
100
static struct seg pmem_seg;
usr/src/uts/i86pc/os/pmem.c
526
bzero(&pmem_seg, sizeof (struct seg));
usr/src/uts/i86pc/os/startup.c
290
struct seg ktextseg; /* Segment used for kernel executable image */
usr/src/uts/i86pc/os/startup.c
291
struct seg kvalloc; /* Segment used for "valloc" mapping */
usr/src/uts/i86pc/os/startup.c
292
struct seg kpseg; /* Segment used for pageable kernel virt mem */
usr/src/uts/i86pc/os/startup.c
293
struct seg kmapseg; /* Segment used for generic kernel mappings */
usr/src/uts/i86pc/os/startup.c
294
struct seg kdebugseg; /* Segment used for the kernel debugger */
usr/src/uts/i86pc/os/startup.c
296
struct seg *segkmap = &kmapseg; /* Kernel generic mapping segment */
usr/src/uts/i86pc/os/startup.c
297
static struct seg *segmap = &kmapseg; /* easier to use name for in here */
usr/src/uts/i86pc/os/startup.c
299
struct seg *segkp = &kpseg; /* Pageable kernel virtual memory segment */
usr/src/uts/i86pc/os/startup.c
301
extern struct seg kvseg_core; /* Segment used for the core heap */
usr/src/uts/i86pc/os/startup.c
302
struct seg kpmseg; /* Segment used for physical mapping */
usr/src/uts/i86pc/os/startup.c
303
struct seg *segkpm = &kpmseg; /* 64bit kernel physical mapping segment */
usr/src/uts/i86pc/sys/immu.h
870
void *immu_dmar_walk_units(int seg, void *dmar_unit);
usr/src/uts/i86pc/vm/hat_i86.c
3367
struct seg *seg;
usr/src/uts/i86pc/vm/hat_i86.c
3371
seg = as_findseg(hat->hat_as, va, 0);
usr/src/uts/i86pc/vm/hat_i86.c
3372
ASSERT(seg != NULL);
usr/src/uts/i86pc/vm/hat_i86.c
3373
ASSERT(seg->s_base <= va);
usr/src/uts/i86pc/vm/hat_i86.c
3374
shmd = (struct shm_data *)seg->s_data;
usr/src/uts/i86pc/vm/vm_dep.h
441
#define AS_2_BIN(as, seg, vp, addr, bin, szc) \
usr/src/uts/i86pc/vm/vm_machdep.c
3398
AS_2_BIN(as, seg, vp, vaddr, bin, 0);
usr/src/uts/i86pc/vm/vm_machdep.c
4036
static struct seg tmpseg;
usr/src/uts/i86xpv/io/privcmd.c
135
struct seg *seg;
usr/src/uts/i86xpv/io/privcmd.c
173
if ((seg = as_findseg(as, addr, 0)) == NULL ||
usr/src/uts/i86xpv/io/privcmd.c
174
addr + mmu_ptob(mme->npages) > seg->s_base + seg->s_size)
usr/src/uts/i86xpv/io/privcmd.c
177
error = segmf_add_mfns(seg, addr,
usr/src/uts/i86xpv/io/privcmd.c
210
struct seg *seg;
usr/src/uts/i86xpv/io/privcmd.c
223
if ((seg = as_findseg(as, addr, 0)) == NULL ||
usr/src/uts/i86xpv/io/privcmd.c
224
addr + ptob(mmb->num) > seg->s_base + seg->s_size) {
usr/src/uts/i86xpv/io/privcmd.c
248
if (segmf_add_mfns(seg, addr, mfn, 1, mmb->dom) == 0)
usr/src/uts/i86xpv/io/privcmd.c
265
DTRACE_XPV3(mmapbatch__end, int, error, struct seg *, seg, caddr_t,
usr/src/uts/i86xpv/vm/seg_mf.c
105
static int segmf_fault_gref_range(struct seg *seg, caddr_t addr, size_t len);
usr/src/uts/i86xpv/vm/seg_mf.c
108
segmf_data_zalloc(struct seg *seg)
usr/src/uts/i86xpv/vm/seg_mf.c
113
seg->s_ops = &segmf_ops;
usr/src/uts/i86xpv/vm/seg_mf.c
114
seg->s_data = data;
usr/src/uts/i86xpv/vm/seg_mf.c
119
segmf_create(struct seg **segpp, void *args)
usr/src/uts/i86xpv/vm/seg_mf.c
121
struct seg *seg = *segpp;
usr/src/uts/i86xpv/vm/seg_mf.c
124
struct as *as = seg->s_as;
usr/src/uts/i86xpv/vm/seg_mf.c
125
pgcnt_t i, npages = seg_pages(seg);
usr/src/uts/i86xpv/vm/seg_mf.c
128
hat_map(as->a_hat, seg->s_base, seg->s_size, HAT_MAP);
usr/src/uts/i86xpv/vm/seg_mf.c
130
data = segmf_data_zalloc(seg);
usr/src/uts/i86xpv/vm/seg_mf.c
140
error = VOP_ADDMAP(VTOCVP(data->vp), 0, as, seg->s_base, seg->s_size,
usr/src/uts/i86xpv/vm/seg_mf.c
145
seg->s_base, seg->s_size, HAT_UNLOAD_UNMAP);
usr/src/uts/i86xpv/vm/seg_mf.c
153
segmf_dup(struct seg *seg, struct seg *newseg)
usr/src/uts/i86xpv/vm/seg_mf.c
155
struct segmf_data *data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
182
segmf_unmap(struct seg *seg, caddr_t addr, size_t len)
usr/src/uts/i86xpv/vm/seg_mf.c
184
struct segmf_data *data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
187
if (addr < seg->s_base || addr + len > seg->s_base + seg->s_size ||
usr/src/uts/i86xpv/vm/seg_mf.c
191
if (addr != seg->s_base || len != seg->s_size)
usr/src/uts/i86xpv/vm/seg_mf.c
194
hat_unload(seg->s_as->a_hat, addr, len,
usr/src/uts/i86xpv/vm/seg_mf.c
197
off = (offset_t)seg_page(seg, addr);
usr/src/uts/i86xpv/vm/seg_mf.c
201
(void) VOP_DELMAP(VTOCVP(data->vp), off, seg->s_as, addr, len,
usr/src/uts/i86xpv/vm/seg_mf.c
204
seg_free(seg);
usr/src/uts/i86xpv/vm/seg_mf.c
209
segmf_free(struct seg *seg)
usr/src/uts/i86xpv/vm/seg_mf.c
211
struct segmf_data *data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
212
pgcnt_t npages = seg_pages(seg);
usr/src/uts/i86xpv/vm/seg_mf.c
223
segmf_faultpage(struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/i86xpv/vm/seg_mf.c
226
struct segmf_data *data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
234
idx = seg_page(seg, addr);
usr/src/uts/i86xpv/vm/seg_mf.c
302
segmf_softunlock(struct hat *hat, struct seg *seg, caddr_t addr, size_t len)
usr/src/uts/i86xpv/vm/seg_mf.c
304
struct segmf_data *data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
314
struct as *as = seg->s_as;
usr/src/uts/i86xpv/vm/seg_mf.c
328
segmf_fault_range(struct hat *hat, struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/i86xpv/vm/seg_mf.c
331
struct segmf_data *data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
341
error = segmf_faultpage(hat, seg, a, type, data->prot);
usr/src/uts/i86xpv/vm/seg_mf.c
353
segmf_softunlock(hat, seg, addr, done);
usr/src/uts/i86xpv/vm/seg_mf.c
364
segmf_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/i86xpv/vm/seg_mf.c
372
segmf_faulta(struct seg *seg, caddr_t addr)
usr/src/uts/i86xpv/vm/seg_mf.c
379
segmf_setprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/i86xpv/vm/seg_mf.c
386
segmf_checkprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/i86xpv/vm/seg_mf.c
393
segmf_kluster(struct seg *seg, caddr_t addr, ssize_t delta)
usr/src/uts/i86xpv/vm/seg_mf.c
400
segmf_sync(struct seg *seg, caddr_t addr, size_t len, int attr, uint_t flags)
usr/src/uts/i86xpv/vm/seg_mf.c
411
segmf_incore(struct seg *seg, caddr_t addr, size_t len, char *vec)
usr/src/uts/i86xpv/vm/seg_mf.c
423
segmf_lockop(struct seg *seg, caddr_t addr,
usr/src/uts/i86xpv/vm/seg_mf.c
430
segmf_getprot(struct seg *seg, caddr_t addr, size_t len, uint_t *protv)
usr/src/uts/i86xpv/vm/seg_mf.c
432
struct segmf_data *data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
433
pgcnt_t pgno = seg_page(seg, addr + len) - seg_page(seg, addr) + 1;
usr/src/uts/i86xpv/vm/seg_mf.c
445
segmf_getoffset(struct seg *seg, caddr_t addr)
usr/src/uts/i86xpv/vm/seg_mf.c
447
return (addr - seg->s_base);
usr/src/uts/i86xpv/vm/seg_mf.c
452
segmf_gettype(struct seg *seg, caddr_t addr)
usr/src/uts/i86xpv/vm/seg_mf.c
459
segmf_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp)
usr/src/uts/i86xpv/vm/seg_mf.c
461
struct segmf_data *data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
469
segmf_advise(struct seg *seg, caddr_t addr, size_t len, uint_t behav)
usr/src/uts/i86xpv/vm/seg_mf.c
476
segmf_dump(struct seg *seg)
usr/src/uts/i86xpv/vm/seg_mf.c
481
segmf_pagelock(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/i86xpv/vm/seg_mf.c
489
segmf_setpagesize(struct seg *seg, caddr_t addr, size_t len, uint_t szc)
usr/src/uts/i86xpv/vm/seg_mf.c
495
segmf_getmemid(struct seg *seg, caddr_t addr, memid_t *memid)
usr/src/uts/i86xpv/vm/seg_mf.c
497
struct segmf_data *data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
500
memid->val[1] = (uintptr_t)seg_page(seg, addr);
usr/src/uts/i86xpv/vm/seg_mf.c
506
segmf_getpolicy(struct seg *seg, caddr_t addr)
usr/src/uts/i86xpv/vm/seg_mf.c
513
segmf_capable(struct seg *seg, segcapability_t capability)
usr/src/uts/i86xpv/vm/seg_mf.c
526
segmf_add_mfns(struct seg *seg, caddr_t addr, mfn_t mfn,
usr/src/uts/i86xpv/vm/seg_mf.c
529
struct segmf_data *data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
535
if (seg->s_ops != &segmf_ops)
usr/src/uts/i86xpv/vm/seg_mf.c
559
base = seg_page(seg, addr);
usr/src/uts/i86xpv/vm/seg_mf.c
566
fc = segmf_fault_range(seg->s_as->a_hat, seg, addr,
usr/src/uts/i86xpv/vm/seg_mf.c
582
segmf_add_grefs(struct seg *seg, caddr_t addr, uint_t flags,
usr/src/uts/i86xpv/vm/seg_mf.c
592
if (seg->s_ops != &segmf_ops)
usr/src/uts/i86xpv/vm/seg_mf.c
606
data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
607
idx = seg_page(seg, addr);
usr/src/uts/i86xpv/vm/seg_mf.c
631
fc = segmf_fault_gref_range(seg, addr, cnt);
usr/src/uts/i86xpv/vm/seg_mf.c
645
segmf_release_grefs(struct seg *seg, caddr_t addr, uint_t cnt)
usr/src/uts/i86xpv/vm/seg_mf.c
660
idx = seg_page(seg, addr);
usr/src/uts/i86xpv/vm/seg_mf.c
661
data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
698
segmf_add_gref_pte(struct seg *seg, caddr_t addr, uint64_t pte_ma)
usr/src/uts/i86xpv/vm/seg_mf.c
703
idx = seg_page(seg, addr);
usr/src/uts/i86xpv/vm/seg_mf.c
704
data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
711
segmf_fault_gref_range(struct seg *seg, caddr_t addr, size_t cnt)
usr/src/uts/i86xpv/vm/seg_mf.c
725
data = seg->s_data;
usr/src/uts/i86xpv/vm/seg_mf.c
726
idx = seg_page(seg, addr);
usr/src/uts/i86xpv/vm/seg_mf.c
771
(size_t (*)(struct seg *))NULL, /* swapout */
usr/src/uts/i86xpv/vm/seg_mf.h
46
extern int segmf_create(struct seg **, void *);
usr/src/uts/i86xpv/vm/seg_mf.h
48
extern int segmf_add_mfns(struct seg *, caddr_t, mfn_t, pgcnt_t, domid_t);
usr/src/uts/i86xpv/vm/seg_mf.h
56
extern int segmf_add_grefs(struct seg *, caddr_t, uint_t, grant_ref_t *,
usr/src/uts/i86xpv/vm/seg_mf.h
58
extern int segmf_release_grefs(struct seg *, caddr_t, uint_t);
usr/src/uts/i86xpv/vm/seg_mf.h
59
extern void segmf_add_gref_pte(struct seg *, caddr_t, uint64_t);
usr/src/uts/intel/dtrace/fasttrap_isa.c
225
uint8_t seg, rex = 0;
usr/src/uts/intel/dtrace/fasttrap_isa.c
271
seg = 0;
usr/src/uts/intel/dtrace/fasttrap_isa.c
274
seg++;
usr/src/uts/intel/dtrace/fasttrap_isa.c
277
seg++;
usr/src/uts/intel/dtrace/fasttrap_isa.c
280
seg++;
usr/src/uts/intel/dtrace/fasttrap_isa.c
283
seg++;
usr/src/uts/intel/dtrace/fasttrap_isa.c
286
seg++;
usr/src/uts/intel/dtrace/fasttrap_isa.c
289
seg++;
usr/src/uts/intel/dtrace/fasttrap_isa.c
296
if (seg != 0) {
usr/src/uts/intel/dtrace/fasttrap_isa.c
305
tp->ftt_segment = seg;
usr/src/uts/intel/io/vmm/amd/svm.c
2119
struct vmcb_segment *seg;
usr/src/uts/intel/io/vmm/amd/svm.c
2160
seg = vmcb_segptr(vmcb, ident);
usr/src/uts/intel/io/vmm/amd/svm.c
2161
*val = seg->selector;
usr/src/uts/intel/io/vmm/amd/svm.c
2201
struct vmcb_segment *seg;
usr/src/uts/intel/io/vmm/amd/svm.c
2250
seg = vmcb_segptr(vmcb, ident);
usr/src/uts/intel/io/vmm/amd/svm.c
2251
seg->selector = (uint16_t)val;
usr/src/uts/intel/io/vmm/amd/svm.c
2292
struct vmcb_segment *seg;
usr/src/uts/intel/io/vmm/amd/svm.c
2307
seg = vmcb_segptr(vmcb, reg);
usr/src/uts/intel/io/vmm/amd/svm.c
2314
seg->attrib = VMCB_ACCESS2ATTR(desc->access);
usr/src/uts/intel/io/vmm/amd/svm.c
2316
seg->attrib &= ~0x80;
usr/src/uts/intel/io/vmm/amd/svm.c
2334
seg = vmcb_segptr(vmcb, reg);
usr/src/uts/intel/io/vmm/amd/svm.c
2341
ASSERT(seg != NULL);
usr/src/uts/intel/io/vmm/amd/svm.c
2342
seg->base = desc->base;
usr/src/uts/intel/io/vmm/amd/svm.c
2343
seg->limit = desc->limit;
usr/src/uts/intel/io/vmm/amd/svm.c
2353
struct vmcb_segment *seg;
usr/src/uts/intel/io/vmm/amd/svm.c
2365
seg = vmcb_segptr(vmcb, reg);
usr/src/uts/intel/io/vmm/amd/svm.c
2366
desc->access = VMCB_ATTR2ACCESS(seg->attrib);
usr/src/uts/intel/io/vmm/amd/svm.c
2398
seg = vmcb_segptr(vmcb, reg);
usr/src/uts/intel/io/vmm/amd/svm.c
2399
desc->access = VMCB_ATTR2ACCESS(seg->attrib);
usr/src/uts/intel/io/vmm/amd/svm.c
2404
seg = vmcb_segptr(vmcb, reg);
usr/src/uts/intel/io/vmm/amd/svm.c
2417
ASSERT(seg != NULL);
usr/src/uts/intel/io/vmm/amd/svm.c
2418
desc->base = seg->base;
usr/src/uts/intel/io/vmm/amd/svm.c
2419
desc->limit = seg->limit;
usr/src/uts/intel/io/vmm/amd/svm.c
507
struct vmcb_segment *seg;
usr/src/uts/intel/io/vmm/amd/svm.c
513
seg = vmcb_segptr(vmcb, VM_REG_GUEST_CS);
usr/src/uts/intel/io/vmm/amd/svm.c
514
if (seg->attrib & VMCB_CS_ATTRIB_L)
usr/src/uts/intel/io/vmm/amd/svm.c
677
struct vmcb_segment *seg;
usr/src/uts/intel/io/vmm/amd/svm.c
691
seg = vmcb_segptr(vmcb, VM_REG_GUEST_CS);
usr/src/uts/intel/io/vmm/amd/svm.c
692
vmexit->u.mmio_emul.cs_base = seg->base;
usr/src/uts/intel/io/vmm/amd/svm.c
697
seg = vmcb_segptr(vmcb, VM_REG_GUEST_CS);
usr/src/uts/intel/io/vmm/amd/svm.c
698
vmexit->u.mmio_emul.cs_base = seg->base;
usr/src/uts/intel/io/vmm/amd/svm.c
703
vmexit->u.mmio_emul.cs_d = (seg->attrib & VMCB_CS_ATTRIB_D) ?
usr/src/uts/intel/io/vmm/intel/vmcs.c
110
vmcs_seg_desc_encoding(int seg, uint32_t *base, uint32_t *lim, uint32_t *acc)
usr/src/uts/intel/io/vmm/intel/vmcs.c
112
switch (seg) {
usr/src/uts/intel/io/vmm/intel/vmcs.c
164
panic("invalid segment register %d", seg);
usr/src/uts/intel/io/vmm/intel/vmcs.h
59
void vmcs_seg_desc_encoding(int seg, uint32_t *base, uint32_t *lim,
usr/src/uts/intel/io/vmm/intel/vmx.c
3220
vmx_getdesc(void *arg, int vcpu, int seg, struct seg_desc *desc)
usr/src/uts/intel/io/vmm/intel/vmx.c
3227
vmcs_seg_desc_encoding(seg, &base, &limit, &access);
usr/src/uts/intel/io/vmm/intel/vmx.c
3243
vmx_setdesc(void *arg, int vcpu, int seg, const struct seg_desc *desc)
usr/src/uts/intel/io/vmm/intel/vmx.c
3250
vmcs_seg_desc_encoding(seg, &base, &limit, &access);
usr/src/uts/intel/io/vmm/io/ppt.c
1043
struct pptseg *seg = &ppt->mmio[i];
usr/src/uts/intel/io/vmm/io/ppt.c
1045
if (seg->len == 0)
usr/src/uts/intel/io/vmm/io/ppt.c
1047
if (gpa >= seg->gpa && gpa < seg->gpa + seg->len) {
usr/src/uts/intel/io/vmm/io/ppt.c
1217
struct pptseg *seg = &ppt->mmio[i];
usr/src/uts/intel/io/vmm/io/ppt.c
1219
if (seg->len == 0) {
usr/src/uts/intel/io/vmm/io/ppt.c
1222
seg->gpa = gpa;
usr/src/uts/intel/io/vmm/io/ppt.c
1223
seg->len = len;
usr/src/uts/intel/io/vmm/io/ppt.c
1251
struct pptseg *seg = &ppt->mmio[i];
usr/src/uts/intel/io/vmm/io/ppt.c
1253
if (seg->gpa == gpa && seg->len == len) {
usr/src/uts/intel/io/vmm/io/ppt.c
1254
err = vm_unmap_mmio(vm, seg->gpa, seg->len);
usr/src/uts/intel/io/vmm/io/ppt.c
1256
seg->gpa = 0;
usr/src/uts/intel/io/vmm/io/ppt.c
1257
seg->len = 0;
usr/src/uts/intel/io/vmm/io/ppt.c
929
struct pptseg *seg;
usr/src/uts/intel/io/vmm/io/ppt.c
932
seg = &ppt->mmio[i];
usr/src/uts/intel/io/vmm/io/ppt.c
933
if (seg->len == 0)
usr/src/uts/intel/io/vmm/io/ppt.c
935
(void) vm_unmap_mmio(vm, seg->gpa, seg->len);
usr/src/uts/intel/io/vmm/io/ppt.c
936
bzero(seg, sizeof (struct pptseg));
usr/src/uts/intel/io/vmm/seg_vmm.c
114
struct seg *seg = arg;
usr/src/uts/intel/io/vmm/seg_vmm.c
115
segvmm_data_t *svmd = seg->s_data;
usr/src/uts/intel/io/vmm/seg_vmm.c
128
const uintptr_t end = MIN(gpa + sz, svmd->svmd_off + seg->s_size);
usr/src/uts/intel/io/vmm/seg_vmm.c
132
ASSERT(start >= svmd->svmd_off && end <= svmd->svmd_off + seg->s_size);
usr/src/uts/intel/io/vmm/seg_vmm.c
134
const caddr_t unload_va = seg->s_base + (start - svmd->svmd_off);
usr/src/uts/intel/io/vmm/seg_vmm.c
136
ASSERT3U(unload_sz, <=, seg->s_size);
usr/src/uts/intel/io/vmm/seg_vmm.c
138
hat_unload(seg->s_as->a_hat, unload_va, unload_sz, HAT_UNLOAD);
usr/src/uts/intel/io/vmm/seg_vmm.c
145
segvmm_create(struct seg **segpp, void *argsp)
usr/src/uts/intel/io/vmm/seg_vmm.c
147
struct seg *seg = *segpp;
usr/src/uts/intel/io/vmm/seg_vmm.c
161
seg->s_ops = &segvmm_ops;
usr/src/uts/intel/io/vmm/seg_vmm.c
162
seg->s_data = data;
usr/src/uts/intel/io/vmm/seg_vmm.c
172
err = vmc_set_inval_cb(data->svmd_vmc, segvmm_invalidate, seg);
usr/src/uts/intel/io/vmm/seg_vmm.c
174
seg->s_ops = NULL;
usr/src/uts/intel/io/vmm/seg_vmm.c
175
seg->s_data = NULL;
usr/src/uts/intel/io/vmm/seg_vmm.c
184
segvmm_dup(struct seg *seg, struct seg *newseg)
usr/src/uts/intel/io/vmm/seg_vmm.c
186
segvmm_data_t *svmd = seg->s_data;
usr/src/uts/intel/io/vmm/seg_vmm.c
189
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/intel/io/vmm/seg_vmm.c
196
newseg->s_ops = seg->s_ops;
usr/src/uts/intel/io/vmm/seg_vmm.c
225
segvmm_unmap(struct seg *seg, caddr_t addr, size_t len)
usr/src/uts/intel/io/vmm/seg_vmm.c
227
segvmm_data_t *svmd = seg->s_data;
usr/src/uts/intel/io/vmm/seg_vmm.c
229
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/intel/io/vmm/seg_vmm.c
232
if (addr != seg->s_base || len != seg->s_size) {
usr/src/uts/intel/io/vmm/seg_vmm.c
240
hat_unload(seg->s_as->a_hat, addr, len, HAT_UNLOAD_UNMAP);
usr/src/uts/intel/io/vmm/seg_vmm.c
242
seg_free(seg);
usr/src/uts/intel/io/vmm/seg_vmm.c
247
segvmm_free(struct seg *seg)
usr/src/uts/intel/io/vmm/seg_vmm.c
249
segvmm_data_t *svmd = seg->s_data;
usr/src/uts/intel/io/vmm/seg_vmm.c
264
seg->s_data = NULL;
usr/src/uts/intel/io/vmm/seg_vmm.c
268
segvmm_fault_obj(struct hat *hat, struct seg *seg, uintptr_t va, size_t len)
usr/src/uts/intel/io/vmm/seg_vmm.c
270
segvmm_data_t *svmd = seg->s_data;
usr/src/uts/intel/io/vmm/seg_vmm.c
279
uintptr_t off = va - (uintptr_t)seg->s_base + svmd->svmd_off;
usr/src/uts/intel/io/vmm/seg_vmm.c
298
segvmm_fault_space(struct hat *hat, struct seg *seg, uintptr_t va, size_t len)
usr/src/uts/intel/io/vmm/seg_vmm.c
300
segvmm_data_t *svmd = seg->s_data;
usr/src/uts/intel/io/vmm/seg_vmm.c
309
uintptr_t off = va - (uintptr_t)seg->s_base + svmd->svmd_off;
usr/src/uts/intel/io/vmm/seg_vmm.c
345
segvmm_fault(struct hat *hat, struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/intel/io/vmm/seg_vmm.c
348
segvmm_data_t *svmd = seg->s_data;
usr/src/uts/intel/io/vmm/seg_vmm.c
351
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/intel/io/vmm/seg_vmm.c
373
err = segvmm_fault_obj(hat, seg, (uintptr_t)addr, len);
usr/src/uts/intel/io/vmm/seg_vmm.c
375
err = segvmm_fault_space(hat, seg, (uintptr_t)addr, len);
usr/src/uts/intel/io/vmm/seg_vmm.c
393
segvmm_faulta(struct seg *seg, caddr_t addr)
usr/src/uts/intel/io/vmm/seg_vmm.c
401
segvmm_setprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/intel/io/vmm/seg_vmm.c
403
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/intel/io/vmm/seg_vmm.c
411
segvmm_checkprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/intel/io/vmm/seg_vmm.c
413
segvmm_data_t *svmd = seg->s_data;
usr/src/uts/intel/io/vmm/seg_vmm.c
416
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/intel/io/vmm/seg_vmm.c
428
segvmm_sync(struct seg *seg, caddr_t addr, size_t len, int attr, uint_t flags)
usr/src/uts/intel/io/vmm/seg_vmm.c
436
segvmm_incore(struct seg *seg, caddr_t addr, size_t len, char *vec)
usr/src/uts/intel/io/vmm/seg_vmm.c
440
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/intel/io/vmm/seg_vmm.c
454
segvmm_lockop(struct seg *seg, caddr_t addr, size_t len, int attr, int op,
usr/src/uts/intel/io/vmm/seg_vmm.c
462
segvmm_getprot(struct seg *seg, caddr_t addr, size_t len, uint_t *protv)
usr/src/uts/intel/io/vmm/seg_vmm.c
464
segvmm_data_t *svmd = seg->s_data;
usr/src/uts/intel/io/vmm/seg_vmm.c
468
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/intel/io/vmm/seg_vmm.c
477
pgno = seg_page(seg, addr + len) - seg_page(seg, addr) + 1;
usr/src/uts/intel/io/vmm/seg_vmm.c
486
segvmm_getoffset(struct seg *seg, caddr_t addr)
usr/src/uts/intel/io/vmm/seg_vmm.c
497
segvmm_gettype(struct seg *seg, caddr_t addr)
usr/src/uts/intel/io/vmm/seg_vmm.c
508
segvmm_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp)
usr/src/uts/intel/io/vmm/seg_vmm.c
510
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/intel/io/vmm/seg_vmm.c
518
segvmm_advise(struct seg *seg, caddr_t addr, size_t len, uint_t behav)
usr/src/uts/intel/io/vmm/seg_vmm.c
530
segvmm_dump(struct seg *seg)
usr/src/uts/intel/io/vmm/seg_vmm.c
540
segvmm_pagelock(struct seg *seg, caddr_t addr, size_t len, struct page ***ppp,
usr/src/uts/intel/io/vmm/seg_vmm.c
548
segvmm_setpagesize(struct seg *seg, caddr_t addr, size_t len, uint_t szc)
usr/src/uts/intel/io/vmm/seg_vmm.c
554
segvmm_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
usr/src/uts/intel/io/vmm/seg_vmm.c
556
segvmm_data_t *svmd = seg->s_data;
usr/src/uts/intel/io/vmm/seg_vmm.c
559
memidp->val[1] = (uintptr_t)(addr - seg->s_base) + svmd->svmd_off;
usr/src/uts/intel/io/vmm/seg_vmm.c
565
segvmm_capable(struct seg *seg, segcapability_t capability)
usr/src/uts/intel/io/vmm/seg_vmm.c
57
static int segvmm_dup(struct seg *, struct seg *);
usr/src/uts/intel/io/vmm/seg_vmm.c
58
static int segvmm_unmap(struct seg *, caddr_t, size_t);
usr/src/uts/intel/io/vmm/seg_vmm.c
59
static void segvmm_free(struct seg *);
usr/src/uts/intel/io/vmm/seg_vmm.c
60
static faultcode_t segvmm_fault(struct hat *, struct seg *, caddr_t, size_t,
usr/src/uts/intel/io/vmm/seg_vmm.c
62
static faultcode_t segvmm_faulta(struct seg *, caddr_t);
usr/src/uts/intel/io/vmm/seg_vmm.c
63
static int segvmm_setprot(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/intel/io/vmm/seg_vmm.c
64
static int segvmm_checkprot(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/intel/io/vmm/seg_vmm.c
65
static int segvmm_sync(struct seg *, caddr_t, size_t, int, uint_t);
usr/src/uts/intel/io/vmm/seg_vmm.c
66
static size_t segvmm_incore(struct seg *, caddr_t, size_t, char *);
usr/src/uts/intel/io/vmm/seg_vmm.c
67
static int segvmm_lockop(struct seg *, caddr_t, size_t, int, int, ulong_t *,
usr/src/uts/intel/io/vmm/seg_vmm.c
69
static int segvmm_getprot(struct seg *, caddr_t, size_t, uint_t *);
usr/src/uts/intel/io/vmm/seg_vmm.c
70
static u_offset_t segvmm_getoffset(struct seg *, caddr_t);
usr/src/uts/intel/io/vmm/seg_vmm.c
71
static int segvmm_gettype(struct seg *, caddr_t);
usr/src/uts/intel/io/vmm/seg_vmm.c
72
static int segvmm_getvp(struct seg *, caddr_t, struct vnode **);
usr/src/uts/intel/io/vmm/seg_vmm.c
73
static int segvmm_advise(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/intel/io/vmm/seg_vmm.c
74
static void segvmm_dump(struct seg *);
usr/src/uts/intel/io/vmm/seg_vmm.c
75
static int segvmm_pagelock(struct seg *, caddr_t, size_t, struct page ***,
usr/src/uts/intel/io/vmm/seg_vmm.c
77
static int segvmm_setpagesize(struct seg *, caddr_t, size_t, uint_t);
usr/src/uts/intel/io/vmm/seg_vmm.c
78
static int segvmm_getmemid(struct seg *, caddr_t, memid_t *);
usr/src/uts/intel/io/vmm/seg_vmm.c
79
static int segvmm_capable(struct seg *, segcapability_t);
usr/src/uts/intel/io/vmm/sys/seg_vmm.h
30
int segvmm_create(struct seg **, void *);
usr/src/uts/intel/io/vmm/vmm.c
3748
vm_segment_name(int seg)
usr/src/uts/intel/io/vmm/vmm.c
3759
KASSERT(seg >= 0 && seg < nitems(seg_names),
usr/src/uts/intel/io/vmm/vmm.c
3760
("%s: invalid segment encoding %d", __func__, seg));
usr/src/uts/intel/io/vmm/vmm.c
3761
return (seg_names[seg]);
usr/src/uts/intel/io/vmm/vmm.c
882
struct mem_seg *seg;
usr/src/uts/intel/io/vmm/vmm.c
891
seg = &vm->mem_segs[ident];
usr/src/uts/intel/io/vmm/vmm.c
892
if (seg->object != NULL) {
usr/src/uts/intel/io/vmm/vmm.c
893
if (seg->len == len && seg->sysmem == sysmem)
usr/src/uts/intel/io/vmm/vmm.c
903
seg->len = len;
usr/src/uts/intel/io/vmm/vmm.c
904
seg->object = obj;
usr/src/uts/intel/io/vmm/vmm.c
905
seg->sysmem = sysmem;
usr/src/uts/intel/io/vmm/vmm.c
913
struct mem_seg *seg;
usr/src/uts/intel/io/vmm/vmm.c
918
seg = &vm->mem_segs[ident];
usr/src/uts/intel/io/vmm/vmm.c
920
*len = seg->len;
usr/src/uts/intel/io/vmm/vmm.c
922
*sysmem = seg->sysmem;
usr/src/uts/intel/io/vmm/vmm.c
924
*objptr = seg->object;
usr/src/uts/intel/io/vmm/vmm.c
931
struct mem_seg *seg;
usr/src/uts/intel/io/vmm/vmm.c
936
seg = &vm->mem_segs[ident];
usr/src/uts/intel/io/vmm/vmm.c
937
if (seg->object != NULL) {
usr/src/uts/intel/io/vmm/vmm.c
938
vm_object_release(seg->object);
usr/src/uts/intel/io/vmm/vmm.c
939
bzero(seg, sizeof (struct mem_seg));
usr/src/uts/intel/io/vmm/vmm.c
955
const struct mem_seg *seg = &vm->mem_segs[segid];
usr/src/uts/intel/io/vmm/vmm.c
956
if (seg->object == NULL)
usr/src/uts/intel/io/vmm/vmm.c
962
if (end < off || end > seg->len)
usr/src/uts/intel/io/vmm/vmm.c
976
int error = vmspace_map(vm->vmspace, seg->object, off, gpa, len, prot);
usr/src/uts/intel/io/vmm/vmm.c
980
vm_object_reference(seg->object);
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
1095
int addrsize, int prot, enum vm_reg_name seg, enum vm_reg_name gpr,
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
1111
error = vm_get_seg_desc(vm, vcpuid, seg, &desc);
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
1113
__func__, error, seg));
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
1119
if (vie_calculate_gla(paging->cpu_mode, seg, &desc, val, opsize,
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
1121
if (seg == VM_REG_GUEST_SS)
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
1129
if (seg == VM_REG_GUEST_SS)
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
1150
int error, fault, opsize, seg, repeat;
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
1197
seg = vie->segment_override ? vie->segment_register : VM_REG_GUEST_DS;
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
1198
if (vie_get_gla(vie, vm, vcpuid, opsize, vie->addrsize, PROT_READ, seg,
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
2820
vie_calculate_gla(enum vm_cpu_mode cpu_mode, enum vm_reg_name seg,
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
2827
KASSERT(seg >= VM_REG_GUEST_ES && seg <= VM_REG_GUEST_GS,
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
2828
("%s: invalid segment %d", __func__, seg));
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
2858
("segment %d not present: %x", seg, desc->access));
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
2865
"descriptor type %x", seg, type));
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
2913
if (cpu_mode == CPU_MODE_64BIT && seg != VM_REG_GUEST_FS &&
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
2914
seg != VM_REG_GUEST_GS) {
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
3357
segment_override(uint8_t x, int *seg)
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
3362
*seg = VM_REG_GUEST_CS;
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
3365
*seg = VM_REG_GUEST_SS;
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
3368
*seg = VM_REG_GUEST_DS;
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
3371
*seg = VM_REG_GUEST_ES;
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
3374
*seg = VM_REG_GUEST_FS;
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
3377
*seg = VM_REG_GUEST_GS;
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
3853
enum vm_reg_name seg;
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
3908
seg = vie->segment_register;
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
3911
seg = VM_REG_GUEST_SS;
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
3913
seg = VM_REG_GUEST_DS;
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
3916
seg != VM_REG_GUEST_FS && seg != VM_REG_GUEST_GS) {
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
3919
error = vm_get_seg_desc(vm, cpuid, seg, &desc);
usr/src/uts/intel/io/vmm/vmm_instruction_emul.c
477
static int vie_calculate_gla(enum vm_cpu_mode cpu_mode, enum vm_reg_name seg,
usr/src/uts/intel/io/vmm/vmm_reservoir.c
657
struct seg kseg = {
usr/src/uts/intel/os/ddi_arch.c
271
struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/intel/os/ddi_arch.c
283
rdip, hat, seg, addr, dp, pfn, prot, lock));
usr/src/uts/sfmmu/vm/hat_sfmmu.c
5585
extern struct seg *segkmap;
usr/src/uts/sparc/os/ddi_arch.c
146
struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/sparc/os/ddi_arch.c
158
rdip, hat, seg, addr, dp, pfn, prot, lock));
usr/src/uts/sparc/v9/os/simulator.c
858
struct seg *mapseg;
usr/src/uts/sparc/v9/vm/seg_nf.c
101
(size_t (*)(struct seg *, caddr_t, size_t, char *))
usr/src/uts/sparc/v9/vm/seg_nf.c
103
(int (*)(struct seg *, caddr_t, size_t, int, int, ulong_t *, size_t))
usr/src/uts/sparc/v9/vm/seg_nf.c
109
(int (*)(struct seg *, caddr_t, size_t, uint_t))
usr/src/uts/sparc/v9/vm/seg_nf.c
177
segnf_create(struct seg *seg, void *argsp)
usr/src/uts/sparc/v9/vm/seg_nf.c
184
struct seg *s1;
usr/src/uts/sparc/v9/vm/seg_nf.c
185
struct seg *s2;
usr/src/uts/sparc/v9/vm/seg_nf.c
187
struct as *as = seg->s_as;
usr/src/uts/sparc/v9/vm/seg_nf.c
196
struct seg kseg;
usr/src/uts/sparc/v9/vm/seg_nf.c
217
hat_map(as->a_hat, seg->s_base, seg->s_size, HAT_MAP);
usr/src/uts/sparc/v9/vm/seg_nf.c
222
seg->s_ops = &segnf_ops;
usr/src/uts/sparc/v9/vm/seg_nf.c
223
seg->s_data = seg;
usr/src/uts/sparc/v9/vm/seg_nf.c
224
seg->s_flags |= S_PURGE;
usr/src/uts/sparc/v9/vm/seg_nf.c
231
color = addr_to_vcolor(seg->s_base);
usr/src/uts/sparc/v9/vm/seg_nf.c
234
hat_memload(as->a_hat, seg->s_base, nfpp[color],
usr/src/uts/sparc/v9/vm/seg_nf.c
241
if ((s1 = AS_SEGPREV(as, seg)) != NULL &&
usr/src/uts/sparc/v9/vm/seg_nf.c
243
s1->s_base + s1->s_size == seg->s_base) {
usr/src/uts/sparc/v9/vm/seg_nf.c
246
seg->s_base -= size;
usr/src/uts/sparc/v9/vm/seg_nf.c
247
seg->s_size += size;
usr/src/uts/sparc/v9/vm/seg_nf.c
250
if ((s2 = AS_SEGNEXT(as, seg)) != NULL &&
usr/src/uts/sparc/v9/vm/seg_nf.c
252
seg->s_base + seg->s_size == s2->s_base) {
usr/src/uts/sparc/v9/vm/seg_nf.c
255
seg->s_size += size;
usr/src/uts/sparc/v9/vm/seg_nf.c
269
s1 = AS_SEGPREV(as, seg);
usr/src/uts/sparc/v9/vm/seg_nf.c
273
s1 = AS_SEGPREV(s1->s_as, seg);
usr/src/uts/sparc/v9/vm/seg_nf.c
276
s1 = AS_SEGNEXT(as, seg);
usr/src/uts/sparc/v9/vm/seg_nf.c
280
s1 = AS_SEGNEXT(as, seg);
usr/src/uts/sparc/v9/vm/seg_nf.c
295
segnf_dup(struct seg *seg, struct seg *newseg)
usr/src/uts/sparc/v9/vm/seg_nf.c
305
segnf_unmap(struct seg *seg, caddr_t addr, size_t len)
usr/src/uts/sparc/v9/vm/seg_nf.c
307
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/sparc/v9/vm/seg_nf.c
312
if (addr < seg->s_base || addr + len > seg->s_base + seg->s_size ||
usr/src/uts/sparc/v9/vm/seg_nf.c
320
hat_unload(seg->s_as->a_hat, addr, len, HAT_UNLOAD_UNMAP);
usr/src/uts/sparc/v9/vm/seg_nf.c
322
if (addr == seg->s_base && len == seg->s_size) {
usr/src/uts/sparc/v9/vm/seg_nf.c
326
seg_free(seg);
usr/src/uts/sparc/v9/vm/seg_nf.c
327
} else if (addr == seg->s_base) {
usr/src/uts/sparc/v9/vm/seg_nf.c
331
seg->s_base += len;
usr/src/uts/sparc/v9/vm/seg_nf.c
332
seg->s_size -= len;
usr/src/uts/sparc/v9/vm/seg_nf.c
333
} else if (addr + len == seg->s_base + seg->s_size) {
usr/src/uts/sparc/v9/vm/seg_nf.c
337
seg->s_size -= len;
usr/src/uts/sparc/v9/vm/seg_nf.c
345
size_t nsize = (seg->s_base + seg->s_size) - nbase;
usr/src/uts/sparc/v9/vm/seg_nf.c
346
struct seg *nseg;
usr/src/uts/sparc/v9/vm/seg_nf.c
351
seg->s_size = addr - seg->s_base;
usr/src/uts/sparc/v9/vm/seg_nf.c
352
nseg = seg_alloc(seg->s_as, nbase, nsize);
usr/src/uts/sparc/v9/vm/seg_nf.c
359
nseg->s_ops = seg->s_ops;
usr/src/uts/sparc/v9/vm/seg_nf.c
362
mutex_enter(&seg->s_as->a_contents);
usr/src/uts/sparc/v9/vm/seg_nf.c
363
seg->s_as->a_flags |= AS_NEEDSPURGE;
usr/src/uts/sparc/v9/vm/seg_nf.c
364
mutex_exit(&seg->s_as->a_contents);
usr/src/uts/sparc/v9/vm/seg_nf.c
374
segnf_free(struct seg *seg)
usr/src/uts/sparc/v9/vm/seg_nf.c
376
ASSERT(seg->s_as && AS_WRITE_HELD(seg->s_as));
usr/src/uts/sparc/v9/vm/seg_nf.c
390
segnf_setprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/sparc/v9/vm/seg_nf.c
392
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/sparc/v9/vm/seg_nf.c
398
segnf_checkprot(struct seg *seg, caddr_t addr, size_t len, uint_t prot)
usr/src/uts/sparc/v9/vm/seg_nf.c
401
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/sparc/v9/vm/seg_nf.c
403
sprot = seg->s_as == &kas ? PROT_READ : PROT_READ|PROT_USER;
usr/src/uts/sparc/v9/vm/seg_nf.c
421
segnf_getprot(struct seg *seg, caddr_t addr, size_t len, uint_t *protv)
usr/src/uts/sparc/v9/vm/seg_nf.c
423
size_t pgno = seg_page(seg, addr + len) - seg_page(seg, addr) + 1;
usr/src/uts/sparc/v9/vm/seg_nf.c
425
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/sparc/v9/vm/seg_nf.c
434
segnf_getoffset(struct seg *seg, caddr_t addr)
usr/src/uts/sparc/v9/vm/seg_nf.c
436
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/sparc/v9/vm/seg_nf.c
443
segnf_gettype(struct seg *seg, caddr_t addr)
usr/src/uts/sparc/v9/vm/seg_nf.c
445
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/sparc/v9/vm/seg_nf.c
452
segnf_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp)
usr/src/uts/sparc/v9/vm/seg_nf.c
454
ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as));
usr/src/uts/sparc/v9/vm/seg_nf.c
465
segnf_dump(struct seg *seg)
usr/src/uts/sparc/v9/vm/seg_nf.c
470
segnf_pagelock(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/sparc/v9/vm/seg_nf.c
478
segnf_setpagesize(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/sparc/v9/vm/seg_nf.c
486
segnf_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
usr/src/uts/sparc/v9/vm/seg_nf.c
493
segnf_getpolicy(struct seg *seg, caddr_t addr)
usr/src/uts/sparc/v9/vm/seg_nf.c
61
static int segnf_dup(struct seg *seg, struct seg *newseg);
usr/src/uts/sparc/v9/vm/seg_nf.c
62
static int segnf_unmap(struct seg *seg, caddr_t addr, size_t len);
usr/src/uts/sparc/v9/vm/seg_nf.c
63
static void segnf_free(struct seg *seg);
usr/src/uts/sparc/v9/vm/seg_nf.c
65
static int segnf_setprot(struct seg *seg, caddr_t addr,
usr/src/uts/sparc/v9/vm/seg_nf.c
67
static int segnf_checkprot(struct seg *seg, caddr_t addr,
usr/src/uts/sparc/v9/vm/seg_nf.c
71
static int segnf_getprot(struct seg *seg, caddr_t addr,
usr/src/uts/sparc/v9/vm/seg_nf.c
73
static u_offset_t segnf_getoffset(struct seg *seg, caddr_t addr);
usr/src/uts/sparc/v9/vm/seg_nf.c
74
static int segnf_gettype(struct seg *seg, caddr_t addr);
usr/src/uts/sparc/v9/vm/seg_nf.c
75
static int segnf_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp);
usr/src/uts/sparc/v9/vm/seg_nf.c
76
static void segnf_dump(struct seg *seg);
usr/src/uts/sparc/v9/vm/seg_nf.c
77
static int segnf_pagelock(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/sparc/v9/vm/seg_nf.c
79
static int segnf_setpagesize(struct seg *seg, caddr_t addr, size_t len,
usr/src/uts/sparc/v9/vm/seg_nf.c
81
static int segnf_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp);
usr/src/uts/sparc/v9/vm/seg_nf.c
82
static lgrp_mem_policy_info_t *segnf_getpolicy(struct seg *seg,
usr/src/uts/sparc/v9/vm/seg_nf.c
90
(faultcode_t (*)(struct hat *, struct seg *, caddr_t, size_t,
usr/src/uts/sparc/v9/vm/seg_nf.c
93
(faultcode_t (*)(struct seg *, caddr_t))
usr/src/uts/sparc/v9/vm/seg_nf.c
98
(size_t (*)(struct seg *))NULL, /* swapout */
usr/src/uts/sparc/v9/vm/seg_nf.c
99
(int (*)(struct seg *, caddr_t, size_t, int, uint_t))
usr/src/uts/sun4/io/rootnex.c
63
struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/sun4/io/rootnex.c
719
struct hat *hat, struct seg *seg, caddr_t addr,
usr/src/uts/sun4/io/rootnex.c
727
seg->s_ops == &segdev_ops ? "segdev" :
usr/src/uts/sun4/io/rootnex.c
728
seg == &kvseg ? "segkmem" : "NONE!"));
usr/src/uts/sun4/io/rootnex.c
737
if (seg->s_ops == &segdev_ops) {
usr/src/uts/sun4/io/rootnex.c
739
(struct segdev_data *)seg->s_data;
usr/src/uts/sun4/io/rootnex.c
749
ASSERT(AS_READ_HELD(seg->s_as));
usr/src/uts/sun4/io/rootnex.c
750
hat = seg->s_as->a_hat;
usr/src/uts/sun4/io/rootnex.c
755
} else if (seg == &kvseg && dp == (struct devpage *)0) {
usr/src/uts/sun4/os/startup.c
1864
struct seg kseg;
usr/src/uts/sun4/os/startup.c
188
struct seg ktextseg; /* Segment used for kernel executable image */
usr/src/uts/sun4/os/startup.c
189
struct seg kvalloc; /* Segment used for "valloc" mapping */
usr/src/uts/sun4/os/startup.c
190
struct seg kpseg; /* Segment used for pageable kernel virt mem */
usr/src/uts/sun4/os/startup.c
191
struct seg ktexthole; /* Segment used for nucleus text hole */
usr/src/uts/sun4/os/startup.c
192
struct seg kmapseg; /* Segment used for generic kernel mappings */
usr/src/uts/sun4/os/startup.c
193
struct seg kpmseg; /* Segment used for physical mapping */
usr/src/uts/sun4/os/startup.c
194
struct seg kdebugseg; /* Segment used for the kernel debugger */
usr/src/uts/sun4/os/startup.c
200
struct seg *segkp = &kpseg; /* Pageable kernel virtual memory segment */
usr/src/uts/sun4/os/startup.c
201
struct seg *segkmap = &kmapseg; /* Kernel generic mapping segment */
usr/src/uts/sun4/os/startup.c
202
struct seg *segkpm = &kpmseg; /* 64bit kernel physical mapping segment */
usr/src/uts/sun4/os/startup.c
232
struct seg kmem64;
usr/src/uts/sun4/os/startup.c
2527
struct memseg *seg;
usr/src/uts/sun4/os/startup.c
2531
for (seg = memsegs; seg != NULL; seg = seg->next) {
usr/src/uts/sun4/os/startup.c
2532
if (base >= seg->pages_base && base < seg->pages_end)
usr/src/uts/sun4/os/startup.c
2533
return (seg);
usr/src/uts/sun4/os/startup.c
2534
if (next != NULL && seg->pages_base > base &&
usr/src/uts/sun4/os/startup.c
2535
seg->pages_base < *next)
usr/src/uts/sun4/os/startup.c
2536
*next = seg->pages_base;
usr/src/uts/sun4/os/startup.c
2548
struct memseg *seg;
usr/src/uts/sun4/os/startup.c
2555
seg = memseg_find(base, &next);
usr/src/uts/sun4/os/startup.c
2556
if (seg == NULL) {
usr/src/uts/sun4/os/startup.c
2563
off = base - seg->pages_base;
usr/src/uts/sun4/os/startup.c
2564
pp = seg->pages + off;
usr/src/uts/sun4/os/startup.c
2565
left = num - MIN(num, (seg->pages_end - seg->pages_base) - off);
usr/src/uts/sun4/os/startup.c
2604
struct memseg *seg;
usr/src/uts/sun4/os/startup.c
2606
seg = memseg_free;
usr/src/uts/sun4/os/startup.c
2607
memseg_free = seg->next;
usr/src/uts/sun4/os/startup.c
2608
ASSERT(seg != NULL);
usr/src/uts/sun4/os/startup.c
2610
seg->pages = ppnext;
usr/src/uts/sun4/os/startup.c
2611
seg->epages = ppnext + num;
usr/src/uts/sun4/os/startup.c
2612
seg->pages_base = base;
usr/src/uts/sun4/os/startup.c
2613
seg->pages_end = base + num;
usr/src/uts/sun4/os/startup.c
2622
seg->pagespa = va_to_pa(seg->pages);
usr/src/uts/sun4/os/startup.c
2623
seg->epagespa = va_to_pa(seg->epages);
usr/src/uts/sun4/os/startup.c
2624
seg->kpm_pbase = kpmptop(ptokpmp(base));
usr/src/uts/sun4/os/startup.c
2625
seg->kpm_nkpmpgs = kpnum;
usr/src/uts/sun4/os/startup.c
2634
seg->kpm_spages = kpm_pp;
usr/src/uts/sun4/os/startup.c
2635
seg->kpm_pagespa = va_to_pa(seg->kpm_spages);
usr/src/uts/sun4/os/startup.c
2640
seg->kpm_pages = kpm_pp;
usr/src/uts/sun4/os/startup.c
2641
seg->kpm_pagespa = va_to_pa(seg->kpm_pages);
usr/src/uts/sun4/os/startup.c
2651
memseg_list_add(seg);
usr/src/uts/sun4/os/startup.c
2661
struct memseg *seg;
usr/src/uts/sun4/os/startup.c
2665
seg = memseg_find(base, NULL);
usr/src/uts/sun4/os/startup.c
2666
ASSERT(seg != NULL);
usr/src/uts/sun4/os/startup.c
2667
pp = seg->pages + (base - seg->pages_base);
usr/src/uts/sun4/vm/vm_dep.c
105
extern page_t *page_get_freelist(struct vnode *, u_offset_t, struct seg *,
usr/src/uts/sun4/vm/vm_dep.h
627
#define AS_2_BIN(as, seg, vp, addr, bin, szc) \
usr/src/uts/sun4/vm/vm_dep.h
640
seg->s_ops == &segvn_ops) \
usr/src/uts/sun4u/cpu/us3_common.c
893
struct memseg *seg;
usr/src/uts/sun4u/cpu/us3_common.c
949
for (seg = memsegs; seg; seg = seg->next) {
usr/src/uts/sun4u/cpu/us3_common.c
950
begin_pa = (uint64_t)(seg->pages_base) << MMU_PAGESHIFT;
usr/src/uts/sun4u/cpu/us3_common.c
951
end_pa = (uint64_t)(seg->pages_end) << MMU_PAGESHIFT;
usr/src/uts/sun4u/io/mc-us3.c
1004
mc_addr_to_offset(struct seg_info *seg,
usr/src/uts/sun4u/io/mc-us3.c
1014
line = (addr - seg->base) / 64;
usr/src/uts/sun4u/io/mc-us3.c
1055
remainder = (addr - seg->base) % 64;
usr/src/uts/sun4u/io/mc-us3.c
1244
struct seg_info *seg;
usr/src/uts/sun4u/io/mc-us3.c
1268
seg = (struct seg_info *)mc_node_get(bank->seg_id, seg_head);
usr/src/uts/sun4u/io/mc-us3.c
1269
ASSERT(seg != NULL);
usr/src/uts/sun4u/io/mc-us3.c
1270
ASSERT(paddr >= seg->base);
usr/src/uts/sun4u/io/mc-us3.c
1272
mc_addr_to_offset(seg, bank, paddr, offp);
usr/src/uts/sun4u/io/mc-us3.c
1288
struct seg_info *seg;
usr/src/uts/sun4u/io/mc-us3.c
1321
seg = (struct seg_info *)mc_node_get(first_seg_id, seg_head);
usr/src/uts/sun4u/io/mc-us3.c
1325
if (seg == NULL) {
usr/src/uts/sun4u/io/mc-us3.c
1332
for (bank = seg->hb_inseg; bank; bank = bank->n_inseg) {
usr/src/uts/sun4u/io/mc-us3.c
1344
if (mc_offset_to_addr(seg, bank, off, paddr) == -1)
usr/src/uts/sun4u/io/mc-us3.c
1392
seg = (struct seg_info *)mc_node_get(bank->seg_id, seg_head);
usr/src/uts/sun4u/io/mc-us3.c
1394
if (mc_offset_to_addr(seg, bank, off, paddr) == -1) {
usr/src/uts/sun4u/io/mc-us3.c
1780
struct seg_info *seg;
usr/src/uts/sun4u/io/mc-us3.c
1848
if (!(seg = seg_match_base(base))) {
usr/src/uts/sun4u/io/mc-us3.c
1859
seg->tb_inseg = bank_curr->p_inseg;
usr/src/uts/sun4u/io/mc-us3.c
1867
seg->hb_inseg = bank_curr->n_inseg;
usr/src/uts/sun4u/io/mc-us3.c
1873
seg->nbanks--;
usr/src/uts/sun4u/io/mc-us3.c
1874
seg->size -= bank_curr->size;
usr/src/uts/sun4u/io/mc-us3.c
1876
if (seg->nbanks == 0) {
usr/src/uts/sun4u/io/mc-us3.c
1877
mc_node_del((mc_dlist_t *)seg, &seg_head,
usr/src/uts/sun4u/io/mc-us3.c
1879
kmem_free(seg, sizeof (struct seg_info));
usr/src/uts/sun4u/io/mc-us3.c
503
struct seg_info *seg = NULL;
usr/src/uts/sun4u/io/mc-us3.c
562
seg = (struct seg_info *)seg_head;
usr/src/uts/sun4u/io/mc-us3.c
564
ASSERT(seg != NULL);
usr/src/uts/sun4u/io/mc-us3.c
565
mcmem->segmentids[i].globalid = seg->seg_node.id;
usr/src/uts/sun4u/io/mc-us3.c
566
mcmem->segmentids[i].localid = seg->seg_node.id;
usr/src/uts/sun4u/io/mc-us3.c
567
seg = (struct seg_info *)seg->seg_node.next;
usr/src/uts/sun4u/io/mc-us3.c
594
if ((seg = (struct seg_info *)mc_node_get(mcseg_in.id,
usr/src/uts/sun4u/io/mc-us3.c
602
if (mcseg_in.nbanks < seg->nbanks) {
usr/src/uts/sun4u/io/mc-us3.c
603
mcseg_in.nbanks = seg->nbanks;
usr/src/uts/sun4u/io/mc-us3.c
614
size = sizeof (struct mc_segment) + (seg->nbanks - 1) *
usr/src/uts/sun4u/io/mc-us3.c
618
mcseg->id = seg->seg_node.id;
usr/src/uts/sun4u/io/mc-us3.c
619
mcseg->ifactor = seg->ifactor;
usr/src/uts/sun4u/io/mc-us3.c
620
mcseg->base = seg->base;
usr/src/uts/sun4u/io/mc-us3.c
621
mcseg->size = seg->size;
usr/src/uts/sun4u/io/mc-us3.c
622
mcseg->nbanks = seg->nbanks;
usr/src/uts/sun4u/io/mc-us3.c
624
bank = seg->hb_inseg;
usr/src/uts/sun4u/io/mc-us3.c
627
seg->nbanks, (void *)seg, (void *)bank));
usr/src/uts/sun4u/io/mc-us3.c
638
ASSERT(i == seg->nbanks);
usr/src/uts/sun4u/io/mc-us3.c
938
mc_offset_to_addr(struct seg_info *seg,
usr/src/uts/sun4u/io/mc-us3.c
994
*addr = (line << 6) + seg->base;
usr/src/uts/sun4u/io/mc-us3i.c
443
struct seg_info *seg = NULL;
usr/src/uts/sun4u/io/mc-us3i.c
500
seg = (struct seg_info *)seg_head;
usr/src/uts/sun4u/io/mc-us3i.c
502
ASSERT(seg != NULL);
usr/src/uts/sun4u/io/mc-us3i.c
503
mcmem->segmentids[i].globalid = seg->seg_node.id;
usr/src/uts/sun4u/io/mc-us3i.c
504
mcmem->segmentids[i].localid = seg->seg_node.id;
usr/src/uts/sun4u/io/mc-us3i.c
505
seg = (struct seg_info *)seg->seg_node.next;
usr/src/uts/sun4u/io/mc-us3i.c
531
if ((seg = mc_node_get(mcseg_in.id, seg_head)) == NULL) {
usr/src/uts/sun4u/io/mc-us3i.c
538
if (mcseg_in.nbanks < seg->nbanks) {
usr/src/uts/sun4u/io/mc-us3i.c
539
mcseg_in.nbanks = seg->nbanks;
usr/src/uts/sun4u/io/mc-us3i.c
549
size = sizeof (*mcseg) + (seg->nbanks - 1) *
usr/src/uts/sun4u/io/mc-us3i.c
553
mcseg->id = seg->seg_node.id;
usr/src/uts/sun4u/io/mc-us3i.c
554
mcseg->ifactor = seg->ifactor;
usr/src/uts/sun4u/io/mc-us3i.c
555
mcseg->base = seg->base;
usr/src/uts/sun4u/io/mc-us3i.c
556
mcseg->size = seg->size;
usr/src/uts/sun4u/io/mc-us3i.c
557
mcseg->nbanks = seg->nbanks;
usr/src/uts/sun4u/io/mc-us3i.c
559
bank = seg->head;
usr/src/uts/sun4u/io/mc-us3i.c
562
seg->nbanks, (void *) seg, (void *) bank));
usr/src/uts/sun4u/io/mc-us3i.c
572
ASSERT(i == seg->nbanks);
usr/src/uts/sun4u/lw8/io/sgfru.c
683
frup_info_t seg;
usr/src/uts/sun4u/lw8/io/sgfru.c
689
if (sgfru_copyin_frup(iargp, &seg) != 0) {
usr/src/uts/sun4u/lw8/io/sgfru.c
693
if (sgfru_copyin_segment(iargp, &seg, &segment) != 0) {
usr/src/uts/sun4u/lw8/io/sgfru.c
697
f, seg.fru_hdl, seg.fru_cnt);
usr/src/uts/sun4u/lw8/io/sgfru.c
706
sgfru_segment_unpad(&seg.fru_info, &segment, datap);
usr/src/uts/sun4u/lw8/io/sgfru.c
709
ret = sgfru_mbox(iargp->cmd, datap, size, &seg.fru_info);
usr/src/uts/sun4u/lw8/io/sgfru.c
722
if (sgfru_copyout_handle(iargp, seg.frus, --hdlp) != 0) {
usr/src/uts/sun4u/os/cpr_impl.c
1104
extern struct seg kvalloc;
usr/src/uts/sun4u/os/cpr_impl.c
1105
extern struct seg kmem64;
usr/src/uts/sun4u/os/cpr_impl.c
68
extern pgcnt_t cpr_scan_kvseg(int mapflag, bitfunc_t bitfunc, struct seg *seg);
usr/src/uts/sun4u/serengeti/io/sbdp_mem.c
1670
sbdp_check_seg_with_banks(sbdp_seg_t *seg, sbdp_bank_t *banks)
usr/src/uts/sun4u/serengeti/io/sbdp_mem.c
1675
for (cur_bank = seg->banks; cur_bank; cur_bank = cur_bank->seg_next) {
usr/src/uts/sun4u/serengeti/io/sbdp_mem.c
1686
SBDP_DBG_MEM("banks found = %d total banks = %d\n", i, seg->nbanks);
usr/src/uts/sun4u/serengeti/io/sbdp_mem.c
1691
if (i == seg->nbanks)
usr/src/uts/sun4u/serengeti/io/sbdp_mem.c
1712
sbdp_seg_t *seg;
usr/src/uts/sun4u/serengeti/io/sbdp_mem.c
1748
if ((seg = sbdp_get_seg(base)) == NULL) {
usr/src/uts/sun4u/serengeti/io/sbdp_mem.c
1759
is_interleave = sbdp_check_seg_with_banks(seg, bdp->banks);
usr/src/uts/sun4u/serengeti/io/sbdp_mem.c
1927
sbdp_print_seg(sbdp_seg_t *seg)
usr/src/uts/sun4u/serengeti/io/sbdp_mem.c
1932
SBDP_DBG_MEM("SEG %d\n", seg->id);
usr/src/uts/sun4u/serengeti/io/sbdp_mem.c
1934
for (bp = seg->banks, i = 0; bp; bp = bp->seg_next, i++) {
usr/src/uts/sun4u/serengeti/io/sbdp_mem.c
1986
sbdp_rm_seg(sbdp_seg_t *seg)
usr/src/uts/sun4u/serengeti/io/sbdp_mem.c
1993
if (curp == seg) {
usr/src/uts/sun4v/os/memseg.c
221
memseg_remap_meta(struct memseg *seg)
usr/src/uts/sun4v/os/memseg.c
231
metapgs = btopr(MSEG_NPAGES(seg) * sizeof (page_t));
usr/src/uts/sun4v/os/memseg.c
233
pp = seg->pages;
usr/src/uts/sun4v/os/memseg.c
234
seg->pages_end = seg->pages_base;
usr/src/uts/sun4v/os/memseg.c
236
epp = seg->epages;
usr/src/uts/sun4v/os/memseg.c
80
struct seg kseg;