4517853 debug.h should include macros to assert implication and equivalence
6915090 struct memlist should have ml_ member prefixes
--- a/usr/src/cmd/mdb/common/modules/genunix/memory.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/cmd/mdb/common/modules/genunix/memory.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -667,8 +667,7 @@
" %<b>vp%</b>::pagelookup -o %<b>offset%</b>\n"
" %<b>offset%</b>::pagelookup -v %<b>vp%</b>\n"
"\n"
- "The latter two forms are useful in pipelines.\n"
- );
+ "The latter two forms are useful in pipelines.\n");
}
int
@@ -863,7 +862,7 @@
return (WALK_ERR);
}
- wsp->walk_addr = (uintptr_t)ml.next;
+ wsp->walk_addr = (uintptr_t)ml.ml_next;
return (wsp->walk_callback(mlp, &ml, wsp->walk_cbdata));
}
@@ -919,7 +918,7 @@
return (DCMD_ERR);
}
- mdb_printf("%0?lx %16llx %16llx\n", addr, ml.address, ml.size);
+ mdb_printf("%0?lx %16llx %16llx\n", addr, ml.ml_address, ml.ml_size);
return (DCMD_OK);
}
--- a/usr/src/psm/stand/boot/sparc/common/bootprop.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/psm/stand/boot/sparc/common/bootprop.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,12 +19,10 @@
* CDDL HEADER END
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/types.h>
#include <sys/promif.h>
#include <sys/bootconf.h>
@@ -135,8 +133,8 @@
strequal(name, p->name))) {
for (ml = *((struct memlist **)p->val);
- ml != NIL;
- ml = ml->next)
+ ml != NIL;
+ ml = ml->ml_next)
/*
* subtract out the ptrs for our local
@@ -144,7 +142,7 @@
* only see an array.
*/
size += (int)(sizeof (struct memlist) -
- 2*sizeof (struct memlist *));
+ 2*sizeof (struct memlist *));
return (size);
} else if (strequal(name, p->name)) {
@@ -209,12 +207,12 @@
u_longlong_t *t = buf;
for (ml = *((struct memlist **)p->val);
- ml != NIL;
- ml = ml->next) {
+ ml != NIL;
+ ml = ml->ml_next) {
/* copy out into an array */
- *t++ = ml->address;
- *t++ = ml->size;
+ *t++ = ml->ml_address;
+ *t++ = ml->ml_size;
}
return (BOOT_SUCCESS);
} else if (strequal(name, p->name)) {
--- a/usr/src/psm/stand/boot/sparc/common/sun4u_memlist.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/psm/stand/boot/sparc/common/sun4u_memlist.c Tue Jan 12 17:06:34 2010 -0800
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
@@ -20,12 +19,10 @@
* CDDL HEADER END
*/
/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/types.h>
#include <sys/param.h>
#include <sys/promif.h>
@@ -114,7 +111,7 @@
prom_panic("Cannot get list.\n");
if (links > sizeof (scratch_memlist)) {
prom_printf("%s list <%s> exceeds boot capabilities\n",
- name, prop);
+ name, prop);
prom_panic("fill_memlists - memlist size");
}
links = links / sizeof (struct sun4u_prom_memlist);
@@ -203,10 +200,10 @@
if (!head)
head = ptr;
if (last)
- last->next = ptr;
- ptr->address = flag ? addr : start1;
- ptr->size = size ? size : ar[i].size;
- ptr->prev = last;
+ last->ml_next = ptr;
+ ptr->ml_address = flag ? addr : start1;
+ ptr->ml_size = size ? size : ar[i].size;
+ ptr->ml_prev = last;
last = ptr;
size = 0;
@@ -214,6 +211,6 @@
addr = 0;
}
- last->next = NULL;
+ last->ml_next = NULL;
return (head);
}
--- a/usr/src/stand/lib/sa/memlist.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/stand/lib/sa/memlist.c Tue Jan 12 17:06:34 2010 -0800
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
@@ -20,12 +19,10 @@
* CDDL HEADER END
*/
/*
- * Copyright 1992-2003 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/types.h>
#include <sys/param.h>
#include <sys/sysmacros.h>
@@ -53,9 +50,9 @@
while (p != NULL) {
printf("addr = 0x%x:0x%x, size = 0x%x:0x%x\n",
- (uint_t)(p->address >> 32), (uint_t)p->address,
- (uint_t)(p->size >> 32), (uint_t)p->size);
- p = p->next;
+ (uint_t)(p->ml_address >> 32), (uint_t)p->ml_address,
+ (uint_t)(p->ml_size >> 32), (uint_t)p->ml_size);
+ p = p->ml_next;
}
}
@@ -125,11 +122,11 @@
sizeof (struct memlist));
bzero(free_memlist_ptr, (ALLOC_SZ * sizeof (struct memlist)));
for (i = 0; i < ALLOC_SZ; i++)
- ptr[i].next = &ptr[i+1];
- ptr[i-1].next = NULL;
+ ptr[i].ml_next = &ptr[i+1];
+ ptr[i-1].ml_next = NULL;
}
ptr = free_memlist_ptr;
- free_memlist_ptr = ptr->next;
+ free_memlist_ptr = ptr->ml_next;
return (ptr);
}
@@ -144,8 +141,8 @@
if (free_memlist_ptr == NULL) {
free_memlist_ptr = ptr;
} else {
- for (tmp = free_memlist_ptr; tmp->next; tmp = tmp->next)
+ for (tmp = free_memlist_ptr; tmp->ml_next; tmp = tmp->ml_next)
;
- tmp->next = ptr;
+ tmp->ml_next = ptr;
}
}
--- a/usr/src/uts/common/cpr/cpr_dump.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/cpr/cpr_dump.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -177,8 +177,8 @@
size_t size = 0;
memlist_read_lock();
- for (pmem = phys_install; pmem; pmem = pmem->next)
- size += pmem->size;
+ for (pmem = phys_install; pmem; pmem = pmem->ml_next)
+ size += pmem->ml_size;
memlist_read_unlock();
cpr_bitmap_size = BITMAP_BYTES(size);
}
--- a/usr/src/uts/common/crypto/io/swrand.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/crypto/io/swrand.c Tue Jan 12 17:06:34 2010 -0800
@@ -701,15 +701,15 @@
/* Pick a memory block to read */
block = oblock = srndpool[i] % entsrc->nblocks;
- for (pmem = phys_install; pmem != NULL; pmem = pmem->next) {
- if (block < pmem->size / MEMBLOCKSIZE)
+ for (pmem = phys_install; pmem != NULL; pmem = pmem->ml_next) {
+ if (block < pmem->ml_size / MEMBLOCKSIZE)
break;
- block -= pmem->size / MEMBLOCKSIZE;
+ block -= pmem->ml_size / MEMBLOCKSIZE;
}
ASSERT(pmem != NULL);
- offset = pmem->address + block * MEMBLOCKSIZE;
+ offset = pmem->ml_address + block * MEMBLOCKSIZE;
if (!address_in_memlist(phys_install, offset, MEMBLOCKSIZE)) {
memlist_read_unlock();
@@ -842,8 +842,8 @@
memlist_read_lock();
entsrc.nblocks = 0;
- for (pmem = phys_install; pmem != NULL; pmem = pmem->next) {
- entsrc.nblocks += pmem->size / MEMBLOCKSIZE;
+ for (pmem = phys_install; pmem != NULL; pmem = pmem->ml_next) {
+ entsrc.nblocks += pmem->ml_size / MEMBLOCKSIZE;
if (entsrc.nblocks > MAXMEMBLOCKS) {
entsrc.nblocks = MAXMEMBLOCKS;
break;
--- a/usr/src/uts/common/fs/sockfs/socksubr.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/fs/sockfs/socksubr.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -1614,7 +1614,7 @@
}
/* The logical equivalence operator (a if-and-only-if b) */
-#define EQUIV(a, b) (((a) && (b)) || (!(a) && (!(b))))
+#define EQUIVALENT(a, b) (((a) && (b)) || (!(a) && (!(b))))
/*
* Verify limitations and invariants on oob state.
@@ -1663,7 +1663,7 @@
havemark = (SOCK_IS_NONSTR(so)) ? so->so_oobmark > 0 :
SOTOTPI(so)->sti_oobsigcnt > 0;
- if (!EQUIV(havemark || (so->so_state & SS_RCVATMARK),
+ if (!EQUIVALENT(havemark || (so->so_state & SS_RCVATMARK),
so->so_state & SS_OOBPEND)) {
printf("Bad oob state 3 (%p): state %s\n",
(void *)so, pr_state(so->so_state, so->so_mode));
@@ -1674,7 +1674,7 @@
* Unless SO_OOBINLINE we have so_oobmsg != NULL iff SS_HAVEOOBDATA
*/
if (!(so->so_options & SO_OOBINLINE) &&
- !EQUIV(so->so_oobmsg != NULL, so->so_state & SS_HAVEOOBDATA)) {
+ !EQUIVALENT(so->so_oobmsg != NULL, so->so_state & SS_HAVEOOBDATA)) {
printf("Bad oob state 4 (%p): state %s\n",
(void *)so, pr_state(so->so_state, so->so_mode));
return (0);
@@ -1691,7 +1691,7 @@
return (1);
}
-#undef EQUIV
+#undef EQUIVALENT
#endif /* DEBUG */
/* initialize sockfs zone specific kstat related items */
--- a/usr/src/uts/common/io/dld/dld_proto.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/io/dld/dld_proto.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -301,12 +301,12 @@
}
done:
- ASSERT(IMPLY(dlp->dl_qos_offset != 0, dlp->dl_qos_length != 0));
- ASSERT(IMPLY(dlp->dl_qos_range_offset != 0,
- dlp->dl_qos_range_length != 0));
- ASSERT(IMPLY(dlp->dl_addr_offset != 0, dlp->dl_addr_length != 0));
- ASSERT(IMPLY(dlp->dl_brdcst_addr_offset != 0,
- dlp->dl_brdcst_addr_length != 0));
+ IMPLY(dlp->dl_qos_offset != 0, dlp->dl_qos_length != 0);
+ IMPLY(dlp->dl_qos_range_offset != 0,
+ dlp->dl_qos_range_length != 0);
+ IMPLY(dlp->dl_addr_offset != 0, dlp->dl_addr_length != 0);
+ IMPLY(dlp->dl_brdcst_addr_offset != 0,
+ dlp->dl_brdcst_addr_length != 0);
qreply(q, mp);
}
--- a/usr/src/uts/common/io/mem.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/io/mem.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -762,9 +762,9 @@
case M_MEM:
pf = btop(off);
memlist_read_lock();
- for (pmem = phys_install; pmem != NULL; pmem = pmem->next) {
- if (pf >= BTOP(pmem->address) &&
- pf < BTOP(pmem->address + pmem->size)) {
+ for (pmem = phys_install; pmem != NULL; pmem = pmem->ml_next) {
+ if (pf >= BTOP(pmem->ml_address) &&
+ pf < BTOP(pmem->ml_address + pmem->ml_size)) {
memlist_read_unlock();
return (impl_obmem_pfnum(pf));
}
@@ -983,7 +983,7 @@
count = 0;
memlist_read_lock();
- for (pmem = phys_install; pmem != NULL; pmem = pmem->next) {
+ for (pmem = phys_install; pmem != NULL; pmem = pmem->ml_next) {
count++;
}
memlist_read_unlock();
@@ -1010,11 +1010,12 @@
kspmem = (struct memunit *)buf;
memlist_read_lock();
- for (pmem = phys_install; pmem != NULL; pmem = pmem->next, kspmem++) {
+ for (pmem = phys_install; pmem != NULL;
+ pmem = pmem->ml_next, kspmem++) {
if ((caddr_t)kspmem >= (caddr_t)buf + ksp->ks_data_size)
break;
- kspmem->address = pmem->address;
- kspmem->size = pmem->size;
+ kspmem->address = pmem->ml_address;
+ kspmem->size = pmem->ml_size;
}
memlist_read_unlock();
--- a/usr/src/uts/common/io/tl.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/io/tl.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -911,18 +911,6 @@
};
/*
- * Logical operations.
- *
- * IMPLY(X, Y) means that X implies Y i.e. when X is true, Y
- * should also be true.
- *
- * EQUIV(X, Y) is logical equivalence. Both X and Y should be true or false at
- * the same time.
- */
-#define IMPLY(X, Y) (!(X) || (Y))
-#define EQUIV(X, Y) (IMPLY(X, Y) && IMPLY(Y, X))
-
-/*
* LOCAL FUNCTIONS AND DRIVER ENTRY POINTS
* ---------------------------------------
*/
@@ -1082,7 +1070,7 @@
if ((i == TL_UNUSED) || (i == TL_SOCK_COTSORD))
continue;
- ASSERT(EQUIV(i & TL_TICLTS, t->tr_serializer != NULL));
+ EQUIV(i & TL_TICLTS, t->tr_serializer != NULL);
if (t->tr_serializer != NULL) {
tl_serializer_refrele(t->tr_serializer);
t->tr_serializer = NULL;
@@ -1692,8 +1680,8 @@
tl_close_finish_ser(mblk_t *mp, tl_endpt_t *tep)
{
ASSERT(tep->te_closing);
- ASSERT(IMPLY(IS_CLTS(tep), tep->te_closewait == 0));
- ASSERT(IMPLY(IS_COTS(tep), tep->te_closewait == 1));
+ IMPLY(IS_CLTS(tep), tep->te_closewait == 0);
+ IMPLY(IS_COTS(tep), tep->te_closewait == 1);
tep->te_state = -1; /* Uninitialized */
if (IS_COTS(tep)) {
@@ -1945,7 +1933,7 @@
ASSERT(DB_TYPE(mp) == M_DATA);
ASSERT(IS_COTS(tep));
- ASSERT(IMPLY(peer_tep, tep->te_serializer == peer_tep->te_serializer));
+ IMPLY(peer_tep, tep->te_serializer == peer_tep->te_serializer);
/*
* fastpath for data. Ignore flow control if tep is closing.
@@ -3958,8 +3946,8 @@
* the code below will avoid any action on the client side.
*/
- ASSERT(IMPLY(tip->ti_tep != NULL,
- tip->ti_tep->te_seqno == dr->SEQ_number));
+ IMPLY(tip->ti_tep != NULL,
+ tip->ti_tep->te_seqno == dr->SEQ_number);
peer_tep = tip->ti_tep;
}
@@ -5279,10 +5267,10 @@
ASSERT(ap != NULL && ap->ta_alen > 0);
ASSERT(ap->ta_zoneid == tep->te_zoneid);
ASSERT(ap->ta_abuf != NULL);
- ASSERT(EQUIV(rc == 0, peer_tep != NULL));
- ASSERT(IMPLY(rc == 0,
+ EQUIV(rc == 0, peer_tep != NULL);
+ IMPLY(rc == 0,
(tep->te_zoneid == peer_tep->te_zoneid) &&
- (tep->te_transport == peer_tep->te_transport)));
+ (tep->te_transport == peer_tep->te_transport));
if ((rc == 0) && (peer_tep->te_closing)) {
tl_refrele(peer_tep);
@@ -5307,8 +5295,8 @@
(mod_hash_val_t *)&peer_tep, tl_find_callback);
ASSERT(IS_SOCKET(tep));
- ASSERT(EQUIV(rc == 0, peer_tep != NULL));
- ASSERT(IMPLY(rc == 0, (tep->te_transport == peer_tep->te_transport)));
+ EQUIV(rc == 0, peer_tep != NULL);
+ IMPLY(rc == 0, (tep->te_transport == peer_tep->te_transport));
if (peer_tep != NULL) {
/* Don't attempt to use closing peer. */
--- a/usr/src/uts/common/os/dumpsubr.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/os/dumpsubr.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -692,9 +692,9 @@
{
pw->mp = phys_install;
pw->basenum = 0;
- pw->mppages = pw->mp->size >> PAGESHIFT;
+ pw->mppages = pw->mp->ml_size >> PAGESHIFT;
pw->mpleft = pw->mppages;
- pw->mpaddr = pw->mp->address >> PAGESHIFT;
+ pw->mpaddr = pw->mp->ml_address >> PAGESHIFT;
}
/*
@@ -713,11 +713,11 @@
}
bitnum -= pw->mppages;
pw->basenum += pw->mppages;
- pw->mp = pw->mp->next;
+ pw->mp = pw->mp->ml_next;
if (pw->mp != NULL) {
- pw->mppages = pw->mp->size >> PAGESHIFT;
+ pw->mppages = pw->mp->ml_size >> PAGESHIFT;
pw->mpleft = pw->mppages;
- pw->mpaddr = pw->mp->address >> PAGESHIFT;
+ pw->mpaddr = pw->mp->ml_address >> PAGESHIFT;
}
}
return (PFN_INVALID);
@@ -729,11 +729,11 @@
struct memlist *mp;
pgcnt_t bitnum = 0;
- for (mp = phys_install; mp != NULL; mp = mp->next) {
- if (pfn >= (mp->address >> PAGESHIFT) &&
- pfn < ((mp->address + mp->size) >> PAGESHIFT))
- return (bitnum + pfn - (mp->address >> PAGESHIFT));
- bitnum += mp->size >> PAGESHIFT;
+ for (mp = phys_install; mp != NULL; mp = mp->ml_next) {
+ if (pfn >= (mp->ml_address >> PAGESHIFT) &&
+ pfn < ((mp->ml_address + mp->ml_size) >> PAGESHIFT))
+ return (bitnum + pfn - (mp->ml_address >> PAGESHIFT));
+ bitnum += mp->ml_size >> PAGESHIFT;
}
return ((pgcnt_t)-1);
}
--- a/usr/src/uts/common/os/mem_cage.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/os/mem_cage.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -386,20 +386,20 @@
ASSERT(kcage_arena != NULL);
if (d == KCAGE_DOWN) {
- while (ml->next != NULL)
- ml = ml->next;
+ while (ml->ml_next != NULL)
+ ml = ml->ml_next;
}
rw_enter(&kcage_range_rwlock, RW_WRITER);
while (ml != NULL) {
- ret = kcage_range_add_internal(btop(ml->address),
- btop(ml->size), d);
+ ret = kcage_range_add_internal(btop(ml->ml_address),
+ btop(ml->ml_size), d);
if (ret)
panic("kcage_range_add_internal failed: "
"ml=%p, ret=0x%x\n", (void *)ml, ret);
- ml = (d == KCAGE_DOWN ? ml->prev : ml->next);
+ ml = (d == KCAGE_DOWN ? ml->ml_prev : ml->ml_next);
}
rw_exit(&kcage_range_rwlock);
--- a/usr/src/uts/common/os/mem_config.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/os/mem_config.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -879,10 +879,10 @@
size = (uint64_t)npgs << PAGESHIFT;
while (size != 0) {
memlist_read_lock();
- for (mlp = phys_install; mlp != NULL; mlp = mlp->next) {
- if (address >= (mlp->address + mlp->size))
+ for (mlp = phys_install; mlp != NULL; mlp = mlp->ml_next) {
+ if (address >= (mlp->ml_address + mlp->ml_size))
continue;
- if ((address + size) > mlp->address)
+ if ((address + size) > mlp->ml_address)
break;
}
if (mlp == NULL) {
@@ -890,13 +890,15 @@
size = 0;
thislen = 0;
} else {
- if (address < mlp->address) {
- size -= (mlp->address - address);
- address = mlp->address;
+ if (address < mlp->ml_address) {
+ size -= (mlp->ml_address - address);
+ address = mlp->ml_address;
}
- ASSERT(address >= mlp->address);
- if ((address + size) > (mlp->address + mlp->size)) {
- thislen = mlp->size - (address - mlp->address);
+ ASSERT(address >= mlp->ml_address);
+ if ((address + size) >
+ (mlp->ml_address + mlp->ml_size)) {
+ thislen =
+ mlp->ml_size - (address - mlp->ml_address);
} else {
thislen = size;
}
--- a/usr/src/uts/common/os/memlist_new.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/os/memlist_new.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,12 +19,10 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/types.h>
#include <sys/cmn_err.h>
#include <sys/mutex.h>
@@ -48,7 +46,7 @@
mutex_enter(&memlist_freelist_mutex);
mlp = memlist_freelist;
if (mlp != NULL) {
- memlist_freelist = mlp->next;
+ memlist_freelist = mlp->ml_next;
memlist_freelist_count--;
}
mutex_exit(&memlist_freelist_mutex);
@@ -62,7 +60,7 @@
ASSERT(mlp != NULL);
mutex_enter(&memlist_freelist_mutex);
- mlp->next = memlist_freelist;
+ mlp->ml_next = memlist_freelist;
memlist_freelist = mlp;
memlist_freelist_count++;
mutex_exit(&memlist_freelist_mutex);
@@ -79,10 +77,10 @@
}
count = 1;
- for (mlendp = mlp; mlendp->next != NULL; mlendp = mlendp->next)
+ for (mlendp = mlp; mlendp->ml_next != NULL; mlendp = mlendp->ml_next)
count++;
mutex_enter(&memlist_freelist_mutex);
- mlendp->next = memlist_freelist;
+ mlendp->ml_next = memlist_freelist;
memlist_freelist = mlp;
memlist_freelist_count += count;
mutex_exit(&memlist_freelist_mutex);
@@ -101,11 +99,11 @@
mlp = (struct memlist *)base;
mlendp = &mlp[count - 1];
for (; mlp != mlendp; mlp++)
- mlp->next = mlp + 1;
- mlendp->next = NULL;
+ mlp->ml_next = mlp + 1;
+ mlendp->ml_next = NULL;
mlp = (struct memlist *)base;
mutex_enter(&memlist_freelist_mutex);
- mlendp->next = memlist_freelist;
+ mlendp->ml_next = memlist_freelist;
memlist_freelist = mlp;
memlist_freelist_count += count;
mutex_exit(&memlist_freelist_mutex);
@@ -124,29 +122,29 @@
struct memlist *cur, *last;
uint64_t start, end;
- start = new->address;
- end = start + new->size;
+ start = new->ml_address;
+ end = start + new->ml_size;
last = NULL;
- for (cur = *curmemlistp; cur; cur = cur->next) {
+ for (cur = *curmemlistp; cur; cur = cur->ml_next) {
last = cur;
- if (cur->address >= end) {
- new->next = cur;
- new->prev = cur->prev;
- cur->prev = new;
+ if (cur->ml_address >= end) {
+ new->ml_next = cur;
+ new->ml_prev = cur->ml_prev;
+ cur->ml_prev = new;
if (cur == *curmemlistp)
*curmemlistp = new;
else
- new->prev->next = new;
+ new->ml_prev->ml_next = new;
return;
}
- if (cur->address + cur->size > start)
+ if (cur->ml_address + cur->ml_size > start)
panic("munged memory list = 0x%p\n",
(void *)curmemlistp);
}
- new->next = NULL;
- new->prev = last;
+ new->ml_next = NULL;
+ new->ml_prev = last;
if (last != NULL)
- last->next = new;
+ last->ml_next = new;
}
void
@@ -159,31 +157,31 @@
*/
struct memlist *mlp;
- for (mlp = *curmemlistp; mlp != NULL; mlp = mlp->next)
+ for (mlp = *curmemlistp; mlp != NULL; mlp = mlp->ml_next)
if (mlp == memlistp)
break;
ASSERT(mlp == memlistp);
#endif /* DEBUG */
if (*curmemlistp == memlistp) {
- ASSERT(memlistp->prev == NULL);
- *curmemlistp = memlistp->next;
+ ASSERT(memlistp->ml_prev == NULL);
+ *curmemlistp = memlistp->ml_next;
}
- if (memlistp->prev != NULL) {
- ASSERT(memlistp->prev->next == memlistp);
- memlistp->prev->next = memlistp->next;
+ if (memlistp->ml_prev != NULL) {
+ ASSERT(memlistp->ml_prev->ml_next == memlistp);
+ memlistp->ml_prev->ml_next = memlistp->ml_next;
}
- if (memlistp->next != NULL) {
- ASSERT(memlistp->next->prev == memlistp);
- memlistp->next->prev = memlistp->prev;
+ if (memlistp->ml_next != NULL) {
+ ASSERT(memlistp->ml_next->ml_prev == memlistp);
+ memlistp->ml_next->ml_prev = memlistp->ml_prev;
}
}
struct memlist *
memlist_find(struct memlist *mlp, uint64_t address)
{
- for (; mlp != NULL; mlp = mlp->next)
- if (address >= mlp->address &&
- address < (mlp->address + mlp->size))
+ for (; mlp != NULL; mlp = mlp->ml_next)
+ if (address >= mlp->ml_address &&
+ address < (mlp->ml_address + mlp->ml_size))
break;
return (mlp);
}
@@ -214,15 +212,15 @@
return (MEML_SPANOP_EALLOC);
}
- dst->address = address;
- dst->size = bytes;
+ dst->ml_address = address;
+ dst->ml_size = bytes;
/*
* First insert.
*/
if (*curmemlistp == NULL) {
- dst->prev = NULL;
- dst->next = NULL;
+ dst->ml_prev = NULL;
+ dst->ml_next = NULL;
*curmemlistp = dst;
return (MEML_SPANOP_OK);
}
@@ -231,8 +229,8 @@
* Insert into sorted list.
*/
for (prev = NULL, next = *curmemlistp; next != NULL;
- prev = next, next = next->next) {
- if (address > (next->address + next->size))
+ prev = next, next = next->ml_next) {
+ if (address > (next->ml_address + next->ml_size))
continue;
/*
@@ -242,11 +240,11 @@
/*
* Prepend to next.
*/
- if ((address + bytes) == next->address) {
+ if ((address + bytes) == next->ml_address) {
memlist_free_one(dst);
- next->address = address;
- next->size += bytes;
+ next->ml_address = address;
+ next->ml_size += bytes;
return (MEML_SPANOP_OK);
}
@@ -254,45 +252,47 @@
/*
* Append to next.
*/
- if (address == (next->address + next->size)) {
+ if (address == (next->ml_address + next->ml_size)) {
memlist_free_one(dst);
- if (next->next) {
+ if (next->ml_next) {
/*
- * don't overlap with next->next
+ * don't overlap with next->ml_next
*/
- if ((address + bytes) > next->next->address) {
+ if ((address + bytes) >
+ next->ml_next->ml_address) {
return (MEML_SPANOP_ESPAN);
}
/*
- * Concatenate next and next->next
+ * Concatenate next and next->ml_next
*/
- if ((address + bytes) == next->next->address) {
- struct memlist *mlp = next->next;
+ if ((address + bytes) ==
+ next->ml_next->ml_address) {
+ struct memlist *mlp = next->ml_next;
if (next == *curmemlistp)
- *curmemlistp = next->next;
+ *curmemlistp = next->ml_next;
- mlp->address = next->address;
- mlp->size += next->size;
- mlp->size += bytes;
+ mlp->ml_address = next->ml_address;
+ mlp->ml_size += next->ml_size;
+ mlp->ml_size += bytes;
- if (next->prev)
- next->prev->next = mlp;
- mlp->prev = next->prev;
+ if (next->ml_prev)
+ next->ml_prev->ml_next = mlp;
+ mlp->ml_prev = next->ml_prev;
memlist_free_one(next);
return (MEML_SPANOP_OK);
}
}
- next->size += bytes;
+ next->ml_size += bytes;
return (MEML_SPANOP_OK);
}
/* don't overlap with next */
- if ((address + bytes) > next->address) {
+ if ((address + bytes) > next->ml_address) {
memlist_free_one(dst);
return (MEML_SPANOP_ESPAN);
}
@@ -300,13 +300,13 @@
/*
* Insert before next.
*/
- dst->prev = prev;
- dst->next = next;
- next->prev = dst;
+ dst->ml_prev = prev;
+ dst->ml_next = next;
+ next->ml_prev = dst;
if (prev == NULL) {
*curmemlistp = dst;
} else {
- prev->next = dst;
+ prev->ml_next = dst;
}
return (MEML_SPANOP_OK);
}
@@ -314,9 +314,9 @@
/*
* End of list, prev is valid and next is NULL.
*/
- prev->next = dst;
- dst->prev = prev;
- dst->next = NULL;
+ prev->ml_next = dst;
+ dst->ml_prev = prev;
+ dst->ml_next = NULL;
return (MEML_SPANOP_OK);
}
@@ -339,9 +339,9 @@
/*
* Find element containing address.
*/
- for (next = *curmemlistp; next != NULL; next = next->next) {
- if ((address >= next->address) &&
- (address < next->address + next->size))
+ for (next = *curmemlistp; next != NULL; next = next->ml_next) {
+ if ((address >= next->ml_address) &&
+ (address < next->ml_address + next->ml_size))
break;
}
@@ -355,32 +355,32 @@
/*
* Error if size goes off end of this struct memlist.
*/
- if (address + bytes > next->address + next->size) {
+ if (address + bytes > next->ml_address + next->ml_size) {
return (MEML_SPANOP_ESPAN);
}
/*
* Span at beginning of struct memlist.
*/
- if (address == next->address) {
+ if (address == next->ml_address) {
/*
* If start & size match, delete from list.
*/
- if (bytes == next->size) {
+ if (bytes == next->ml_size) {
if (next == *curmemlistp)
- *curmemlistp = next->next;
- if (next->prev != NULL)
- next->prev->next = next->next;
- if (next->next != NULL)
- next->next->prev = next->prev;
+ *curmemlistp = next->ml_next;
+ if (next->ml_prev != NULL)
+ next->ml_prev->ml_next = next->ml_next;
+ if (next->ml_next != NULL)
+ next->ml_next->ml_prev = next->ml_prev;
memlist_free_one(next);
} else {
/*
* Increment start address by bytes.
*/
- next->address += bytes;
- next->size -= bytes;
+ next->ml_address += bytes;
+ next->ml_size -= bytes;
}
return (MEML_SPANOP_OK);
}
@@ -388,11 +388,11 @@
/*
* Span at end of struct memlist.
*/
- if (address + bytes == next->address + next->size) {
+ if (address + bytes == next->ml_address + next->ml_size) {
/*
* decrement size by bytes
*/
- next->size -= bytes;
+ next->ml_size -= bytes;
return (MEML_SPANOP_OK);
}
@@ -413,9 +413,10 @@
* Existing struct memlist gets address
* and size up to start of span.
*/
- dst->address = address + bytes;
- dst->size = (next->address + next->size) - dst->address;
- next->size = address - next->address;
+ dst->ml_address = address + bytes;
+ dst->ml_size =
+ (next->ml_address + next->ml_size) - dst->ml_address;
+ next->ml_size = address - next->ml_address;
/*
* New struct memlist gets address starting
@@ -425,12 +426,12 @@
/*
* link in new memlist after old
*/
- dst->next = next->next;
- dst->prev = next;
+ dst->ml_next = next->ml_next;
+ dst->ml_prev = next;
- if (next->next != NULL)
- next->next->prev = dst;
- next->next = dst;
+ if (next->ml_next != NULL)
+ next->ml_next->ml_prev = dst;
+ next->ml_next = dst;
}
return (MEML_SPANOP_OK);
}
--- a/usr/src/uts/common/os/strsubr.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/os/strsubr.c Tue Jan 12 17:06:34 2010 -0800
@@ -384,17 +384,6 @@
};
/*
- * Special form of assertion: verify that X implies Y i.e. when X is true Y
- * should also be true.
- */
-#define IMPLY(X, Y) ASSERT(!(X) || (Y))
-
-/*
- * Logical equivalence. Verify that both X and Y are either TRUE or FALSE.
- */
-#define EQUIV(X, Y) { IMPLY(X, Y); IMPLY(Y, X); }
-
-/*
* Verify correctness of list head/tail pointers.
*/
#define LISTCHECK(head, tail, link) { \
--- a/usr/src/uts/common/os/subr.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/os/subr.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,16 +19,13 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/types.h>
#include <sys/sysmacros.h>
#include <sys/param.h>
@@ -383,10 +380,10 @@
address_in_memlist(struct memlist *mp, uint64_t addr, size_t len)
{
while (mp != 0) {
- if ((addr >= mp->address) &&
- (addr + len <= mp->address + mp->size))
+ if ((addr >= mp->ml_address) &&
+ (addr + len <= mp->ml_address + mp->ml_size))
return (1); /* TRUE */
- mp = mp->next;
+ mp = mp->ml_next;
}
return (0); /* FALSE */
}
--- a/usr/src/uts/common/os/taskq.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/os/taskq.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -1742,8 +1742,6 @@
maxalloc, proc, dc, flags | TASKQ_NOINSTANCE | TASKQ_DUTY_CYCLE));
}
-#define IMPLY(a, b) ASSERT((!(a)) || (b)) /* if (a) { ASSERT (b) } */
-
static taskq_t *
taskq_create_common(const char *name, int instance, int nthreads, pri_t pri,
int minalloc, int maxalloc, proc_t *proc, uint_t dc, uint_t flags)
--- a/usr/src/uts/common/sys/debug.h Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/sys/debug.h Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -74,6 +74,25 @@
#endif
/*
+ * IMPLY and EQUIV are assertions of the form:
+ *
+ * if (a) then (b)
+ * and
+ * if (a) then (b) *AND* if (b) then (a)
+ */
+#if DEBUG
+#define IMPLY(A, B) \
+ ((void)(((!(A)) || (B)) || \
+ assfail("(" #A ") implies (" #B ")", __FILE__, __LINE__)))
+#define EQUIV(A, B) \
+ ((void)((!!(A) == !!(B)) || \
+ assfail("(" #A ") is equivalent to (" #B ")", __FILE__, __LINE__)))
+#else
+#define IMPLY(A, B) ((void)0)
+#define EQUIV(A, B) ((void)0)
+#endif
+
+/*
* ASSERT3() behaves like ASSERT() except that it is an explicit conditional,
* and prints out the values of the left and right hand expressions as part of
* the panic message to ease debugging. The three variants imply the type
--- a/usr/src/uts/common/sys/dld_impl.h Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/sys/dld_impl.h Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -306,8 +306,6 @@
* Useful macros.
*/
-#define IMPLY(p, c) (!(p) || (c))
-
#define DLD_SETQFULL(dsp) { \
queue_t *q = (dsp)->ds_wq; \
\
--- a/usr/src/uts/common/sys/memlist.h Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/common/sys/memlist.h Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -40,12 +40,12 @@
* Boot programs of version 4 and greater pass a linked list
* of struct memlist to the kernel.
*/
-struct memlist {
- uint64_t address; /* starting address of memory segment */
- uint64_t size; /* size of same */
- struct memlist *next; /* link to next list element */
- struct memlist *prev; /* link to previous list element */
-};
+typedef struct memlist {
+ uint64_t ml_address; /* starting address of memory segment */
+ uint64_t ml_size; /* size of same */
+ struct memlist *ml_next; /* link to next list element */
+ struct memlist *ml_prev; /* link to previous list element */
+} memlist_t;
extern int address_in_memlist(struct memlist *, uint64_t, size_t);
--- a/usr/src/uts/i86pc/io/intel_iommu.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/i86pc/io/intel_iommu.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Portions Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Portions Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
@@ -1935,16 +1935,16 @@
memlist_read_lock();
mp = phys_install;
- end = (mp->address + mp->size);
+ end = (mp->ml_address + mp->ml_size);
/*
* Skip page 0: vmem_create wont like it for obvious
* reasons.
*/
- if (mp->address == 0) {
+ if (mp->ml_address == 0) {
start = IOMMU_PAGE_SIZE;
} else {
- start = mp->address;
+ start = mp->ml_address;
}
cmn_err(CE_CONT, "?Adding iova [0x%" PRIx64
@@ -1965,17 +1965,17 @@
cmn_err(CE_PANIC, "Unable to inialize vmem map\n");
}
- mp = mp->next;
+ mp = mp->ml_next;
while (mp) {
vmem_ret = vmem_add(domain->dm_dvma_map,
- (void *)((uintptr_t)mp->address),
- mp->size, VM_NOSLEEP);
+ (void *)((uintptr_t)mp->ml_address),
+ mp->ml_size, VM_NOSLEEP);
cmn_err(CE_CONT, "?Adding iova [0x%" PRIx64
- " - 0x%" PRIx64 "] to %s\n", mp->address,
- mp->address + mp->size, vmem_name);
+ " - 0x%" PRIx64 "] to %s\n", mp->ml_address,
+ mp->ml_address + mp->ml_size, vmem_name);
if (!vmem_ret)
cmn_err(CE_PANIC, "Unable to inialize vmem map\n");
- mp = mp->next;
+ mp = mp->ml_next;
}
memlist_read_unlock();
@@ -2834,12 +2834,12 @@
mp = phys_install;
while (mp != NULL) {
(void) iommu_map_page_range(domain,
- mp->address & IOMMU_PAGE_MASK,
- mp->address & IOMMU_PAGE_MASK,
- (mp->address + mp->size - 1) & IOMMU_PAGE_MASK,
+ mp->ml_address & IOMMU_PAGE_MASK,
+ mp->ml_address & IOMMU_PAGE_MASK,
+ (mp->ml_address + mp->ml_size - 1) & IOMMU_PAGE_MASK,
DDI_DMA_READ | DDI_DMA_WRITE |
IOMMU_PAGE_PROP_NOSYNC);
- mp = mp->next;
+ mp = mp->ml_next;
}
memlist_read_unlock();
@@ -2870,15 +2870,15 @@
mp = bios_rsvd;
while (mp != 0) {
(void) iommu_map_page_range(domain,
- mp->address & IOMMU_PAGE_MASK,
- mp->address & IOMMU_PAGE_MASK,
- (mp->address + mp->size - 1) & IOMMU_PAGE_MASK,
+ mp->ml_address & IOMMU_PAGE_MASK,
+ mp->ml_address & IOMMU_PAGE_MASK,
+ (mp->ml_address + mp->ml_size - 1) & IOMMU_PAGE_MASK,
DDI_DMA_READ | DDI_DMA_WRITE |
IOMMU_PAGE_PROP_NOSYNC);
cmn_err(CE_CONT, "?Mapping Reservd [0x%" PRIx64
- " - 0x%" PRIx64 "]\n", mp->address,
- (mp->address + mp->size));
- mp = mp->next;
+ " - 0x%" PRIx64 "]\n", mp->ml_address,
+ (mp->ml_address + mp->ml_size));
+ mp = mp->ml_next;
}
}
--- a/usr/src/uts/i86pc/os/fakebop.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/i86pc/os/fakebop.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -194,9 +194,9 @@
* find the highest available memory in physinstalled
*/
size = P2ROUNDUP(size, align);
- for (; ml; ml = ml->next) {
- start = P2ROUNDUP(ml->address, align);
- end = P2ALIGN(ml->address + ml->size, align);
+ for (; ml; ml = ml->ml_next) {
+ start = P2ROUNDUP(ml->ml_address, align);
+ end = P2ALIGN(ml->ml_address + ml->ml_size, align);
if (start < next_phys)
start = P2ROUNDUP(next_phys, align);
if (end > high_phys)
--- a/usr/src/uts/i86pc/os/lgrpplat.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/i86pc/os/lgrpplat.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -492,11 +492,11 @@
while (list) {
int node;
- start = list->address >> PAGESHIFT;
- end = (list->address + list->size - 1) >> PAGESHIFT;
+ start = list->ml_address >> PAGESHIFT;
+ end = (list->ml_address + list->ml_size - 1) >> PAGESHIFT;
if (start > physmax) {
- list = list->next;
+ list = list->ml_next;
continue;
}
if (end > physmax)
@@ -507,7 +507,7 @@
*/
if (max_mem_nodes == 1) {
mem_node_add_slice(start, end);
- list = list->next;
+ list = list->ml_next;
continue;
}
@@ -565,7 +565,7 @@
cur_start = cur_end + 1;
} while (cur_end < end);
- list = list->next;
+ list = list->ml_next;
}
mem_node_physalign = 0;
mem_node_pfn_shift = 0;
@@ -1829,14 +1829,14 @@
return ((pgcnt_t)freemem);
case LGRP_MEM_SIZE_AVAIL:
memlist_read_lock();
- for (mlist = phys_avail; mlist; mlist = mlist->next)
- npgs += btop(mlist->size);
+ for (mlist = phys_avail; mlist; mlist = mlist->ml_next)
+ npgs += btop(mlist->ml_size);
memlist_read_unlock();
return (npgs);
case LGRP_MEM_SIZE_INSTALL:
memlist_read_lock();
- for (mlist = phys_install; mlist; mlist = mlist->next)
- npgs += btop(mlist->size);
+ for (mlist = phys_install; mlist; mlist = mlist->ml_next)
+ npgs += btop(mlist->ml_size);
memlist_read_unlock();
return (npgs);
default:
--- a/usr/src/uts/i86pc/os/machdep.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/i86pc/os/machdep.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -1196,8 +1196,8 @@
return (xpv_nr_phys_pages());
#endif /* __xpv */
- for (mp = phys_install; mp != NULL; mp = mp->next)
- npages += mp->size >> PAGESHIFT;
+ for (mp = phys_install; mp != NULL; mp = mp->ml_next)
+ npages += mp->ml_size >> PAGESHIFT;
return (npages);
}
--- a/usr/src/uts/i86pc/os/memnode.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/i86pc/os/memnode.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -200,14 +200,15 @@
* Boot install lists are arranged <addr, len>, ...
*/
while (list) {
- start = list->address >> PAGESHIFT;
+ start = list->ml_address >> PAGESHIFT;
if (start > physmax)
continue;
- end = (list->address + list->size - 1) >> PAGESHIFT;
+ end =
+ (list->ml_address + list->ml_size - 1) >> PAGESHIFT;
if (end > physmax)
end = physmax;
mem_node_add_range(start, end);
- list = list->next;
+ list = list->ml_next;
}
mem_node_physalign = 0;
mem_node_pfn_shift = 0;
@@ -267,9 +268,9 @@
memlist_read_lock();
- for (pmem = mlist; pmem; pmem = pmem->next) {
- cur_base = btop(pmem->address);
- cur_end = cur_base + btop(pmem->size) - 1;
+ for (pmem = mlist; pmem; pmem = pmem->ml_next) {
+ cur_base = btop(pmem->ml_address);
+ cur_end = cur_base + btop(pmem->ml_size) - 1;
if (end < cur_base || base > cur_end)
continue;
npgs = npgs + (MIN(cur_end, end) -
--- a/usr/src/uts/i86pc/os/memscrub.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/i86pc/os/memscrub.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -182,8 +182,8 @@
/*
* copy phys_install to memscrub_memlist
*/
- for (src = phys_install; src; src = src->next) {
- if (memscrub_add_span(src->address, src->size)) {
+ for (src = phys_install; src; src = src->ml_next) {
+ if (memscrub_add_span(src->ml_address, src->ml_size)) {
cmn_err(CE_WARN,
"Software memory scrubber failed to initialize\n");
return;
@@ -278,8 +278,8 @@
}
mlp = memscrub_memlist;
- mlp_next_addr = mlp->address;
- mlp_last_addr = mlp->address + mlp->size;
+ mlp_next_addr = mlp->ml_address;
+ mlp_last_addr = mlp->ml_address + mlp->ml_size;
deadline = gethrestime_sec() + memscrub_delay_start_sec;
@@ -358,13 +358,13 @@
reached_end = 0;
if (address + mmu_ptob(pages) >= mlp_last_addr) {
pages = mmu_btop(mlp_last_addr - address);
- mlp = mlp->next;
+ mlp = mlp->ml_next;
if (mlp == NULL) {
reached_end = 1;
mlp = memscrub_memlist;
}
- mlp_next_addr = mlp->address;
- mlp_last_addr = mlp->address + mlp->size;
+ mlp_next_addr = mlp->ml_address;
+ mlp_last_addr = mlp->ml_address + mlp->ml_size;
} else {
mlp_next_addr += mmu_ptob(pages);
}
@@ -477,8 +477,8 @@
prev = NULL;
next = memscrub_memlist;
while (next) {
- uint64_t ns = next->address;
- uint64_t ne = next->address + next->size - 1;
+ uint64_t ns = next->ml_address;
+ uint64_t ne = next->ml_address + next->ml_size - 1;
/*
* If this span overlaps with an existing span, then
@@ -496,7 +496,7 @@
* New span can be appended to an existing one.
*/
if (start == ne + 1) {
- next->size += bytes;
+ next->ml_size += bytes;
goto add_done;
}
@@ -504,8 +504,8 @@
* New span can be prepended to an existing one.
*/
if (end + 1 == ns) {
- next->size += bytes;
- next->address = start;
+ next->ml_size += bytes;
+ next->ml_address = start;
goto add_done;
}
@@ -518,7 +518,7 @@
break;
prev = next;
- next = next->next;
+ next = next->ml_next;
}
/*
@@ -529,18 +529,18 @@
retval = -1;
goto add_done;
}
- dst->address = start;
- dst->size = bytes;
- dst->prev = prev;
- dst->next = next;
+ dst->ml_address = start;
+ dst->ml_size = bytes;
+ dst->ml_prev = prev;
+ dst->ml_next = next;
if (prev)
- prev->next = dst;
+ prev->ml_next = dst;
else
memscrub_memlist = dst;
if (next)
- next->prev = dst;
+ next->ml_prev = dst;
add_done:
--- a/usr/src/uts/i86pc/os/startup.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/i86pc/os/startup.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -554,8 +554,8 @@
prom_printf("MEMLIST: %s:\n", title);
while (mp != NULL) {
prom_printf("\tAddress 0x%" PRIx64 ", size 0x%" PRIx64 "\n",
- mp->address, mp->size);
- mp = mp->next;
+ mp->ml_address, mp->ml_size);
+ mp = mp->ml_next;
}
}
@@ -2388,13 +2388,13 @@
ASSERT(page_hash != NULL && page_hashsz != 0);
cur_memseg = memseg_base;
- for (pmem = phys_avail; pmem && npages; pmem = pmem->next) {
+ for (pmem = phys_avail; pmem && npages; pmem = pmem->ml_next) {
/*
* In a 32 bit kernel can't use higher memory if we're
* not booting in PAE mode. This check takes care of that.
*/
- addr = pmem->address;
- size = pmem->size;
+ addr = pmem->ml_address;
+ size = pmem->ml_size;
if (btop(addr) > physmax)
continue;
@@ -2404,7 +2404,7 @@
if ((addr & MMU_PAGEOFFSET) != 0) {
addr += MMU_PAGEOFFSET;
addr &= ~(uint64_t)MMU_PAGEOFFSET;
- size -= addr - pmem->address;
+ size -= addr - pmem->ml_address;
}
/* only process pages below or equal to physmax */
@@ -2824,28 +2824,28 @@
struct memlist *cur;
uint64_t end = start + len;
- new->address = start;
- new->size = len;
+ new->ml_address = start;
+ new->ml_size = len;
cur = *memlistp;
while (cur) {
- if (cur->address >= end) {
- new->next = cur;
+ if (cur->ml_address >= end) {
+ new->ml_next = cur;
*memlistp = new;
- new->prev = cur->prev;
- cur->prev = new;
+ new->ml_prev = cur->ml_prev;
+ cur->ml_prev = new;
return;
}
- ASSERT(cur->address + cur->size <= start);
- if (cur->next == NULL) {
- cur->next = new;
- new->prev = cur;
- new->next = NULL;
+ ASSERT(cur->ml_address + cur->ml_size <= start);
+ if (cur->ml_next == NULL) {
+ cur->ml_next = new;
+ new->ml_prev = cur;
+ new->ml_next = NULL;
return;
}
- memlistp = &cur->next;
- cur = cur->next;
+ memlistp = &cur->ml_next;
+ cur = cur->ml_next;
}
}
--- a/usr/src/uts/i86pc/vm/i86_mmu.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/i86pc/vm/i86_mmu.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,12 +19,10 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/t_lock.h>
#include <sys/memlist.h>
#include <sys/cpuvar.h>
@@ -333,9 +331,9 @@
* hypervisor these are made read/only at first.
* Later we'll add write permission where possible.
*/
- for (pmem = phys_install; pmem; pmem = pmem->next) {
- paddr = pmem->address;
- psize = pmem->size;
+ for (pmem = phys_install; pmem; pmem = pmem->ml_next) {
+ paddr = pmem->ml_address;
+ psize = pmem->ml_size;
while (psize >= MMU_PAGESIZE) {
/* find the largest page size */
for (l = lpagel; l > 0; l--) {
--- a/usr/src/uts/intel/ia32/os/sundep.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/intel/ia32/os/sundep.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -27,8 +27,6 @@
/* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */
/* All Rights Reserved */
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/types.h>
#include <sys/param.h>
#include <sys/sysmacros.h>
@@ -130,12 +128,12 @@
pfn_t highp; /* high page in a chunk */
int cnt = 0;
- for (; list; list = list->next) {
+ for (; list; list = list->ml_next) {
++cnt;
- highp = (list->address + list->size - 1) >> PAGESHIFT;
+ highp = (list->ml_address + list->ml_size - 1) >> PAGESHIFT;
if (top < highp)
top = highp;
- sumpages += btop(list->size);
+ sumpages += btop(list->ml_size);
}
*high_pfn = top;
@@ -168,24 +166,24 @@
* each range of memory. Note that we may apply the
* filter multiple times against each memlist entry.
*/
- for (; src; src = src->next) {
- addr = P2ROUNDUP(src->address, PAGESIZE);
- eaddr = P2ALIGN(src->address + src->size, PAGESIZE);
+ for (; src; src = src->ml_next) {
+ addr = P2ROUNDUP(src->ml_address, PAGESIZE);
+ eaddr = P2ALIGN(src->ml_address + src->ml_size, PAGESIZE);
while (addr < eaddr) {
size = eaddr - addr;
if (filter != NULL)
filter(&addr, &size);
if (size == 0)
break;
- dst->address = addr;
- dst->size = size;
- dst->next = 0;
+ dst->ml_address = addr;
+ dst->ml_size = size;
+ dst->ml_next = 0;
if (prev == dst) {
- dst->prev = 0;
+ dst->ml_prev = 0;
dst++;
} else {
- dst->prev = prev;
- prev->next = dst;
+ dst->ml_prev = prev;
+ prev->ml_next = dst;
dst++;
prev++;
}
--- a/usr/src/uts/intel/io/pci/pci_boot.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/intel/io/pci/pci_boot.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -665,8 +665,8 @@
for (j = 0; j <= pci_bios_maxbus; j++)
(void) memlist_remove(
&pci_bus_res[j].io_avail,
- list->address, list->size);
- list = list->next;
+ list->ml_address, list->ml_size);
+ list = list->ml_next;
}
/* remove used mem resource */
list = pci_bus_res[i].mem_used;
@@ -674,12 +674,12 @@
for (j = 0; j <= pci_bios_maxbus; j++) {
(void) memlist_remove(
&pci_bus_res[j].mem_avail,
- list->address, list->size);
+ list->ml_address, list->ml_size);
(void) memlist_remove(
&pci_bus_res[j].pmem_avail,
- list->address, list->size);
+ list->ml_address, list->ml_size);
}
- list = list->next;
+ list = list->ml_next;
}
/* remove used prefetchable mem resource */
list = pci_bus_res[i].pmem_used;
@@ -687,12 +687,12 @@
for (j = 0; j <= pci_bios_maxbus; j++) {
(void) memlist_remove(
&pci_bus_res[j].pmem_avail,
- list->address, list->size);
+ list->ml_address, list->ml_size);
(void) memlist_remove(
&pci_bus_res[j].mem_avail,
- list->address, list->size);
+ list->ml_address, list->ml_size);
}
- list = list->next;
+ list = list->ml_next;
}
}
}
@@ -864,11 +864,11 @@
{
if (io == IO) {
- if ((elem->address == 0x3b0 && elem->size == 0xc) ||
- (elem->address == 0x3c0 && elem->size == 0x20))
+ if ((elem->ml_address == 0x3b0 && elem->ml_size == 0xc) ||
+ (elem->ml_address == 0x3c0 && elem->ml_size == 0x20))
return (1);
} else {
- if (elem->address == 0xa0000 && elem->size == 0x20000)
+ if (elem->ml_address == 0xa0000 && elem->ml_size == 0x20000)
return (1);
}
return (0);
@@ -884,7 +884,7 @@
do {
if (!is_vga(l, io))
return (0);
- } while ((l = l->next) != NULL);
+ } while ((l = l->ml_next) != NULL);
return (1);
}
@@ -1117,20 +1117,20 @@
if (is_vga(list, IO))
continue;
if (!io_base) {
- io_base = (uint_t)list->address;
- io_limit = (uint_t)
- list->address + list->size - 1;
+ io_base = (uint_t)list->ml_address;
+ io_limit = (uint_t)list->ml_address +
+ list->ml_size - 1;
io_base =
P2ALIGN(io_base, PPB_IO_ALIGNMENT);
} else {
- if (list->address + list->size >
+ if (list->ml_address + list->ml_size >
io_limit) {
io_limit = (uint_t)
- (list->address +
- list->size - 1);
+ (list->ml_address +
+ list->ml_size - 1);
}
}
- } while ((list = list->next) != NULL);
+ } while ((list = list->ml_next) != NULL);
/* 4K aligned */
io_limit = P2ROUNDUP(io_limit, PPB_IO_ALIGNMENT) - 1;
io_size = io_limit - io_base + 1;
@@ -1199,20 +1199,20 @@
if (is_vga(list, MEM))
continue;
if (mem_base == 0) {
- mem_base = (uint_t)list->address;
+ mem_base = (uint_t)list->ml_address;
mem_base = P2ALIGN(mem_base,
PPB_MEM_ALIGNMENT);
- mem_limit = (uint_t)
- (list->address + list->size - 1);
+ mem_limit = (uint_t)(list->ml_address +
+ list->ml_size - 1);
} else {
- if ((list->address + list->size) >
+ if ((list->ml_address + list->ml_size) >
mem_limit) {
mem_limit = (uint_t)
- (list->address +
- list->size - 1);
+ (list->ml_address +
+ list->ml_size - 1);
}
}
- } while ((list = list->next) != NULL);
+ } while ((list = list->ml_next) != NULL);
mem_limit = P2ROUNDUP(mem_limit, PPB_MEM_ALIGNMENT) - 1;
mem_size = mem_limit + 1 - mem_base;
ASSERT(mem_base <= mem_limit);
@@ -1445,10 +1445,10 @@
entry = pci_bus_res[bus].bus_avail;
while (entry != NULL) {
- current = entry->address + entry->size - 1;
+ current = entry->ml_address + entry->ml_size - 1;
if (current > pci_bus_res[bus].sub_bus)
pci_bus_res[bus].sub_bus = current;
- entry = entry->next;
+ entry = entry->ml_next;
}
}
@@ -3091,25 +3091,25 @@
if (ppb) {
ppb_rp->child_high = ppb_rp->parent_high = type;
ppb_rp->child_mid = ppb_rp->parent_mid =
- (uint32_t)(entry->address >> 32); /* XXX */
+ (uint32_t)(entry->ml_address >> 32); /* XXX */
ppb_rp->child_low = ppb_rp->parent_low =
- (uint32_t)entry->address;
+ (uint32_t)entry->ml_address;
ppb_rp->size_high =
- (uint32_t)(entry->size >> 32); /* XXX */
- ppb_rp->size_low = (uint32_t)entry->size;
+ (uint32_t)(entry->ml_size >> 32); /* XXX */
+ ppb_rp->size_low = (uint32_t)entry->ml_size;
*rp = ++ppb_rp;
} else {
pci_rp->child_high = type;
pci_rp->child_mid = pci_rp->parent_high =
- (uint32_t)(entry->address >> 32); /* XXX */
+ (uint32_t)(entry->ml_address >> 32); /* XXX */
pci_rp->child_low = pci_rp->parent_low =
- (uint32_t)entry->address;
+ (uint32_t)entry->ml_address;
pci_rp->size_high =
- (uint32_t)(entry->size >> 32); /* XXX */
- pci_rp->size_low = (uint32_t)entry->size;
+ (uint32_t)(entry->ml_size >> 32); /* XXX */
+ pci_rp->size_low = (uint32_t)entry->ml_size;
*rp = ++pci_rp;
}
- entry = entry->next;
+ entry = entry->ml_next;
}
}
@@ -3165,9 +3165,9 @@
memlist_remove_list(struct memlist **list, struct memlist *remove_list)
{
while (list && *list && remove_list) {
- (void) memlist_remove(list, remove_list->address,
- remove_list->size);
- remove_list = remove_list->next;
+ (void) memlist_remove(list, remove_list->ml_address,
+ remove_list->ml_size);
+ remove_list = remove_list->ml_next;
}
}
@@ -3180,11 +3180,11 @@
/* assume 32-bit addresses */
sp->pci_phys_hi = type;
sp->pci_phys_mid = 0;
- sp->pci_phys_low = (uint32_t)list->address;
+ sp->pci_phys_low = (uint32_t)list->ml_address;
sp->pci_size_hi = 0;
- sp->pci_size_low = (uint32_t)list->size;
-
- list = list->next;
+ sp->pci_size_low = (uint32_t)list->ml_size;
+
+ list = list->ml_next;
sp++, i++;
}
return (i);
--- a/usr/src/uts/intel/io/pci/pci_memlist.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/intel/io/pci/pci_memlist.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -46,9 +46,9 @@
dprintf("memlist 0x%p content", (void *)listp);
while (listp) {
dprintf("(0x%x%x, 0x%x%x)",
- (int)(listp->address >> 32), (int)listp->address,
- (int)(listp->size >> 32), (int)listp->size);
- listp = listp->next;
+ (int)(listp->ml_address >> 32), (int)listp->ml_address,
+ (int)(listp->ml_size >> 32), (int)listp->ml_size);
+ listp = listp->ml_next;
}
}
@@ -73,7 +73,7 @@
next = *list;
while (next) {
buf = next;
- next = buf->next;
+ next = buf->ml_next;
kmem_free(buf, sizeof (struct memlist));
}
*list = 0;
@@ -89,54 +89,54 @@
/* find the location in list */
next = *listp;
- while (next && next->address <= addr) {
+ while (next && next->ml_address <= addr) {
/*
* Drop if this entry already exists, in whole
* or in part
*/
- if (next->address <= addr &&
- next->address + next->size >= addr + size) {
+ if (next->ml_address <= addr &&
+ next->ml_address + next->ml_size >= addr + size) {
/* next already contains this entire element; drop */
return;
}
/* Is this a "grow block size" request? */
- if (next->address == addr) {
+ if (next->ml_address == addr) {
break;
}
prev = next;
- next = prev->next;
+ next = prev->ml_next;
}
- merge_left = (prev && addr == prev->address + prev->size);
- merge_right = (next && addr + size == next->address);
+ merge_left = (prev && addr == prev->ml_address + prev->ml_size);
+ merge_right = (next && addr + size == next->ml_address);
if (merge_left && merge_right) {
- prev->size += size + next->size;
- prev->next = next->next;
+ prev->ml_size += size + next->ml_size;
+ prev->ml_next = next->ml_next;
memlist_free(next);
return;
}
if (merge_left) {
- prev->size += size;
+ prev->ml_size += size;
return;
}
if (merge_right) {
- next->address = addr;
- next->size += size;
+ next->ml_address = addr;
+ next->ml_size += size;
return;
}
entry = memlist_alloc();
- entry->address = addr;
- entry->size = size;
+ entry->ml_address = addr;
+ entry->ml_size = size;
if (prev == 0) {
- entry->next = *listp;
+ entry->ml_next = *listp;
*listp = entry;
} else {
- entry->next = next;
- prev->next = entry;
+ entry->ml_next = next;
+ prev->ml_next = entry;
}
}
@@ -167,8 +167,8 @@
rem_end = addr + size - 1;
chunk = *listp;
while (chunk) {
- chunk_begin = chunk->address;
- chunk_end = chunk->address + chunk->size - 1;
+ chunk_begin = chunk->ml_address;
+ chunk_end = chunk->ml_address + chunk->ml_size - 1;
begin_in_chunk = IN_RANGE(rem_begin, chunk_begin, chunk_end);
end_in_chunk = IN_RANGE(rem_end, chunk_begin, chunk_end);
@@ -178,9 +178,9 @@
/* spans entire chunk - delete chunk */
delete_chunk = chunk;
if (prev == 0)
- chunk = *listp = chunk->next;
+ chunk = *listp = chunk->ml_next;
else
- chunk = prev->next = chunk->next;
+ chunk = prev->ml_next = chunk->ml_next;
memlist_free(delete_chunk);
/* skip to start of while-loop */
@@ -190,25 +190,25 @@
struct memlist *new;
/* split chunk */
new = memlist_alloc();
- new->address = rem_end + 1;
- new->size = chunk_end - new->address + 1;
- chunk->size = rem_begin - chunk_begin;
- new->next = chunk->next;
- chunk->next = new;
+ new->ml_address = rem_end + 1;
+ new->ml_size = chunk_end - new->ml_address + 1;
+ chunk->ml_size = rem_begin - chunk_begin;
+ new->ml_next = chunk->ml_next;
+ chunk->ml_next = new;
/* done - break out of while-loop */
break;
} else if (begin_in_chunk || end_in_chunk) {
/* trim chunk */
- chunk->size -= MIN(chunk_end, rem_end) -
+ chunk->ml_size -= MIN(chunk_end, rem_end) -
MAX(chunk_begin, rem_begin) + 1;
if (rem_begin <= chunk_begin) {
- chunk->address = rem_end + 1;
+ chunk->ml_address = rem_end + 1;
break;
}
/* fall-through to next chunk */
}
prev = chunk;
- chunk = chunk->next;
+ chunk = chunk->ml_next;
}
return (0);
@@ -227,21 +227,21 @@
/* find the chunk with sufficient size */
next = *listp;
while (next) {
- delta = next->address & ((align != 0) ? (align - 1) : 0);
+ delta = next->ml_address & ((align != 0) ? (align - 1) : 0);
if (delta != 0)
total_size = size + align - delta;
else
total_size = size; /* the addr is already aligned */
- if (next->size >= total_size)
+ if (next->ml_size >= total_size)
break;
prev = next;
- next = prev->next;
+ next = prev->ml_next;
}
if (next == 0)
return (0); /* Not found */
- paddr = next->address;
+ paddr = next->ml_address;
if (delta)
paddr += align - delta;
(void) memlist_remove(listp, paddr, size);
@@ -263,21 +263,21 @@
/* find the chunk starting at 'address' */
next = *listp;
- while (next && (next->address != address)) {
- next = next->next;
+ while (next && (next->ml_address != address)) {
+ next = next->ml_next;
}
if (next == 0)
return (0); /* Not found */
- delta = next->address & ((align != 0) ? (align - 1) : 0);
+ delta = next->ml_address & ((align != 0) ? (align - 1) : 0);
if (delta != 0)
total_size = size + align - delta;
else
total_size = size; /* the addr is already aligned */
- if (next->size < total_size)
+ if (next->ml_size < total_size)
return (0); /* unsufficient size */
- paddr = next->address;
+ paddr = next->ml_address;
if (delta)
paddr += align - delta;
(void) memlist_remove(listp, paddr, size);
@@ -295,9 +295,9 @@
head = *src;
while (head) {
- memlist_insert(dest, head->address, head->size);
+ memlist_insert(dest, head->ml_address, head->ml_size);
prev = head;
- head = head->next;
+ head = head->ml_next;
memlist_free(prev);
}
*src = 0;
@@ -313,8 +313,8 @@
p = *src;
while (p) {
- memlist_insert(dest, p->address, p->size);
- p = p->next;
+ memlist_insert(dest, p->ml_address, p->ml_size);
+ p = p->ml_next;
}
}
@@ -328,15 +328,15 @@
while (listp) {
struct memlist *entry = memlist_alloc();
- entry->address = listp->address;
- entry->size = listp->size;
- entry->next = 0;
+ entry->ml_address = listp->ml_address;
+ entry->ml_size = listp->ml_size;
+ entry->ml_next = 0;
if (prev)
- prev->next = entry;
+ prev->ml_next = entry;
else
head = entry;
prev = entry;
- listp = listp->next;
+ listp = listp->ml_next;
}
return (head);
@@ -348,7 +348,7 @@
int count = 0;
while (listp) {
count++;
- listp = listp->next;
+ listp = listp->ml_next;
}
return (count);
--- a/usr/src/uts/intel/io/pci/pci_resource.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/intel/io/pci/pci_resource.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*
* pci_resource.c -- routines to retrieve available bus resources from
@@ -152,31 +152,31 @@
* 'prev' pointer to link existing to new copy
*/
new = memlist_alloc();
- new->address = orig->address;
- new->size = orig->size;
- new->prev = orig;
+ new->ml_address = orig->ml_address;
+ new->ml_size = orig->ml_size;
+ new->ml_prev = orig;
/* sorted insertion of 'new' into ranges list */
for (current = ranges, prev = NULL; current != NULL;
- prev = current, current = current->next)
- if (new->address < current->address)
+ prev = current, current = current->ml_next)
+ if (new->ml_address < current->ml_address)
break;
if (prev == NULL) {
/* place at beginning of (possibly) empty list */
- new->next = ranges;
+ new->ml_next = ranges;
ranges = new;
} else {
/* place in list (possibly at end) */
- new->next = current;
- prev->next = new;
+ new->ml_next = current;
+ prev->ml_next = new;
}
}
/* scan the list, perform trimming */
current = ranges;
while (current != NULL) {
- struct memlist *next = current->next;
+ struct memlist *next = current->ml_next;
/* done when no range above current */
if (next == NULL)
@@ -184,10 +184,11 @@
/*
* trim size in original range element
- * (current->prev points to the original range)
+ * (current->ml_prev points to the original range)
*/
- if ((current->address + current->size) > next->address)
- current->prev->size = next->address - current->address;
+ if ((current->ml_address + current->ml_size) > next->ml_address)
+ current->ml_prev->ml_size =
+ next->ml_address - current->ml_address;
current = next;
}
@@ -495,7 +496,7 @@
*extp);
while (*res) {
struct memlist *tmp = *res;
- *res = tmp->next;
+ *res = tmp->ml_next;
memlist_free(tmp);
}
return (0);
--- a/usr/src/uts/sun4/os/lgrpplat.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4/os/lgrpplat.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -280,14 +280,14 @@
return ((pgcnt_t)freemem);
case LGRP_MEM_SIZE_AVAIL:
memlist_read_lock();
- for (mlist = phys_avail; mlist; mlist = mlist->next)
- npgs += btop(mlist->size);
+ for (mlist = phys_avail; mlist; mlist = mlist->ml_next)
+ npgs += btop(mlist->ml_size);
memlist_read_unlock();
return (npgs);
case LGRP_MEM_SIZE_INSTALL:
memlist_read_lock();
- for (mlist = phys_install; mlist; mlist = mlist->next)
- npgs += btop(mlist->size);
+ for (mlist = phys_install; mlist; mlist = mlist->ml_next)
+ npgs += btop(mlist->ml_size);
memlist_read_unlock();
return (npgs);
default:
--- a/usr/src/uts/sun4/os/memlist.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4/os/memlist.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -96,8 +96,8 @@
pgcnt_t npages = 0;
struct memlist *mp;
- for (mp = phys_install; mp != NULL; mp = mp->next)
- npages += mp->size >> PAGESHIFT;
+ for (mp = phys_install; mp != NULL; mp = mp->ml_next)
+ npages += mp->ml_size >> PAGESHIFT;
return (npages);
}
@@ -166,9 +166,9 @@
{
uint64_t max_size = 0;
- for (; physavail; physavail = physavail->next) {
- if (physavail->size > max_size)
- max_size = physavail->size;
+ for (; physavail; physavail = physavail->ml_next) {
+ if (physavail->ml_size > max_size)
+ max_size = physavail->ml_size;
}
return (max_size);
@@ -247,24 +247,24 @@
* if none, apply func to all of proto item
*/
while (diff != NULL &&
- proto->address >= diff->address + diff->size)
- diff = diff->next;
+ proto->ml_address >= diff->ml_address + diff->ml_size)
+ diff = diff->ml_next;
if (diff == NULL) {
- (*func)(proto->address, proto->size);
- proto = proto->next;
+ (*func)(proto->ml_address, proto->ml_size);
+ proto = proto->ml_next;
continue;
}
- if (proto->address == diff->address &&
- proto->size == diff->size) {
- proto = proto->next;
- diff = diff->next;
+ if (proto->ml_address == diff->ml_address &&
+ proto->ml_size == diff->ml_size) {
+ proto = proto->ml_next;
+ diff = diff->ml_next;
continue;
}
- p_base = proto->address;
- p_end = p_base + proto->size;
- d_base = diff->address;
- d_end = d_base + diff->size;
+ p_base = proto->ml_address;
+ p_end = p_base + proto->ml_size;
+ d_base = diff->ml_address;
+ d_end = d_base + diff->ml_size;
/*
* here p_base < d_end
* there are 5 cases
@@ -279,8 +279,8 @@
* apply func to all of proto item
*/
if (p_end <= d_base) {
- (*func)(p_base, proto->size);
- proto = proto->next;
+ (*func)(p_base, proto->ml_size);
+ proto = proto->ml_next;
continue;
}
@@ -311,7 +311,7 @@
* any non-overlapping ranges applied above,
* so just continue
*/
- proto = proto->next;
+ proto = proto->ml_next;
continue;
}
@@ -332,10 +332,10 @@
* where no overlap occurs. Stop when d_base is above
* p_end
*/
- for (p_base = d_end, diff = diff->next; diff != NULL;
- p_base = d_end, diff = diff->next) {
- d_base = diff->address;
- d_end = d_base + diff->size;
+ for (p_base = d_end, diff = diff->ml_next; diff != NULL;
+ p_base = d_end, diff = diff->ml_next) {
+ d_base = diff->ml_address;
+ d_end = d_base + diff->ml_size;
if (p_end <= d_base) {
(*func)(p_base, p_end - p_base);
break;
@@ -344,7 +344,7 @@
}
if (diff == NULL)
(*func)(p_base, p_end - p_base);
- proto = proto->next;
+ proto = proto->ml_next;
}
}
@@ -412,15 +412,15 @@
prev = dst;
for (i = 0; i < nelems; src++, i++) {
- dst->address = src->addr;
- dst->size = src->size;
- dst->next = 0;
+ dst->ml_address = src->addr;
+ dst->ml_size = src->size;
+ dst->ml_next = 0;
if (prev == dst) {
- dst->prev = 0;
+ dst->ml_prev = 0;
dst++;
} else {
- dst->prev = prev;
- prev->next = dst;
+ dst->ml_prev = prev;
+ prev->ml_next = dst;
dst++;
prev++;
}
@@ -618,11 +618,11 @@
pfn_t highp; /* high page in a chunk */
pgcnt_t sumpages = 0;
- for (; list; list = list->next) {
- highp = (list->address + list->size - 1) >> PAGESHIFT;
+ for (; list; list = list->ml_next) {
+ highp = (list->ml_address + list->ml_size - 1) >> PAGESHIFT;
if (top < highp)
top = highp;
- sumpages += (uint_t)(list->size >> PAGESHIFT);
+ sumpages += (uint_t)(list->ml_size >> PAGESHIFT);
}
*topp = top;
--- a/usr/src/uts/sun4/os/memnode.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4/os/memnode.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -256,9 +256,9 @@
if (&plat_mem_node_intersect_range != NULL) {
memlist_read_lock();
- for (pmem = mlist; pmem; pmem = pmem->next) {
- plat_mem_node_intersect_range(btop(pmem->address),
- btop(pmem->size), mnode, &pages);
+ for (pmem = mlist; pmem; pmem = pmem->ml_next) {
+ plat_mem_node_intersect_range(btop(pmem->ml_address),
+ btop(pmem->ml_size), mnode, &pages);
npgs += pages;
}
@@ -271,9 +271,9 @@
memlist_read_lock();
- for (pmem = mlist; pmem; pmem = pmem->next) {
- cur_base = btop(pmem->address);
- cur_end = cur_base + btop(pmem->size) - 1;
+ for (pmem = mlist; pmem; pmem = pmem->ml_next) {
+ cur_base = btop(pmem->ml_address);
+ cur_end = cur_base + btop(pmem->ml_size) - 1;
if (end < cur_base || base > cur_end)
continue;
npgs = npgs + (MIN(cur_end, end) -
--- a/usr/src/uts/sun4/os/startup.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4/os/startup.c Tue Jan 12 17:06:34 2010 -0800
@@ -312,9 +312,11 @@
while (list) {
prom_printf("\taddr = 0x%x %8x, size = 0x%x %8x\n",
- (uint32_t)(list->address >> 32), (uint32_t)list->address,
- (uint32_t)(list->size >> 32), (uint32_t)(list->size));
- list = list->next;
+ (uint32_t)(list->ml_address >> 32),
+ (uint32_t)list->ml_address,
+ (uint32_t)(list->ml_size >> 32),
+ (uint32_t)(list->ml_size));
+ list = list->ml_next;
}
}
@@ -1373,17 +1375,18 @@
virt_avail = memlist;
copy_memlist(boot_virtavail, boot_virtavail_len, &memlist);
- for (cur = virt_avail; cur->next; cur = cur->next) {
+ for (cur = virt_avail; cur->ml_next; cur = cur->ml_next) {
uint64_t range_base, range_size;
- if ((range_base = cur->address + cur->size) < (uint64_t)sysbase)
+ if ((range_base = cur->ml_address + cur->ml_size) <
+ (uint64_t)sysbase)
continue;
if (range_base >= (uint64_t)syslimit)
break;
/*
* Limit the range to end at syslimit.
*/
- range_size = MIN(cur->next->address,
+ range_size = MIN(cur->ml_next->ml_address,
(uint64_t)syslimit) - range_base;
(void) vmem_xalloc(heap_arena, (size_t)range_size, PAGESIZE,
0, 0, (void *)range_base, (void *)(range_base + range_size),
@@ -2411,8 +2414,8 @@
struct memlist *new;
new = *memlistp;
- new->address = start;
- new->size = len;
+ new->ml_address = start;
+ new->ml_size = len;
*memlistp = new + 1;
}
@@ -2731,8 +2734,8 @@
/*
* Free the avail list
*/
- for (pmem = phys_avail; pmem != NULL; pmem = pmem->next)
- kphysm_add(pmem->address, pmem->size, 0);
+ for (pmem = phys_avail; pmem != NULL; pmem = pmem->ml_next)
+ kphysm_add(pmem->ml_address, pmem->ml_size, 0);
/*
* Erase pages that aren't available
--- a/usr/src/uts/sun4/vm/sfmmu.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4/vm/sfmmu.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -494,10 +494,10 @@
ASSERT(base < end);
- ndata->address = base;
- ndata->size = end - base;
- ndata->next = NULL;
- ndata->prev = NULL;
+ ndata->ml_address = base;
+ ndata->ml_size = end - base;
+ ndata->ml_next = NULL;
+ ndata->ml_prev = NULL;
}
/*
@@ -506,11 +506,11 @@
size_t
ndata_maxsize(struct memlist *ndata)
{
- size_t chunksize = ndata->size;
+ size_t chunksize = ndata->ml_size;
- while ((ndata = ndata->next) != NULL) {
- if (chunksize < ndata->size)
- chunksize = ndata->size;
+ while ((ndata = ndata->ml_next) != NULL) {
+ if (chunksize < ndata->ml_size)
+ chunksize = ndata->ml_size;
}
return (chunksize);
@@ -540,34 +540,34 @@
*/
ASSERT((alignment % ecache_alignsize) == 0);
- while (ndata->next != NULL) {
- wasteage += ndata->size;
- ndata = ndata->next;
+ while (ndata->ml_next != NULL) {
+ wasteage += ndata->ml_size;
+ ndata = ndata->ml_next;
}
- base = roundup(ndata->address, alignment);
+ base = roundup(ndata->ml_address, alignment);
- if (base >= ndata->address + ndata->size)
+ if (base >= ndata->ml_address + ndata->ml_size)
return (NULL);
- if ((caddr_t)(ndata->address + ndata->size) != endaddr) {
+ if ((caddr_t)(ndata->ml_address + ndata->ml_size) != endaddr) {
#ifdef DEBUG
ndata_middle_hole_detected = 1; /* see if we hit this again */
#endif
return (NULL);
}
- if (base == ndata->address) {
- if (ndata->prev != NULL)
- ndata->prev->next = NULL;
+ if (base == ndata->ml_address) {
+ if (ndata->ml_prev != NULL)
+ ndata->ml_prev->ml_next = NULL;
else
- ndata->size = 0;
+ ndata->ml_size = 0;
bzero((void *)base, sizeof (struct memlist));
} else {
- ndata->size = base - ndata->address;
- wasteage += ndata->size;
+ ndata->ml_size = base - ndata->ml_address;
+ wasteage += ndata->ml_size;
}
PRM_DEBUG(wasteage);
@@ -606,22 +606,22 @@
* 4. avoid wasting space, take first fitting buffer
* 5. take the last buffer in chain
*/
- for (frlist = ndata; frlist != NULL; frlist = frlist->next) {
- base = roundup(frlist->address, alignment);
+ for (frlist = ndata; frlist != NULL; frlist = frlist->ml_next) {
+ base = roundup(frlist->ml_address, alignment);
end = roundup(base + wanted, ecache_alignsize);
- if (end > frlist->address + frlist->size)
+ if (end > frlist->ml_address + frlist->ml_size)
continue;
- below = (base - frlist->address) / ecache_alignsize;
- above = (frlist->address + frlist->size - end) /
+ below = (base - frlist->ml_address) / ecache_alignsize;
+ above = (frlist->ml_address + frlist->ml_size - end) /
ecache_alignsize;
unused = below + above;
if (unused == 0)
return (frlist);
- if (frlist->next == NULL)
+ if (frlist->ml_next == NULL)
break;
if (below < best_below) {
@@ -674,52 +674,53 @@
/*
* Allocate the nucleus data buffer.
*/
- base = roundup(found->address, alignment);
+ base = roundup(found->ml_address, alignment);
end = roundup(base + wanted, ecache_alignsize);
- ASSERT(end <= found->address + found->size);
+ ASSERT(end <= found->ml_address + found->ml_size);
- below = base - found->address;
- above = found->address + found->size - end;
+ below = base - found->ml_address;
+ above = found->ml_address + found->ml_size - end;
ASSERT(above == 0 || (above % ecache_alignsize) == 0);
if (below >= ecache_alignsize) {
/*
* There is free memory below the allocated memory chunk.
*/
- found->size = below - below % ecache_alignsize;
+ found->ml_size = below - below % ecache_alignsize;
if (above) {
fnd_above = (struct memlist *)end;
- fnd_above->address = end;
- fnd_above->size = above;
+ fnd_above->ml_address = end;
+ fnd_above->ml_size = above;
- if ((fnd_above->next = found->next) != NULL)
- found->next->prev = fnd_above;
- fnd_above->prev = found;
- found->next = fnd_above;
+ if ((fnd_above->ml_next = found->ml_next) != NULL)
+ found->ml_next->ml_prev = fnd_above;
+ fnd_above->ml_prev = found;
+ found->ml_next = fnd_above;
}
return ((void *)base);
}
- if (found->prev == NULL) {
+ if (found->ml_prev == NULL) {
/*
* The first chunk (ndata) is selected.
*/
ASSERT(found == ndata);
if (above) {
- found->address = end;
- found->size = above;
- } else if (found->next != NULL) {
- found->address = found->next->address;
- found->size = found->next->size;
- if ((found->next = found->next->next) != NULL)
- found->next->prev = found;
+ found->ml_address = end;
+ found->ml_size = above;
+ } else if (found->ml_next != NULL) {
+ found->ml_address = found->ml_next->ml_address;
+ found->ml_size = found->ml_next->ml_size;
+ if ((found->ml_next = found->ml_next->ml_next) != NULL)
+ found->ml_next->ml_prev = found;
- bzero((void *)found->address, sizeof (struct memlist));
+ bzero((void *)found->ml_address,
+ sizeof (struct memlist));
} else {
- found->address = end;
- found->size = 0;
+ found->ml_address = end;
+ found->ml_size = 0;
}
return ((void *)base);
@@ -730,20 +731,20 @@
*/
if (above) {
fnd_above = (struct memlist *)end;
- fnd_above->address = end;
- fnd_above->size = above;
+ fnd_above->ml_address = end;
+ fnd_above->ml_size = above;
- if ((fnd_above->next = found->next) != NULL)
- fnd_above->next->prev = fnd_above;
- fnd_above->prev = found->prev;
- found->prev->next = fnd_above;
+ if ((fnd_above->ml_next = found->ml_next) != NULL)
+ fnd_above->ml_next->ml_prev = fnd_above;
+ fnd_above->ml_prev = found->ml_prev;
+ found->ml_prev->ml_next = fnd_above;
} else {
- if ((found->prev->next = found->next) != NULL)
- found->next->prev = found->prev;
+ if ((found->ml_prev->ml_next = found->ml_next) != NULL)
+ found->ml_next->ml_prev = found->ml_prev;
}
- bzero((void *)found->address, sizeof (struct memlist));
+ bzero((void *)found->ml_address, sizeof (struct memlist));
return ((void *)base);
}
--- a/usr/src/uts/sun4u/io/sbd.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/io/sbd.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -3880,9 +3880,9 @@
* Check if base address is in phys_install.
*/
memlist_read_lock();
- for (ml = phys_install; ml; ml = ml->next)
- if ((endpa <= ml->address) ||
- (basepa >= (ml->address + ml->size)))
+ for (ml = phys_install; ml; ml = ml->ml_next)
+ if ((endpa <= ml->ml_address) ||
+ (basepa >= (ml->ml_address + ml->ml_size)))
continue;
else
break;
@@ -4740,9 +4740,9 @@
* Check if base address is in phys_install.
*/
memlist_read_lock();
- for (ml = phys_install; ml; ml = ml->next)
- if ((endpa <= ml->address) ||
- (basepa >= (ml->address + ml->size)))
+ for (ml = phys_install; ml; ml = ml->ml_next)
+ if ((endpa <= ml->ml_address) ||
+ (basepa >= (ml->ml_address + ml->ml_size)))
continue;
else
break;
--- a/usr/src/uts/sun4u/io/sbd_mem.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/io/sbd_mem.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -333,8 +333,9 @@
}
memlist_read_unlock();
- for (ml = mlist; ml != NULL; ml = ml->next) {
- (void) sbdp_mem_add_span(hdp, ml->address, ml->size);
+ for (ml = mlist; ml != NULL; ml = ml->ml_next) {
+ (void) sbdp_mem_add_span(hdp, ml->ml_address,
+ ml->ml_size);
}
memlist_delete(mlist);
@@ -489,14 +490,14 @@
#endif
hdp = sbd_get_sbdp_handle(NULL, NULL);
- for (; ml; ml = ml->next) {
+ for (; ml; ml = ml->ml_next) {
update_membounds_t umb;
pfn_t base;
pgcnt_t npgs;
int rv;
- base = _b64top(ml->address);
- npgs = _b64top(ml->size);
+ base = _b64top(ml->ml_address);
+ npgs = _b64top(ml->ml_size);
umb.u_board = sbp->sb_num;
umb.u_base = (uint64_t)base << MMU_PAGESHIFT;
@@ -505,7 +506,7 @@
lgrp_plat_config(LGRP_CONFIG_MEM_ADD, (uintptr_t)&umb);
rv = kphysm_add_memory_dynamic(base, npgs);
- (void) sbdp_mem_add_span(hdp, ml->address, ml->size);
+ (void) sbdp_mem_add_span(hdp, ml->ml_address, ml->ml_size);
if (rv != KPHYSM_OK) {
cmn_err(CE_WARN, "sbd:%s:"
@@ -632,9 +633,9 @@
* memlists accordingly with new base
* addresses.
*/
- for (ml = t_mp->sbm_mlist; ml; ml = ml->next) {
- ml->address -= t_basepa;
- ml->address += s_new_basepa;
+ for (ml = t_mp->sbm_mlist; ml; ml = ml->ml_next) {
+ ml->ml_address -= t_basepa;
+ ml->ml_address += s_new_basepa;
}
/*
@@ -647,9 +648,9 @@
PR_MEM("%s: renamed target memlist and delete memlist", f);
SBD_MEMLIST_DUMP(t_mp->sbm_mlist);
- for (ml = s_mp->sbm_mlist; ml; ml = ml->next) {
- ml->address -= s_basepa;
- ml->address += t_basepa;
+ for (ml = s_mp->sbm_mlist; ml; ml = ml->ml_next) {
+ ml->ml_address -= s_basepa;
+ ml->ml_address += t_basepa;
}
PR_MEM("%s: renamed source memlist", f);
@@ -662,9 +663,9 @@
* list is not used beyond this point, and in fact, is
* disposed of at the end of this function.
*/
- for (ml = s_mp->sbm_del_mlist; ml; ml = ml->next) {
- ml->address -= s_basepa;
- ml->address += t_basepa;
+ for (ml = s_mp->sbm_del_mlist; ml; ml = ml->ml_next) {
+ ml->ml_address -= s_basepa;
+ ml->ml_address += t_basepa;
}
PR_MEM("%s: renamed source delete memlist", f);
@@ -1454,8 +1455,8 @@
if (mp->sbm_npages == 0) {
struct memlist *ml, *mlist;
mlist = sbd_get_memlist(mp, ep);
- for (ml = mlist; ml; ml = ml->next)
- mp->sbm_npages += btop(ml->size);
+ for (ml = mlist; ml; ml = ml->ml_next)
+ mp->sbm_npages += btop(ml->ml_size);
memlist_delete(mlist);
}
@@ -1499,9 +1500,9 @@
* with kphysm_del_span. It is possible that a span may intersect
* an area occupied by the cage.
*/
- for (mc = ml; mc != NULL; mc = mc->next) {
- base = _b64top(mc->address);
- npgs = _b64top(mc->size);
+ for (mc = ml; mc != NULL; mc = mc->ml_next) {
+ base = _b64top(mc->ml_address);
+ npgs = _b64top(mc->ml_size);
err = kphysm_del_span(*mhp, base, npgs);
if (err != KPHYSM_OK) {
@@ -1825,11 +1826,11 @@
#ifdef DEBUG
/* sanity check memlist */
d_ml = x_ml;
- while (d_ml->next != NULL)
- d_ml = d_ml->next;
- ASSERT(x_ml->address == _ptob64(s_mp->sbm_basepfn) +
+ while (d_ml->ml_next != NULL)
+ d_ml = d_ml->ml_next;
+ ASSERT(x_ml->ml_address == _ptob64(s_mp->sbm_basepfn) +
_ptob64(t_mp->sbm_slice_offset));
- ASSERT(d_ml->address + d_ml->size ==
+ ASSERT(d_ml->ml_address + d_ml->ml_size ==
_ptob64(s_mq.last_nonrelocatable + 1));
#endif
@@ -2087,7 +2088,7 @@
prev = NULL;
hl = NULL;
- for (; mlist; mlist = mlist->next) {
+ for (; mlist; mlist = mlist->ml_next) {
struct memlist *mp;
mp = memlist_get_one();
@@ -2097,15 +2098,15 @@
hl = NULL;
break;
}
- mp->address = mlist->address;
- mp->size = mlist->size;
- mp->next = NULL;
- mp->prev = prev;
+ mp->ml_address = mlist->ml_address;
+ mp->ml_size = mlist->ml_size;
+ mp->ml_next = NULL;
+ mp->ml_prev = prev;
if (prev == NULL)
hl = mp;
else
- prev->next = mp;
+ prev->ml_next = mp;
prev = mp;
}
@@ -2120,10 +2121,10 @@
if (mlist == NULL) {
PR_MEM("memlist> EMPTY\n");
} else {
- for (ml = mlist; ml; ml = ml->next)
+ for (ml = mlist; ml; ml = ml->ml_next)
PR_MEM("memlist> 0x%" PRIx64 " "
"0x%" PRIx64 " \n",
- ml->address, ml->size);
+ ml->ml_address, ml->ml_size);
}
}
@@ -2135,27 +2136,27 @@
if ((al == NULL) || (bl == NULL))
return (0);
- aend = al->address + al->size;
- bstart = bl->address;
- bend = bl->address + bl->size;
+ aend = al->ml_address + al->ml_size;
+ bstart = bl->ml_address;
+ bend = bl->ml_address + bl->ml_size;
while (al && bl) {
while (al && (aend <= bstart))
- if ((al = al->next) != NULL)
- aend = al->address + al->size;
+ if ((al = al->ml_next) != NULL)
+ aend = al->ml_address + al->ml_size;
if (al == NULL)
return (0);
- if ((astart = al->address) <= bstart)
+ if ((astart = al->ml_address) <= bstart)
return (1);
while (bl && (bend <= astart))
- if ((bl = bl->next) != NULL)
- bend = bl->address + bl->size;
+ if ((bl = bl->ml_next) != NULL)
+ bend = bl->ml_address + bl->ml_size;
if (bl == NULL)
return (0);
- if ((bstart = bl->address) <= astart)
+ if ((bstart = bl->ml_address) <= astart)
return (1);
}
@@ -2180,26 +2181,26 @@
/*
* Base both memlists on common base address (0).
*/
- s_basepa = s_mlist->address;
- t_basepa = t_mlist->address;
-
- for (s_ml = s_mlist; s_ml; s_ml = s_ml->next)
- s_ml->address -= s_basepa;
-
- for (t_ml = t_mlist; t_ml; t_ml = t_ml->next)
- t_ml->address -= t_basepa;
+ s_basepa = s_mlist->ml_address;
+ t_basepa = t_mlist->ml_address;
+
+ for (s_ml = s_mlist; s_ml; s_ml = s_ml->ml_next)
+ s_ml->ml_address -= s_basepa;
+
+ for (t_ml = t_mlist; t_ml; t_ml = t_ml->ml_next)
+ t_ml->ml_address -= t_basepa;
s_ml = s_mlist;
- for (t_ml = t_mlist; t_ml && s_ml; t_ml = t_ml->next) {
+ for (t_ml = t_mlist; t_ml && s_ml; t_ml = t_ml->ml_next) {
uint64_t s_start, s_end;
uint64_t t_start, t_end;
- t_start = t_ml->address;
- t_end = t_start + t_ml->size;
-
- for (; s_ml; s_ml = s_ml->next) {
- s_start = s_ml->address;
- s_end = s_start + s_ml->size;
+ t_start = t_ml->ml_address;
+ t_end = t_start + t_ml->ml_size;
+
+ for (; s_ml; s_ml = s_ml->ml_next) {
+ s_start = s_ml->ml_address;
+ s_end = s_start + s_ml->ml_size;
if ((s_start < t_start) || (s_end > t_end))
break;
@@ -2216,11 +2217,11 @@
* Need to add base addresses back since memlists
* are probably in use by caller.
*/
- for (s_ml = s_mlist; s_ml; s_ml = s_ml->next)
- s_ml->address += s_basepa;
-
- for (t_ml = t_mlist; t_ml; t_ml = t_ml->next)
- t_ml->address += t_basepa;
+ for (s_ml = s_mlist; s_ml; s_ml = s_ml->ml_next)
+ s_ml->ml_address += s_basepa;
+
+ for (t_ml = t_mlist; t_ml; t_ml = t_ml->ml_next)
+ t_ml->ml_address += t_basepa;
return (rv);
}
@@ -2314,13 +2315,13 @@
SBD_MEMLIST_DUMP(ml);
err = 0;
- for (mc = ml; mc; mc = mc->next) {
+ for (mc = ml; mc; mc = mc->ml_next) {
update_membounds_t umb;
pfn_t base;
pgcnt_t npgs;
- base = (pfn_t)(mc->address >> PAGESHIFT);
- npgs = (pgcnt_t)(mc->size >> PAGESHIFT);
+ base = (pfn_t)(mc->ml_address >> PAGESHIFT);
+ npgs = (pgcnt_t)(mc->ml_size >> PAGESHIFT);
umb.u_board = sbp->sb_num;
umb.u_base = (uint64_t)base << MMU_PAGESHIFT;
@@ -2366,7 +2367,7 @@
}
break;
}
- (void) sbdp_mem_add_span(hdp, mc->address, mc->size);
+ (void) sbdp_mem_add_span(hdp, mc->ml_address, mc->ml_size);
}
if (err != 0) {
--- a/usr/src/uts/sun4u/ngdr/io/dr.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/ngdr/io/dr.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -2994,9 +2994,9 @@
* Check if base address is in phys_install.
*/
memlist_read_lock();
- for (ml = phys_install; ml; ml = ml->next)
- if ((endpa <= ml->address) ||
- (basepa >= (ml->address + ml->size)))
+ for (ml = phys_install; ml; ml = ml->ml_next)
+ if ((endpa <= ml->ml_address) ||
+ (basepa >= (ml->ml_address + ml->ml_size)))
continue;
else
break;
--- a/usr/src/uts/sun4u/ngdr/io/dr_mem.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/ngdr/io/dr_mem.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -301,13 +301,13 @@
}
ml = dr_get_memlist(mp);
- for (mc = ml; mc; mc = mc->next) {
+ for (mc = ml; mc; mc = mc->ml_next) {
int rv;
sbd_error_t *err;
rv = kphysm_add_memory_dynamic(
- (pfn_t)(mc->address >> PAGESHIFT),
- (pgcnt_t)(mc->size >> PAGESHIFT));
+ (pfn_t)(mc->ml_address >> PAGESHIFT),
+ (pgcnt_t)(mc->ml_size >> PAGESHIFT));
if (rv != KPHYSM_OK) {
/*
* translate kphysm error and
@@ -335,7 +335,7 @@
}
err = drmach_mem_add_span(
- mp->sbm_cm.sbdev_id, mc->address, mc->size);
+ mp->sbm_cm.sbdev_id, mc->ml_address, mc->ml_size);
if (err) {
DRERR_SET_C(&mp->sbm_cm.sbdev_error, &err);
break;
@@ -376,22 +376,22 @@
(cpuid == CPU_CURRENT) ? CPU->cpu_id : cpuid);
PR_MEMLIST_DUMP(mlist);
- for (ml = mlist; ml; ml = ml->next) {
+ for (ml = mlist; ml; ml = ml->ml_next) {
uint64_t dst_pa;
uint64_t nbytes;
/* calculate the destination physical address */
- dst_pa = ml->address;
- if (ml->address & PAGEOFFSET)
+ dst_pa = ml->ml_address;
+ if (ml->ml_address & PAGEOFFSET)
cmn_err(CE_WARN,
"%s: address (0x%lx) not on "
- "page boundary", f, ml->address);
-
- nbytes = ml->size;
- if (ml->size & PAGEOFFSET)
+ "page boundary", f, ml->ml_address);
+
+ nbytes = ml->ml_size;
+ if (ml->ml_size & PAGEOFFSET)
cmn_err(CE_WARN,
"%s: size (0x%lx) not on "
- "page boundary", f, ml->size);
+ "page boundary", f, ml->ml_size);
/*LINTED*/
while (nbytes > 0) {
@@ -450,8 +450,8 @@
c_ml = memlist_dup(s_mp->sbm_mlist);
d_ml = s_mp->sbm_del_mlist;
while (d_ml != NULL) {
- c_ml = memlist_del_span(c_ml, d_ml->address, d_ml->size);
- d_ml = d_ml->next;
+ c_ml = memlist_del_span(c_ml, d_ml->ml_address, d_ml->ml_size);
+ d_ml = d_ml->ml_next;
}
affinity_set(drmach_mem_cpu_affinity(t_mp->sbm_cm.sbdev_id));
@@ -654,9 +654,10 @@
memlist_read_unlock();
again:
- for (ml = mlist; ml; ml = ml->next) {
- if ((ml->address & sm) != sa) {
- mlist = memlist_del_span(mlist, ml->address, ml->size);
+ for (ml = mlist; ml; ml = ml->ml_next) {
+ if ((ml->ml_address & sm) != sa) {
+ mlist = memlist_del_span(mlist,
+ ml->ml_address, ml->ml_size);
goto again;
}
}
@@ -667,11 +668,11 @@
mp->first_nonrelocatable = (pfn_t)-1; /* XXX */
mp->last_nonrelocatable = 0;
- for (ml = mlist; ml; ml = ml->next) {
+ for (ml = mlist; ml; ml = ml->ml_next) {
memquery_t mq;
rv = kphysm_del_span_query(
- _b64top(ml->address), _b64top(ml->size), &mq);
+ _b64top(ml->ml_address), _b64top(ml->ml_size), &mq);
if (rv)
break;
@@ -971,13 +972,13 @@
}
memlist_read_unlock();
- for (ml = mlist; ml != NULL; ml = ml->next) {
+ for (ml = mlist; ml != NULL; ml = ml->ml_next) {
sbd_error_t *err;
err = drmach_mem_add_span(
mp->sbm_cm.sbdev_id,
- ml->address,
- ml->size);
+ ml->ml_address,
+ ml->ml_size);
if (err)
DRERR_SET_C(&mp->sbm_cm.sbdev_error, &err);
}
@@ -1069,21 +1070,21 @@
memlist_read_unlock();
#endif
- for (; ml; ml = ml->next) {
+ for (; ml; ml = ml->ml_next) {
pfn_t base;
pgcnt_t npgs;
int rv;
sbd_error_t *err;
- base = _b64top(ml->address);
- npgs = _b64top(ml->size);
+ base = _b64top(ml->ml_address);
+ npgs = _b64top(ml->ml_size);
rv = kphysm_add_memory_dynamic(base, npgs);
err = drmach_mem_add_span(
mp->sbm_cm.sbdev_id,
- ml->address,
- ml->size);
+ ml->ml_address,
+ ml->ml_size);
if (err)
DRERR_SET_C(&mp->sbm_cm.sbdev_error, &err);
@@ -1211,9 +1212,9 @@
* Used to add back excess target mem.
*/
s_copy_mlist = memlist_dup(s_mp->sbm_mlist);
- for (ml = s_mp->sbm_del_mlist; ml; ml = ml->next) {
+ for (ml = s_mp->sbm_del_mlist; ml; ml = ml->ml_next) {
s_copy_mlist = memlist_del_span(s_copy_mlist,
- ml->address, ml->size);
+ ml->ml_address, ml->ml_size);
}
PR_MEM("%s: source copy list:\n:", f);
@@ -1224,9 +1225,9 @@
* memlists accordingly with new base
* addresses.
*/
- for (ml = t_mp->sbm_mlist; ml; ml = ml->next) {
- ml->address -= t_old_basepa;
- ml->address += t_new_basepa;
+ for (ml = t_mp->sbm_mlist; ml; ml = ml->ml_next) {
+ ml->ml_address -= t_old_basepa;
+ ml->ml_address += t_new_basepa;
}
/*
@@ -1239,9 +1240,9 @@
PR_MEM("%s: renamed target memlist and delete memlist:\n", f);
PR_MEMLIST_DUMP(t_mp->sbm_mlist);
- for (ml = s_mp->sbm_mlist; ml; ml = ml->next) {
- ml->address -= s_old_basepa;
- ml->address += s_new_basepa;
+ for (ml = s_mp->sbm_mlist; ml; ml = ml->ml_next) {
+ ml->ml_address -= s_old_basepa;
+ ml->ml_address += s_new_basepa;
}
PR_MEM("%s: renamed source memlist:\n", f);
@@ -1283,24 +1284,24 @@
* node.
*/
t_excess_mlist = memlist_dup(t_mp->sbm_mlist);
- for (ml = s_copy_mlist; ml; ml = ml->next) {
+ for (ml = s_copy_mlist; ml; ml = ml->ml_next) {
t_excess_mlist =
memlist_del_span(t_excess_mlist,
- ml->address, ml->size);
+ ml->ml_address, ml->ml_size);
}
/*
* Update dynamically added segs
*/
- for (ml = s_mp->sbm_del_mlist; ml; ml = ml->next) {
+ for (ml = s_mp->sbm_del_mlist; ml; ml = ml->ml_next) {
t_mp->sbm_dyn_segs =
memlist_del_span(t_mp->sbm_dyn_segs,
- ml->address, ml->size);
+ ml->ml_address, ml->ml_size);
}
- for (ml = t_excess_mlist; ml; ml = ml->next) {
+ for (ml = t_excess_mlist; ml; ml = ml->ml_next) {
t_mp->sbm_dyn_segs =
memlist_cat_span(t_mp->sbm_dyn_segs,
- ml->address, ml->size);
+ ml->ml_address, ml->ml_size);
}
PR_MEM("%s: %s: updated dynamic seg list:\n",
f, t_mp->sbm_cm.sbdev_path);
@@ -1322,9 +1323,9 @@
* list is not used beyond this point, and in fact, is
* disposed of at the end of this function.
*/
- for (ml = s_mp->sbm_del_mlist; ml; ml = ml->next) {
- ml->address -= s_old_basepa;
- ml->address += s_new_basepa;
+ for (ml = s_mp->sbm_del_mlist; ml; ml = ml->ml_next) {
+ ml->ml_address -= s_old_basepa;
+ ml->ml_address += s_new_basepa;
}
PR_MEM("%s: renamed source delete memlist", f);
@@ -1973,8 +1974,8 @@
f, mp->sbm_cm.sbdev_path);
mlist = dr_get_memlist(mp);
- for (ml = mlist; ml; ml = ml->next)
- mp->sbm_npages += btop(ml->size);
+ for (ml = mlist; ml; ml = ml->ml_next)
+ mp->sbm_npages += btop(ml->ml_size);
memlist_delete(mlist);
}
@@ -2021,9 +2022,9 @@
* with kphysm_del_span. It is possible that a span may intersect
* an area occupied by the cage.
*/
- for (mc = ml; mc != NULL; mc = mc->next) {
- base = _b64top(mc->address);
- npgs = _b64top(mc->size);
+ for (mc = ml; mc != NULL; mc = mc->ml_next) {
+ base = _b64top(mc->ml_address);
+ npgs = _b64top(mc->ml_size);
err = kphysm_del_span(*mhp, base, npgs);
if (err != KPHYSM_OK) {
@@ -2434,10 +2435,10 @@
#ifdef DEBUG
/* sanity check memlist */
d_ml = x_ml;
- while (d_ml->next != NULL)
- d_ml = d_ml->next;
-
- ASSERT(d_ml->address + d_ml->size ==
+ while (d_ml->ml_next != NULL)
+ d_ml = d_ml->ml_next;
+
+ ASSERT(d_ml->ml_address + d_ml->ml_size ==
_ptob64(s_mq.last_nonrelocatable + 1));
#endif
@@ -2544,10 +2545,10 @@
s_del_pa);
PR_MEM("%s: checking for split of dyn seg list:\n", f);
PR_MEMLIST_DUMP(s_mp->sbm_dyn_segs);
- for (ml = s_mp->sbm_dyn_segs; ml; ml = ml->next) {
- if (s_del_pa > ml->address &&
- s_del_pa < ml->address + ml->size) {
- s_del_pa = ml->address;
+ for (ml = s_mp->sbm_dyn_segs; ml; ml = ml->ml_next) {
+ if (s_del_pa > ml->ml_address &&
+ s_del_pa < ml->ml_address + ml->ml_size) {
+ s_del_pa = ml->ml_address;
break;
}
}
@@ -2681,26 +2682,26 @@
/*
* Base both memlists on common base address (0).
*/
- s_basepa = s_mlist->address;
- t_basepa = t_mlist->address;
-
- for (s_ml = s_mlist; s_ml; s_ml = s_ml->next)
- s_ml->address -= s_basepa;
-
- for (t_ml = t_mlist; t_ml; t_ml = t_ml->next)
- t_ml->address -= t_basepa;
+ s_basepa = s_mlist->ml_address;
+ t_basepa = t_mlist->ml_address;
+
+ for (s_ml = s_mlist; s_ml; s_ml = s_ml->ml_next)
+ s_ml->ml_address -= s_basepa;
+
+ for (t_ml = t_mlist; t_ml; t_ml = t_ml->ml_next)
+ t_ml->ml_address -= t_basepa;
s_ml = s_mlist;
- for (t_ml = t_mlist; t_ml && s_ml; t_ml = t_ml->next) {
+ for (t_ml = t_mlist; t_ml && s_ml; t_ml = t_ml->ml_next) {
uint64_t s_start, s_end;
uint64_t t_start, t_end;
- t_start = t_ml->address;
- t_end = t_start + t_ml->size;
-
- for (; s_ml; s_ml = s_ml->next) {
- s_start = s_ml->address;
- s_end = s_start + s_ml->size;
+ t_start = t_ml->ml_address;
+ t_end = t_start + t_ml->ml_size;
+
+ for (; s_ml; s_ml = s_ml->ml_next) {
+ s_start = s_ml->ml_address;
+ s_end = s_start + s_ml->ml_size;
if ((s_start < t_start) || (s_end > t_end))
break;
@@ -2717,11 +2718,11 @@
* Need to add base addresses back since memlists
* are probably in use by caller.
*/
- for (s_ml = s_mlist; s_ml; s_ml = s_ml->next)
- s_ml->address += s_basepa;
-
- for (t_ml = t_mlist; t_ml; t_ml = t_ml->next)
- t_ml->address += t_basepa;
+ for (s_ml = s_mlist; s_ml; s_ml = s_ml->ml_next)
+ s_ml->ml_address += s_basepa;
+
+ for (t_ml = t_mlist; t_ml; t_ml = t_ml->ml_next)
+ t_ml->ml_address += t_basepa;
return (rv);
}
--- a/usr/src/uts/sun4u/ngdr/io/dr_util.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/ngdr/io/dr_util.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -177,7 +177,7 @@
register struct memlist *ml;
for (ml = mlist; ml; ml = mlist) {
- mlist = ml->next;
+ mlist = ml->ml_next;
FREESTRUCT(ml, struct memlist, 1);
}
}
@@ -190,27 +190,27 @@
if ((al == NULL) || (bl == NULL))
return (0);
- aend = al->address + al->size;
- bstart = bl->address;
- bend = bl->address + bl->size;
+ aend = al->ml_address + al->ml_size;
+ bstart = bl->ml_address;
+ bend = bl->ml_address + bl->ml_size;
while (al && bl) {
while (al && (aend <= bstart))
- if ((al = al->next) != NULL)
- aend = al->address + al->size;
+ if ((al = al->ml_next) != NULL)
+ aend = al->ml_address + al->ml_size;
if (al == NULL)
return (0);
- if ((astart = al->address) <= bstart)
+ if ((astart = al->ml_address) <= bstart)
return (1);
while (bl && (bend <= astart))
- if ((bl = bl->next) != NULL)
- bend = bl->address + bl->size;
+ if ((bl = bl->ml_next) != NULL)
+ bend = bl->ml_address + bl->ml_size;
if (bl == NULL)
return (0);
- if ((bstart = bl->address) <= astart)
+ if ((bstart = bl->ml_address) <= astart)
return (1);
}
@@ -222,26 +222,27 @@
{
uint64_t end, nend;
- if ((mlist == NULL) || (mlist->next == NULL))
+ if ((mlist == NULL) || (mlist->ml_next == NULL))
return;
- while (mlist->next) {
- end = mlist->address + mlist->size;
- if (mlist->next->address <= end) {
+ while (mlist->ml_next) {
+ end = mlist->ml_address + mlist->ml_size;
+ if (mlist->ml_next->ml_address <= end) {
struct memlist *nl;
- nend = mlist->next->address + mlist->next->size;
+ nend = mlist->ml_next->ml_address +
+ mlist->ml_next->ml_size;
if (nend > end)
- mlist->size += (nend - end);
- nl = mlist->next;
- mlist->next = mlist->next->next;
+ mlist->ml_size += (nend - end);
+ nl = mlist->ml_next;
+ mlist->ml_next = mlist->ml_next->ml_next;
if (nl) {
FREESTRUCT(nl, struct memlist, 1);
}
- if (mlist->next)
- mlist->next->prev = mlist;
+ if (mlist->ml_next)
+ mlist->ml_next->ml_prev = mlist;
} else {
- mlist = mlist->next;
+ mlist = mlist->ml_next;
}
}
}
@@ -254,8 +255,8 @@
if (mlist == NULL)
printf("memlist> EMPTY\n");
- else for (ml = mlist; ml; ml = ml->next)
- printf("memlist> 0x%lx, 0x%lx\n", ml->address, ml->size);
+ else for (ml = mlist; ml; ml = ml->ml_next)
+ printf("memlist> 0x%lx, 0x%lx\n", ml->ml_address, ml->ml_size);
}
#endif
@@ -269,13 +270,13 @@
mlp = &hl;
tl = *mlp;
- for (; mlist; mlist = mlist->next) {
+ for (; mlist; mlist = mlist->ml_next) {
*mlp = GETSTRUCT(struct memlist, 1);
- (*mlp)->address = mlist->address;
- (*mlp)->size = mlist->size;
- (*mlp)->prev = tl;
+ (*mlp)->ml_address = mlist->ml_address;
+ (*mlp)->ml_size = mlist->ml_size;
+ (*mlp)->ml_prev = tl;
tl = *mlp;
- mlp = &((*mlp)->next);
+ mlp = &((*mlp)->ml_next);
}
*mlp = NULL;
@@ -292,47 +293,47 @@
if (mlist == NULL) {
mlist = GETSTRUCT(struct memlist, 1);
- mlist->address = base;
- mlist->size = len;
- mlist->next = mlist->prev = NULL;
+ mlist->ml_address = base;
+ mlist->ml_size = len;
+ mlist->ml_next = mlist->ml_prev = NULL;
return (mlist);
}
- for (tl = ml = mlist; ml; tl = ml, ml = ml->next) {
- if (base < ml->address) {
- if ((base + len) < ml->address) {
+ for (tl = ml = mlist; ml; tl = ml, ml = ml->ml_next) {
+ if (base < ml->ml_address) {
+ if ((base + len) < ml->ml_address) {
nl = GETSTRUCT(struct memlist, 1);
- nl->address = base;
- nl->size = len;
- nl->next = ml;
- if ((nl->prev = ml->prev) != NULL)
- nl->prev->next = nl;
- ml->prev = nl;
+ nl->ml_address = base;
+ nl->ml_size = len;
+ nl->ml_next = ml;
+ if ((nl->ml_prev = ml->ml_prev) != NULL)
+ nl->ml_prev->ml_next = nl;
+ ml->ml_prev = nl;
if (mlist == ml)
mlist = nl;
} else {
- ml->size = MAX((base + len),
- (ml->address + ml->size)) - base;
- ml->address = base;
+ ml->ml_size = MAX((base + len),
+ (ml->ml_address + ml->ml_size)) - base;
+ ml->ml_address = base;
}
break;
- } else if (base <= (ml->address + ml->size)) {
- ml->size = MAX((base + len),
- (ml->address + ml->size)) -
- MIN(ml->address, base);
- ml->address = MIN(ml->address, base);
+ } else if (base <= (ml->ml_address + ml->ml_size)) {
+ ml->ml_size = MAX((base + len),
+ (ml->ml_address + ml->ml_size)) -
+ MIN(ml->ml_address, base);
+ ml->ml_address = MIN(ml->ml_address, base);
break;
}
}
if (ml == NULL) {
nl = GETSTRUCT(struct memlist, 1);
- nl->address = base;
- nl->size = len;
- nl->next = NULL;
- nl->prev = tl;
- tl->next = nl;
+ nl->ml_address = base;
+ nl->ml_size = len;
+ nl->ml_next = NULL;
+ nl->ml_prev = tl;
+ tl->ml_next = nl;
}
dr_memlist_coalesce(mlist);
@@ -350,53 +351,53 @@
return (NULL);
end = base + len;
- if ((end <= mlist->address) || (base == end))
+ if ((end <= mlist->ml_address) || (base == end))
return (mlist);
for (tl = ml = mlist; ml; tl = ml, ml = nlp) {
uint64_t mend;
- nlp = ml->next;
+ nlp = ml->ml_next;
- if (end <= ml->address)
+ if (end <= ml->ml_address)
break;
- mend = ml->address + ml->size;
+ mend = ml->ml_address + ml->ml_size;
if (base < mend) {
- if (base <= ml->address) {
- ml->address = end;
+ if (base <= ml->ml_address) {
+ ml->ml_address = end;
if (end >= mend)
- ml->size = 0ull;
+ ml->ml_size = 0ull;
else
- ml->size = mend - ml->address;
+ ml->ml_size = mend - ml->ml_address;
} else {
- ml->size = base - ml->address;
+ ml->ml_size = base - ml->ml_address;
if (end < mend) {
struct memlist *nl;
/*
* splitting an memlist entry.
*/
nl = GETSTRUCT(struct memlist, 1);
- nl->address = end;
- nl->size = mend - nl->address;
- if ((nl->next = nlp) != NULL)
- nlp->prev = nl;
- nl->prev = ml;
- ml->next = nl;
+ nl->ml_address = end;
+ nl->ml_size = mend - nl->ml_address;
+ if ((nl->ml_next = nlp) != NULL)
+ nlp->ml_prev = nl;
+ nl->ml_prev = ml;
+ ml->ml_next = nl;
nlp = nl;
}
}
- if (ml->size == 0ull) {
+ if (ml->ml_size == 0ull) {
if (ml == mlist) {
if ((mlist = nlp) != NULL)
- nlp->prev = NULL;
+ nlp->ml_prev = NULL;
FREESTRUCT(ml, struct memlist, 1);
if (mlist == NULL)
break;
ml = nlp;
} else {
- if ((tl->next = nlp) != NULL)
- nlp->prev = tl;
+ if ((tl->ml_next = nlp) != NULL)
+ nlp->ml_prev = tl;
FREESTRUCT(ml, struct memlist, 1);
ml = tl;
}
@@ -420,22 +421,22 @@
if (mlist == NULL) {
mlist = GETSTRUCT(struct memlist, 1);
- mlist->address = base;
- mlist->size = len;
- mlist->next = mlist->prev = NULL;
+ mlist->ml_address = base;
+ mlist->ml_size = len;
+ mlist->ml_next = mlist->ml_prev = NULL;
return (mlist);
}
- for (tl = ml = mlist; ml; tl = ml, ml = ml->next) {
- if (base < ml->address) {
+ for (tl = ml = mlist; ml; tl = ml, ml = ml->ml_next) {
+ if (base < ml->ml_address) {
nl = GETSTRUCT(struct memlist, 1);
- nl->address = base;
- nl->size = len;
- nl->next = ml;
- if ((nl->prev = ml->prev) != NULL)
- nl->prev->next = nl;
- ml->prev = nl;
+ nl->ml_address = base;
+ nl->ml_size = len;
+ nl->ml_next = ml;
+ if ((nl->ml_prev = ml->ml_prev) != NULL)
+ nl->ml_prev->ml_next = nl;
+ ml->ml_prev = nl;
if (mlist == ml)
mlist = nl;
break;
@@ -444,11 +445,11 @@
if (ml == NULL) {
nl = GETSTRUCT(struct memlist, 1);
- nl->address = base;
- nl->size = len;
- nl->next = NULL;
- nl->prev = tl;
- tl->next = nl;
+ nl->ml_address = base;
+ nl->ml_size = len;
+ nl->ml_next = NULL;
+ nl->ml_prev = tl;
+ tl->ml_next = nl;
}
return (mlist);
--- a/usr/src/uts/sun4u/opl/io/dr_mem.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/opl/io/dr_mem.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -323,13 +323,13 @@
}
ml = dr_get_memlist(mp);
- for (mc = ml; mc; mc = mc->next) {
+ for (mc = ml; mc; mc = mc->ml_next) {
int rv;
sbd_error_t *err;
rv = kphysm_add_memory_dynamic(
- (pfn_t)(mc->address >> PAGESHIFT),
- (pgcnt_t)(mc->size >> PAGESHIFT));
+ (pfn_t)(mc->ml_address >> PAGESHIFT),
+ (pgcnt_t)(mc->ml_size >> PAGESHIFT));
if (rv != KPHYSM_OK) {
/*
* translate kphysm error and
@@ -357,7 +357,7 @@
}
err = drmach_mem_add_span(
- mp->sbm_cm.sbdev_id, mc->address, mc->size);
+ mp->sbm_cm.sbdev_id, mc->ml_address, mc->ml_size);
if (err) {
DRERR_SET_C(&mp->sbm_cm.sbdev_error, &err);
break;
@@ -459,8 +459,8 @@
c_ml = memlist_dup(s_mp->sbm_mlist);
d_ml = s_mp->sbm_del_mlist;
while (d_ml != NULL) {
- c_ml = memlist_del_span(c_ml, d_ml->address, d_ml->size);
- d_ml = d_ml->next;
+ c_ml = memlist_del_span(c_ml, d_ml->ml_address, d_ml->ml_size);
+ d_ml = d_ml->ml_next;
}
/*
@@ -657,11 +657,11 @@
mp->first_nonrelocatable = (pfn_t)-1; /* XXX */
mp->last_nonrelocatable = 0;
- for (ml = mlist; ml; ml = ml->next) {
+ for (ml = mlist; ml; ml = ml->ml_next) {
memquery_t mq;
rv = kphysm_del_span_query(
- _b64top(ml->address), _b64top(ml->size), &mq);
+ _b64top(ml->ml_address), _b64top(ml->ml_size), &mq);
if (rv)
break;
@@ -979,13 +979,13 @@
}
memlist_read_unlock();
- for (ml = mlist; ml != NULL; ml = ml->next) {
+ for (ml = mlist; ml != NULL; ml = ml->ml_next) {
sbd_error_t *err;
err = drmach_mem_add_span(
mp->sbm_cm.sbdev_id,
- ml->address,
- ml->size);
+ ml->ml_address,
+ ml->ml_size);
if (err)
DRERR_SET_C(&mp->sbm_cm.sbdev_error, &err);
}
@@ -1072,21 +1072,21 @@
memlist_read_unlock();
#endif
- for (; ml; ml = ml->next) {
+ for (; ml; ml = ml->ml_next) {
pfn_t base;
pgcnt_t npgs;
int rv;
sbd_error_t *err;
- base = _b64top(ml->address);
- npgs = _b64top(ml->size);
+ base = _b64top(ml->ml_address);
+ npgs = _b64top(ml->ml_size);
rv = kphysm_add_memory_dynamic(base, npgs);
err = drmach_mem_add_span(
mp->sbm_cm.sbdev_id,
- ml->address,
- ml->size);
+ ml->ml_address,
+ ml->ml_size);
if (err)
DRERR_SET_C(&mp->sbm_cm.sbdev_error, &err);
@@ -1107,10 +1107,10 @@
memlist_touch(struct memlist *ml, uint64_t add)
{
while (ml != NULL) {
- if ((add == ml->address) ||
- (add == (ml->address + ml->size)))
+ if ((add == ml->ml_address) ||
+ (add == (ml->ml_address + ml->ml_size)))
return (1);
- ml = ml->next;
+ ml = ml->ml_next;
}
return (0);
}
@@ -1138,14 +1138,14 @@
* the kernel cage glist.
*/
for (ml = s_mp->sbm_del_mlist; ml;
- ml = ml->next) {
+ ml = ml->ml_next) {
PR_MEM("%s: delete small<->big copy-"
"rename source excess memory", f);
PR_MEMLIST_DUMP(ml);
err = drmach_mem_del_span(
s_mp->sbm_cm.sbdev_id,
- ml->address, ml->size);
+ ml->ml_address, ml->ml_size);
if (err)
DRERR_SET_C(&s_mp->
sbm_cm.sbdev_error, &err);
@@ -1157,12 +1157,12 @@
f, t_mp->sbm_cm.sbdev_path);
PR_MEMLIST_DUMP(t_excess_mlist);
- for (ml = t_excess_mlist; ml; ml = ml->next) {
+ for (ml = t_excess_mlist; ml; ml = ml->ml_next) {
struct memlist ml0;
- ml0.address = ml->address;
- ml0.size = ml->size;
- ml0.next = ml0.prev = NULL;
+ ml0.ml_address = ml->ml_address;
+ ml0.ml_size = ml->ml_size;
+ ml0.ml_next = ml0.ml_prev = NULL;
/*
* If the memory object is 256 MB aligned (max page size
@@ -1178,57 +1178,57 @@
* The extreme case of 8K segment will fail
* kphysm_add_memory_dynamic(), e.g.
*/
- if ((ml->address & (MH_MPSS_ALIGNMENT - 1)) ||
- (ml->size & (MH_MPSS_ALIGNMENT - 1))) {
+ if ((ml->ml_address & (MH_MPSS_ALIGNMENT - 1)) ||
+ (ml->ml_size & (MH_MPSS_ALIGNMENT - 1))) {
memlist_read_lock();
- rv = memlist_touch(phys_install, ml0.address);
+ rv = memlist_touch(phys_install, ml0.ml_address);
memlist_read_unlock();
if (rv) {
- new_pa = roundup(ml0.address + 1, MH_MIN_ALIGNMENT);
- nbytes = (new_pa - ml0.address);
- if (nbytes >= ml0.size) {
+ new_pa = roundup(ml0.ml_address + 1, MH_MIN_ALIGNMENT);
+ nbytes = (new_pa - ml0.ml_address);
+ if (nbytes >= ml0.ml_size) {
t_mp->sbm_dyn_segs =
memlist_del_span(t_mp->sbm_dyn_segs,
- ml0.address, ml0.size);
+ ml0.ml_address, ml0.ml_size);
continue;
}
t_mp->sbm_dyn_segs =
memlist_del_span(t_mp->sbm_dyn_segs,
- ml0.address, nbytes);
- ml0.size -= nbytes;
- ml0.address = new_pa;
+ ml0.ml_address, nbytes);
+ ml0.ml_size -= nbytes;
+ ml0.ml_address = new_pa;
}
- if (ml0.size == 0) {
+ if (ml0.ml_size == 0) {
continue;
}
memlist_read_lock();
- rv = memlist_touch(phys_install, ml0.address + ml0.size);
+ rv = memlist_touch(phys_install, ml0.ml_address + ml0.ml_size);
memlist_read_unlock();
if (rv) {
- new_pa = rounddown(ml0.address + ml0.size - 1,
+ new_pa = rounddown(ml0.ml_address + ml0.ml_size - 1,
MH_MIN_ALIGNMENT);
- nbytes = (ml0.address + ml0.size - new_pa);
- if (nbytes >= ml0.size) {
+ nbytes = (ml0.ml_address + ml0.ml_size - new_pa);
+ if (nbytes >= ml0.ml_size) {
t_mp->sbm_dyn_segs =
memlist_del_span(t_mp->sbm_dyn_segs,
- ml0.address, ml0.size);
+ ml0.ml_address, ml0.ml_size);
continue;
}
t_mp->sbm_dyn_segs =
memlist_del_span(t_mp->sbm_dyn_segs,
new_pa, nbytes);
- ml0.size -= nbytes;
+ ml0.ml_size -= nbytes;
}
- if (ml0.size > 0) {
+ if (ml0.ml_size > 0) {
dr_add_memory_spans(s_mp, &ml0);
}
- } else if (ml0.size > 0) {
+ } else if (ml0.ml_size > 0) {
dr_add_memory_spans(s_mp, &ml0);
}
}
@@ -1349,9 +1349,9 @@
* Used to add back excess target mem.
*/
s_copy_mlist = memlist_dup(s_mp->sbm_mlist);
- for (ml = s_mp->sbm_del_mlist; ml; ml = ml->next) {
+ for (ml = s_mp->sbm_del_mlist; ml; ml = ml->ml_next) {
s_copy_mlist = memlist_del_span(s_copy_mlist,
- ml->address, ml->size);
+ ml->ml_address, ml->ml_size);
}
PR_MEM("%s: source copy list:\n:", f);
@@ -1362,9 +1362,9 @@
* memlists accordingly with new base
* addresses.
*/
- for (ml = t_mp->sbm_mlist; ml; ml = ml->next) {
- ml->address -= t_old_basepa;
- ml->address += t_new_basepa;
+ for (ml = t_mp->sbm_mlist; ml; ml = ml->ml_next) {
+ ml->ml_address -= t_old_basepa;
+ ml->ml_address += t_new_basepa;
}
/*
@@ -1377,9 +1377,9 @@
PR_MEM("%s: renamed target memlist and delete memlist:\n", f);
PR_MEMLIST_DUMP(t_mp->sbm_mlist);
- for (ml = s_mp->sbm_mlist; ml; ml = ml->next) {
- ml->address -= s_old_basepa;
- ml->address += s_new_basepa;
+ for (ml = s_mp->sbm_mlist; ml; ml = ml->ml_next) {
+ ml->ml_address -= s_old_basepa;
+ ml->ml_address += s_new_basepa;
}
PR_MEM("%s: renamed source memlist:\n", f);
@@ -1404,10 +1404,10 @@
* node.
*/
t_excess_mlist = memlist_dup(t_mp->sbm_mlist);
- for (ml = s_copy_mlist; ml; ml = ml->next) {
+ for (ml = s_copy_mlist; ml; ml = ml->ml_next) {
t_excess_mlist =
memlist_del_span(t_excess_mlist,
- ml->address, ml->size);
+ ml->ml_address, ml->ml_size);
}
PR_MEM("%s: excess memlist:\n", f);
PR_MEMLIST_DUMP(t_excess_mlist);
@@ -1415,15 +1415,15 @@
/*
* Update dynamically added segs
*/
- for (ml = s_mp->sbm_del_mlist; ml; ml = ml->next) {
+ for (ml = s_mp->sbm_del_mlist; ml; ml = ml->ml_next) {
t_mp->sbm_dyn_segs =
memlist_del_span(t_mp->sbm_dyn_segs,
- ml->address, ml->size);
+ ml->ml_address, ml->ml_size);
}
- for (ml = t_excess_mlist; ml; ml = ml->next) {
+ for (ml = t_excess_mlist; ml; ml = ml->ml_next) {
t_mp->sbm_dyn_segs =
memlist_cat_span(t_mp->sbm_dyn_segs,
- ml->address, ml->size);
+ ml->ml_address, ml->ml_size);
}
PR_MEM("%s: %s: updated dynamic seg list:\n",
f, t_mp->sbm_cm.sbdev_path);
@@ -1465,12 +1465,12 @@
* source board's sbm_del_mlist
*/
for (ml = s_mp->sbm_del_mlist; !s_excess_mem_deleted && ml;
- ml = ml->next) {
+ ml = ml->ml_next) {
PR_MEM("%s: delete source excess memory", f);
PR_MEMLIST_DUMP(ml);
err = drmach_mem_del_span(s_mp->sbm_cm.sbdev_id,
- ml->address, ml->size);
+ ml->ml_address, ml->ml_size);
if (err)
DRERR_SET_C(&s_mp->sbm_cm.sbdev_error, &err);
ASSERT(err == NULL);
@@ -2094,9 +2094,9 @@
* with kphysm_del_span. It is possible that a span may intersect
* an area occupied by the cage.
*/
- for (mc = ml; mc != NULL; mc = mc->next) {
- base = _b64top(mc->address);
- npgs = _b64top(mc->size);
+ for (mc = ml; mc != NULL; mc = mc->ml_next) {
+ base = _b64top(mc->ml_address);
+ npgs = _b64top(mc->ml_size);
err = kphysm_del_span(*mhp, base, npgs);
if (err != KPHYSM_OK) {
@@ -2183,9 +2183,9 @@
/* break down s_ml if it contains dynamic segments */
b_ml = memlist_dup(s_ml);
- for (ml = s_mp->sbm_dyn_segs; ml; ml = ml->next) {
- b_ml = memlist_del_span(b_ml, ml->address, ml->size);
- b_ml = memlist_cat_span(b_ml, ml->address, ml->size);
+ for (ml = s_mp->sbm_dyn_segs; ml; ml = ml->ml_next) {
+ b_ml = memlist_del_span(b_ml, ml->ml_address, ml->ml_size);
+ b_ml = memlist_cat_span(b_ml, ml->ml_address, ml->ml_size);
}
@@ -2363,9 +2363,9 @@
ASSERT(d_ml != NULL);
ASSERT(x_ml != NULL);
- for (ml = x_ml; ml != NULL; ml = ml->next) {
- d_ml = memlist_del_span(d_ml, ml->address,
- ml->size);
+ for (ml = x_ml; ml != NULL; ml = ml->ml_next) {
+ d_ml = memlist_del_span(d_ml, ml->ml_address,
+ ml->ml_size);
}
PR_MEM("%s: %s: reserving src brd memlist:\n", f,
@@ -2544,10 +2544,10 @@
ASSERT(t_mp->sbm_slice_size == s_mp->sbm_slice_size);
s_slice_mask = s_mp->sbm_slice_size - 1;
- s_slice_base = s_mlist->address & ~s_slice_mask;
+ s_slice_base = s_mlist->ml_address & ~s_slice_mask;
t_slice_mask = t_mp->sbm_slice_size - 1;
- t_slice_base = t_mlist->address & ~t_slice_mask;
+ t_slice_base = t_mlist->ml_address & ~t_slice_mask;
t_ml = memlist_dup(t_mlist);
s_del_ml = memlist_dup(s_mlist);
@@ -2568,34 +2568,36 @@
* give the source delete memlist. The copy memlist is
* the reciprocal of the source delete memlist.
*/
- for (ml = t_ml; ml != NULL; ml = ml->next) {
+ for (ml = t_ml; ml != NULL; ml = ml->ml_next) {
/*
* Normalize relative to target slice base PA
* in order to preseve slice offsets.
*/
- ml->address -= t_slice_base;
+ ml->ml_address -= t_slice_base;
/*
* Convert to source slice PA address.
*/
- ml->address += s_slice_base;
+ ml->ml_address += s_slice_base;
}
- for (ml = t_ml; ml != NULL; ml = ml->next) {
- s_del_ml = memlist_del_span(s_del_ml, ml->address, ml->size);
+ for (ml = t_ml; ml != NULL; ml = ml->ml_next) {
+ s_del_ml = memlist_del_span(s_del_ml,
+ ml->ml_address, ml->ml_size);
}
/*
* Expand the delete mlist to fully include any dynamic segments
* it intersects with.
*/
- for (x_ml = NULL, ml = s_del_ml; ml != NULL; ml = ml->next) {
- uint64_t del_base = ml->address;
- uint64_t del_end = ml->address + ml->size;
+ for (x_ml = NULL, ml = s_del_ml; ml != NULL; ml = ml->ml_next) {
+ uint64_t del_base = ml->ml_address;
+ uint64_t del_end = ml->ml_address + ml->ml_size;
struct memlist *dyn;
- for (dyn = s_mp->sbm_dyn_segs; dyn != NULL; dyn = dyn->next) {
- uint64_t dyn_base = dyn->address;
- uint64_t dyn_end = dyn->address + dyn->size;
+ for (dyn = s_mp->sbm_dyn_segs; dyn != NULL;
+ dyn = dyn->ml_next) {
+ uint64_t dyn_base = dyn->ml_address;
+ uint64_t dyn_end = dyn->ml_address + dyn->ml_size;
if (del_base > dyn_base && del_base < dyn_end)
del_base = dyn_base;
@@ -2610,8 +2612,9 @@
memlist_delete(s_del_ml);
s_del_ml = x_ml;
- for (ml = s_del_ml; ml != NULL; ml = ml->next) {
- s_copy_ml = memlist_del_span(s_copy_ml, ml->address, ml->size);
+ for (ml = s_del_ml; ml != NULL; ml = ml->ml_next) {
+ s_copy_ml = memlist_del_span(s_copy_ml,
+ ml->ml_address, ml->ml_size);
}
PR_MEM("%s: source delete mlist\n", f);
@@ -2642,14 +2645,14 @@
PR_MEM("%s: checking for split of dyn seg list:\n", f);
PR_MEMLIST_DUMP(s_mp->sbm_dyn_segs);
- for (ml = s_ml; ml; ml = ml->next) {
+ for (ml = s_ml; ml; ml = ml->ml_next) {
int rv;
uint64_t nr_base, nr_end;
memquery_t mq;
struct memlist *dyn;
rv = kphysm_del_span_query(
- _b64top(ml->address), _b64top(ml->size), &mq);
+ _b64top(ml->ml_address), _b64top(ml->ml_size), &mq);
if (rv) {
memlist_delete(x_ml);
return (NULL);
@@ -2678,9 +2681,10 @@
* Expand the non-reloc span to fully include any
* dynamic segments it intersects with.
*/
- for (dyn = s_mp->sbm_dyn_segs; dyn != NULL; dyn = dyn->next) {
- uint64_t dyn_base = dyn->address;
- uint64_t dyn_end = dyn->address + dyn->size;
+ for (dyn = s_mp->sbm_dyn_segs; dyn != NULL;
+ dyn = dyn->ml_next) {
+ uint64_t dyn_base = dyn->ml_address;
+ uint64_t dyn_end = dyn->ml_address + dyn->ml_size;
if (nr_base > dyn_base && nr_base < dyn_end)
nr_base = dyn_base;
@@ -2730,11 +2734,11 @@
/*
* Normalize to slice relative offsets.
*/
- for (ml = s_ml; ml; ml = ml->next)
- ml->address &= s_slice_mask;
-
- for (ml = t_ml; ml; ml = ml->next)
- ml->address &= t_slice_mask;
+ for (ml = s_ml; ml; ml = ml->ml_next)
+ ml->ml_address &= s_slice_mask;
+
+ for (ml = t_ml; ml; ml = ml->ml_next)
+ ml->ml_address &= t_slice_mask;
canfit = memlist_canfit(s_ml, t_ml);
done:
@@ -2764,16 +2768,16 @@
return (0);
s_ml = s_mlist;
- for (t_ml = t_mlist; t_ml && s_ml; t_ml = t_ml->next) {
+ for (t_ml = t_mlist; t_ml && s_ml; t_ml = t_ml->ml_next) {
uint64_t s_start, s_end;
uint64_t t_start, t_end;
- t_start = t_ml->address;
- t_end = t_start + t_ml->size;
-
- for (; s_ml; s_ml = s_ml->next) {
- s_start = s_ml->address;
- s_end = s_start + s_ml->size;
+ t_start = t_ml->ml_address;
+ t_end = t_start + t_ml->ml_size;
+
+ for (; s_ml; s_ml = s_ml->ml_next) {
+ s_start = s_ml->ml_address;
+ s_end = s_start + s_ml->ml_size;
if ((s_start < t_start) || (s_end > t_end))
break;
--- a/usr/src/uts/sun4u/opl/io/drmach.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/opl/io/drmach.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -428,11 +428,11 @@
if (ml) {
uint64_t nbytes = 0;
struct memlist *p;
- for (p = ml; p; p = p->next) {
- nbytes += p->size;
+ for (p = ml; p; p = p->ml_next) {
+ nbytes += p->ml_size;
}
if ((mp->nbytes = nbytes) > 0)
- mp->base_pa = ml->address;
+ mp->base_pa = ml->ml_address;
else
mp->base_pa = 0;
mp->memlist = ml;
@@ -2476,8 +2476,8 @@
/* stop at first span that is in slice */
memlist_read_lock();
- for (ml = phys_install; ml; ml = ml->next)
- if (ml->address >= pa && ml->address < pa + slice_size)
+ for (ml = phys_install; ml; ml = ml->ml_next)
+ if (ml->ml_address >= pa && ml->ml_address < pa + slice_size)
break;
memlist_read_unlock();
@@ -2574,11 +2574,11 @@
dst_pa = va_to_pa(&dst);
memlist_read_lock();
- for (ml = phys_install; ml; ml = ml->next) {
+ for (ml = phys_install; ml; ml = ml->ml_next) {
uint64_t nbytes;
- src_pa = ml->address;
- nbytes = ml->size;
+ src_pa = ml->ml_address;
+ nbytes = ml->ml_size;
while (nbytes != 0ull) {
@@ -2969,40 +2969,41 @@
mlist = p->free_mlist;
if (mlist == NULL)
return (NULL);
- p->free_mlist = mlist->next;
- mlist->address = base;
- mlist->size = len;
- mlist->next = mlist->prev = NULL;
+ p->free_mlist = mlist->ml_next;
+ mlist->ml_address = base;
+ mlist->ml_size = len;
+ mlist->ml_next = mlist->ml_prev = NULL;
return (mlist);
}
- for (tl = ml = mlist; ml; tl = ml, ml = ml->next) {
- if (base < ml->address) {
- if ((base + len) < ml->address) {
+ for (tl = ml = mlist; ml; tl = ml, ml = ml->ml_next) {
+ if (base < ml->ml_address) {
+ if ((base + len) < ml->ml_address) {
nl = p->free_mlist;
if (nl == NULL)
return (NULL);
- p->free_mlist = nl->next;
- nl->address = base;
- nl->size = len;
- nl->next = ml;
- if ((nl->prev = ml->prev) != NULL)
- nl->prev->next = nl;
- ml->prev = nl;
+ p->free_mlist = nl->ml_next;
+ nl->ml_address = base;
+ nl->ml_size = len;
+ nl->ml_next = ml;
+ if ((nl->ml_prev = ml->ml_prev) != NULL)
+ nl->ml_prev->ml_next = nl;
+ ml->ml_prev = nl;
if (mlist == ml)
mlist = nl;
} else {
- ml->size = MAX((base + len), (ml->address +
- ml->size)) - base;
- ml->address = base;
+ ml->ml_size = MAX((base + len),
+ (ml->ml_address + ml->ml_size)) - base;
+ ml->ml_address = base;
}
break;
- } else if (base <= (ml->address + ml->size)) {
- ml->size = MAX((base + len), (ml->address + ml->size)) -
- MIN(ml->address, base);
- ml->address = MIN(ml->address, base);
+ } else if (base <= (ml->ml_address + ml->ml_size)) {
+ ml->ml_size =
+ MAX((base + len), (ml->ml_address + ml->ml_size)) -
+ MIN(ml->ml_address, base);
+ ml->ml_address = MIN(ml->ml_address, base);
break;
}
}
@@ -3010,12 +3011,12 @@
nl = p->free_mlist;
if (nl == NULL)
return (NULL);
- p->free_mlist = nl->next;
- nl->address = base;
- nl->size = len;
- nl->next = NULL;
- nl->prev = tl;
- tl->next = nl;
+ p->free_mlist = nl->ml_next;
+ nl->ml_address = base;
+ nl->ml_size = len;
+ nl->ml_next = NULL;
+ nl->ml_prev = tl;
+ tl->ml_next = nl;
}
return (mlist);
@@ -3184,13 +3185,13 @@
* DO COPY.
*/
if (CPU_IN_SET(prog->data->cpu_copy_set, cpuid)) {
- for (ml = prog->data->cpu_ml[cpuid]; ml; ml = ml->next) {
+ for (ml = prog->data->cpu_ml[cpuid]; ml; ml = ml->ml_next) {
uint64_t s_pa, t_pa;
uint64_t nbytes;
- s_pa = prog->data->s_copybasepa + ml->address;
- t_pa = prog->data->t_copybasepa + ml->address;
- nbytes = ml->size;
+ s_pa = prog->data->s_copybasepa + ml->ml_address;
+ t_pa = prog->data->t_copybasepa + ml->ml_address;
+ nbytes = ml->ml_size;
while (nbytes != 0ull) {
/*
@@ -3369,7 +3370,7 @@
buf = p->memlist_buffer;
while (nbytes >= sizeof (struct memlist)) {
ml = (struct memlist *)buf;
- ml->next = p->free_mlist;
+ ml->ml_next = p->free_mlist;
p->free_mlist = ml;
buf += s;
n_elements++;
@@ -3517,8 +3518,8 @@
x_ml = c_ml;
mlist_size = 0;
while (x_ml != NULL) {
- x_ml->address -= s_copybasepa;
- x_ml = x_ml->next;
+ x_ml->ml_address -= s_copybasepa;
+ x_ml = x_ml->ml_next;
mlist_size++;
}
@@ -3754,8 +3755,8 @@
x_ml = c_ml;
sz = 0;
while (x_ml != NULL) {
- sz += x_ml->size;
- x_ml = x_ml->next;
+ sz += x_ml->ml_size;
+ x_ml = x_ml->ml_next;
}
copy_sz = sz/active_cpus;
@@ -3770,8 +3771,8 @@
system_clock_freq;
x_ml = c_ml;
- c_addr = x_ml->address;
- c_size = x_ml->size;
+ c_addr = x_ml->ml_address;
+ c_size = x_ml->ml_size;
for (i = 0; i < NCPU; i++) {
prog->stat->nbytes[i] = 0;
@@ -3812,10 +3813,10 @@
goto out;
}
- x_ml = x_ml->next;
+ x_ml = x_ml->ml_next;
if (x_ml != NULL) {
- c_addr = x_ml->address;
- c_size = x_ml->size;
+ c_addr = x_ml->ml_address;
+ c_size = x_ml->ml_size;
} else {
goto end;
}
@@ -3985,15 +3986,15 @@
s_mem->slice_base = t_base;
s_mem->base_pa = (s_mem->base_pa - s_base) + t_base;
- for (ml = s_mem->memlist; ml; ml = ml->next) {
- ml->address = ml->address - s_base + t_base;
+ for (ml = s_mem->memlist; ml; ml = ml->ml_next) {
+ ml->ml_address = ml->ml_address - s_base + t_base;
}
t_mem->slice_base = s_base;
t_mem->base_pa = (t_mem->base_pa - t_base) + s_base;
- for (ml = t_mem->memlist; ml; ml = ml->next) {
- ml->address = ml->address - t_base + s_base;
+ for (ml = t_mem->memlist; ml; ml = ml->ml_next) {
+ ml->ml_address = ml->ml_address - t_base + s_base;
}
/*
--- a/usr/src/uts/sun4u/opl/io/mc-opl.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/opl/io/mc-opl.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
@@ -2442,7 +2442,7 @@
struct memlist *ml;
for (ml = mlist; ml; ml = mlist) {
- mlist = ml->next;
+ mlist = ml->ml_next;
kmem_free(ml, sizeof (struct memlist));
}
}
@@ -2457,13 +2457,13 @@
mlp = &hl;
tl = *mlp;
- for (; mlist; mlist = mlist->next) {
+ for (; mlist; mlist = mlist->ml_next) {
*mlp = kmem_alloc(sizeof (struct memlist), KM_SLEEP);
- (*mlp)->address = mlist->address;
- (*mlp)->size = mlist->size;
- (*mlp)->prev = tl;
+ (*mlp)->ml_address = mlist->ml_address;
+ (*mlp)->ml_size = mlist->ml_size;
+ (*mlp)->ml_prev = tl;
tl = *mlp;
- mlp = &((*mlp)->next);
+ mlp = &((*mlp)->ml_next);
}
*mlp = NULL;
@@ -2481,27 +2481,27 @@
return (NULL);
end = base + len;
- if ((end <= mlist->address) || (base == end))
+ if ((end <= mlist->ml_address) || (base == end))
return (mlist);
for (tl = ml = mlist; ml; tl = ml, ml = nlp) {
uint64_t mend;
- nlp = ml->next;
-
- if (end <= ml->address)
+ nlp = ml->ml_next;
+
+ if (end <= ml->ml_address)
break;
- mend = ml->address + ml->size;
+ mend = ml->ml_address + ml->ml_size;
if (base < mend) {
- if (base <= ml->address) {
- ml->address = end;
+ if (base <= ml->ml_address) {
+ ml->ml_address = end;
if (end >= mend)
- ml->size = 0ull;
+ ml->ml_size = 0ull;
else
- ml->size = mend - ml->address;
+ ml->ml_size = mend - ml->ml_address;
} else {
- ml->size = base - ml->address;
+ ml->ml_size = base - ml->ml_address;
if (end < mend) {
struct memlist *nl;
/*
@@ -2509,26 +2509,26 @@
*/
nl = kmem_alloc(sizeof (struct memlist),
KM_SLEEP);
- nl->address = end;
- nl->size = mend - nl->address;
- if ((nl->next = nlp) != NULL)
- nlp->prev = nl;
- nl->prev = ml;
- ml->next = nl;
+ nl->ml_address = end;
+ nl->ml_size = mend - nl->ml_address;
+ if ((nl->ml_next = nlp) != NULL)
+ nlp->ml_prev = nl;
+ nl->ml_prev = ml;
+ ml->ml_next = nl;
nlp = nl;
}
}
- if (ml->size == 0ull) {
+ if (ml->ml_size == 0ull) {
if (ml == mlist) {
if ((mlist = nlp) != NULL)
- nlp->prev = NULL;
+ nlp->ml_prev = NULL;
kmem_free(ml, sizeof (struct memlist));
if (mlist == NULL)
break;
ml = nlp;
} else {
- if ((tl->next = nlp) != NULL)
- nlp->prev = tl;
+ if ((tl->ml_next = nlp) != NULL)
+ nlp->ml_prev = tl;
kmem_free(ml, sizeof (struct memlist));
ml = tl;
}
--- a/usr/src/uts/sun4u/opl/os/opl.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/opl/os/opl.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -329,20 +329,20 @@
head = tail = NULL;
- for (; ml; ml = ml->next) {
- low = (uint64_t)ml->address;
- high = low+(uint64_t)(ml->size);
+ for (; ml; ml = ml->ml_next) {
+ low = (uint64_t)ml->ml_address;
+ high = low+(uint64_t)(ml->ml_size);
while (low < high) {
boundary = roundup(low+1, ssize);
boundary = MIN(high, boundary);
new = kmem_zalloc(sizeof (struct memlist), KM_SLEEP);
- new->address = low;
- new->size = boundary - low;
+ new->ml_address = low;
+ new->ml_size = boundary - low;
if (head == NULL)
head = new;
if (tail) {
- tail->next = new;
- new->prev = tail;
+ tail->ml_next = new;
+ new->ml_prev = tail;
}
tail = new;
low = boundary;
@@ -377,7 +377,7 @@
/* free the memlist */
do {
- tml = ml->next;
+ tml = ml->ml_next;
kmem_free(ml, sizeof (struct memlist));
ml = tml;
} while (ml != NULL);
--- a/usr/src/uts/sun4u/os/cpr_impl.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/os/cpr_impl.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -1518,9 +1518,9 @@
*/
pcnt = 0;
memlist_read_lock();
- for (pmem = phys_install; pmem; pmem = pmem->next) {
- npages = mmu_btop(pmem->size);
- ppn = mmu_btop(pmem->address);
+ for (pmem = phys_install; pmem; pmem = pmem->ml_next) {
+ npages = mmu_btop(pmem->ml_size);
+ ppn = mmu_btop(pmem->ml_address);
for (plast = ppn + npages; ppn < plast; ppn++) {
if (page_numtopp_nolock(ppn))
continue;
@@ -1574,9 +1574,9 @@
*/
dst = pphys_list;
memlist_read_lock();
- for (pmem = phys_install; pmem; pmem = pmem->next) {
- npages = mmu_btop(pmem->size);
- ppn = mmu_btop(pmem->address);
+ for (pmem = phys_install; pmem; pmem = pmem->ml_next) {
+ npages = mmu_btop(pmem->ml_size);
+ ppn = mmu_btop(pmem->ml_address);
for (plast = ppn + npages; ppn < plast; ppn++) {
if (cpr_isset(ppn, mapflag)) {
ASSERT(dst < (pphys_list + ppage_count));
@@ -1851,7 +1851,7 @@
* phys_install ranges plus 1 for a trailing NULL struct.
*/
cpr_nbitmaps = 1;
- for (pmem = phys_install; pmem; pmem = pmem->next)
+ for (pmem = phys_install; pmem; pmem = pmem->ml_next)
cpr_nbitmaps++;
if (cpr_nbitmaps > (CPR_MAX_BMDESC - 1)) {
@@ -1869,15 +1869,15 @@
tail = dp + cpr_nbitmaps;
CPR->c_bmda = dp;
- for (pmem = phys_install; pmem; pmem = pmem->next) {
- size = BITMAP_BYTES(pmem->size);
+ for (pmem = phys_install; pmem; pmem = pmem->ml_next) {
+ size = BITMAP_BYTES(pmem->ml_size);
space = kmem_zalloc(size * 2, KM_NOSLEEP);
if (space == NULL)
return (ENOMEM);
ASSERT(dp < tail);
dp->cbd_magic = CPR_BITMAP_MAGIC;
- dp->cbd_spfn = mmu_btop(pmem->address);
- dp->cbd_epfn = mmu_btop(pmem->address + pmem->size) - 1;
+ dp->cbd_spfn = mmu_btop(pmem->ml_address);
+ dp->cbd_epfn = mmu_btop(pmem->ml_address + pmem->ml_size) - 1;
dp->cbd_size = size;
dp->cbd_reg_bitmap = (cpr_ptr)space;
dp->cbd_vlt_bitmap = (cpr_ptr)((caddr_t)space + size);
--- a/usr/src/uts/sun4u/os/mach_startup.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/os/mach_startup.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -525,9 +525,9 @@
uint64_t ret_val;
flush_size = ecache_size * 2;
- for (pmem = phys_install; pmem; pmem = pmem->next) {
- ret_val = P2ROUNDUP(pmem->address, ecache_size);
- if (ret_val + flush_size <= pmem->address + pmem->size)
+ for (pmem = phys_install; pmem; pmem = pmem->ml_next) {
+ ret_val = P2ROUNDUP(pmem->ml_address, ecache_size);
+ if (ret_val + flush_size <= pmem->ml_address + pmem->ml_size)
return (ret_val);
}
return ((uint64_t)-1);
--- a/usr/src/uts/sun4u/os/memscrub.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/os/memscrub.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,12 +19,10 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
/*
* sun4u Memory Scrubbing
*
@@ -318,10 +316,10 @@
/*
* copy phys_install to memscrub_memlist
*/
- for (src = phys_install; src; src = src->next) {
+ for (src = phys_install; src; src = src->ml_next) {
if (memscrub_add_span(
- (pfn_t)(src->address >> PAGESHIFT),
- (pgcnt_t)(src->size >> PAGESHIFT))) {
+ (pfn_t)(src->ml_address >> PAGESHIFT),
+ (pgcnt_t)(src->ml_size >> PAGESHIFT))) {
memscrub_cleanup();
return (-1);
}
@@ -331,9 +329,9 @@
* initialize kstats
*/
memscrub_ksp = kstat_create("unix", 0, "memscrub_kstat",
- "misc", KSTAT_TYPE_NAMED,
- sizeof (memscrub_counts) / sizeof (kstat_named_t),
- KSTAT_FLAG_VIRTUAL | KSTAT_FLAG_WRITABLE);
+ "misc", KSTAT_TYPE_NAMED,
+ sizeof (memscrub_counts) / sizeof (kstat_named_t),
+ KSTAT_FLAG_VIRTUAL | KSTAT_FLAG_WRITABLE);
if (memscrub_ksp) {
memscrub_ksp->ks_data = (void *)&memscrub_counts;
@@ -366,8 +364,8 @@
memscrub_uninit_mem_config();
while (memscrub_memlist) {
(void) memscrub_delete_span(
- (pfn_t)(memscrub_memlist->address >> PAGESHIFT),
- (pgcnt_t)(memscrub_memlist->size >> PAGESHIFT));
+ (pfn_t)(memscrub_memlist->ml_address >> PAGESHIFT),
+ (pgcnt_t)(memscrub_memlist->ml_size >> PAGESHIFT));
}
if (memscrub_ksp)
kstat_delete(memscrub_ksp);
@@ -383,9 +381,9 @@
cmn_err(CE_CONT, "%s:\n", title);
- for (list = listp; list; list = list->next) {
+ for (list = listp; list; list = list->ml_next) {
cmn_err(CE_CONT, "addr = 0x%llx, size = 0x%llx\n",
- list->address, list->size);
+ list->ml_address, list->ml_size);
}
}
#endif /* MEMSCRUB_DEBUG */
@@ -478,7 +476,7 @@
goto memscrub_exit;
}
- address = memscrub_memlist->address;
+ address = memscrub_memlist->ml_address;
deadline = gethrestime_sec() + memscrub_delay_start_sec;
@@ -525,7 +523,7 @@
if (now >= deadline) {
memscrub_counts.done_late.value.ui32++;
memscrub_counts.late_sec.value.ui32 +=
- (now - deadline);
+ (now - deadline);
/*
* past deadline, start right away
*/
@@ -540,7 +538,7 @@
interval_ticks = (deadline - now) * hz;
memscrub_counts.done_early.value.ui32++;
memscrub_counts.early_sec.value.ui32 +=
- (deadline - now);
+ (deadline - now);
deadline += memscrub_period_sec;
}
reached_end = 0;
@@ -597,7 +595,7 @@
cmn_err(CE_NOTE, "Memory scrubber "
"reading all memory per request");
- addr = memscrub_memlist->address;
+ addr = memscrub_memlist->ml_address;
reached_end = 0;
while (!reached_end) {
if (disable_memscrub)
@@ -672,18 +670,18 @@
* find memlist struct that contains addrp
* assumes memlist is sorted by ascending address.
*/
- for (mlp = memscrub_memlist; mlp != NULL; mlp = mlp->next) {
+ for (mlp = memscrub_memlist; mlp != NULL; mlp = mlp->ml_next) {
/*
* if before this chunk, round up to beginning
*/
- if (address < mlp->address) {
- address = mlp->address;
+ if (address < mlp->ml_address) {
+ address = mlp->ml_address;
break;
}
/*
* if before end of chunk, then we found it
*/
- if (address < (mlp->address + mlp->size))
+ if (address < (mlp->ml_address + mlp->ml_size))
break;
/* else go to next struct memlist */
@@ -693,13 +691,13 @@
*/
if (mlp == NULL) {
mlp = memscrub_memlist;
- address = mlp->address;
+ address = mlp->ml_address;
}
/*
* now we have legal address, and its mlp, condition bytes
*/
- bytes_remaining = (mlp->address + mlp->size) - address;
+ bytes_remaining = (mlp->ml_address + mlp->ml_size) - address;
if (bytes > bytes_remaining)
bytes = bytes_remaining;
@@ -707,8 +705,8 @@
/*
* will this span take us to end of list?
*/
- if ((mlp->next == NULL) &&
- ((mlp->address + mlp->size) == (address + bytes)))
+ if ((mlp->ml_next == NULL) &&
+ ((mlp->ml_address + mlp->ml_size) == (address + bytes)))
reached_end = 1;
/* return values */
@@ -779,15 +777,15 @@
goto add_done;
}
- dst->address = address;
- dst->size = bytes;
+ dst->ml_address = address;
+ dst->ml_size = bytes;
/*
* first insert
*/
if (*list == NULL) {
- dst->prev = NULL;
- dst->next = NULL;
+ dst->ml_prev = NULL;
+ dst->ml_next = NULL;
*list = dst;
goto add_done;
@@ -798,8 +796,8 @@
*/
for (prev = NULL, next = *list;
next != NULL;
- prev = next, next = next->next) {
- if (address > (next->address + next->size))
+ prev = next, next = next->ml_next) {
+ if (address > (next->ml_address + next->ml_size))
continue;
/*
@@ -809,11 +807,11 @@
/*
* prepend to next
*/
- if ((address + bytes) == next->address) {
+ if ((address + bytes) == next->ml_address) {
kmem_free(dst, sizeof (struct memlist));
- next->address = address;
- next->size += bytes;
+ next->ml_address = address;
+ next->ml_size += bytes;
goto add_done;
}
@@ -821,47 +819,49 @@
/*
* append to next
*/
- if (address == (next->address + next->size)) {
+ if (address == (next->ml_address + next->ml_size)) {
kmem_free(dst, sizeof (struct memlist));
- if (next->next) {
+ if (next->ml_next) {
/*
- * don't overlap with next->next
+ * don't overlap with next->ml_next
*/
- if ((address + bytes) > next->next->address) {
+ if ((address + bytes) >
+ next->ml_next->ml_address) {
retval = -1;
goto add_done;
}
/*
- * concatenate next and next->next
+ * concatenate next and next->ml_next
*/
- if ((address + bytes) == next->next->address) {
- struct memlist *mlp = next->next;
+ if ((address + bytes) ==
+ next->ml_next->ml_address) {
+ struct memlist *mlp = next->ml_next;
if (next == *list)
- *list = next->next;
+ *list = next->ml_next;
- mlp->address = next->address;
- mlp->size += next->size;
- mlp->size += bytes;
+ mlp->ml_address = next->ml_address;
+ mlp->ml_size += next->ml_size;
+ mlp->ml_size += bytes;
- if (next->prev)
- next->prev->next = mlp;
- mlp->prev = next->prev;
+ if (next->ml_prev)
+ next->ml_prev->ml_next = mlp;
+ mlp->ml_prev = next->ml_prev;
kmem_free(next,
- sizeof (struct memlist));
+ sizeof (struct memlist));
goto add_done;
}
}
- next->size += bytes;
+ next->ml_size += bytes;
goto add_done;
}
/* don't overlap with next */
- if ((address + bytes) > next->address) {
+ if ((address + bytes) > next->ml_address) {
retval = -1;
kmem_free(dst, sizeof (struct memlist));
goto add_done;
@@ -870,13 +870,13 @@
/*
* insert before next
*/
- dst->prev = prev;
- dst->next = next;
- next->prev = dst;
+ dst->ml_prev = prev;
+ dst->ml_next = next;
+ next->ml_prev = dst;
if (prev == NULL) {
*list = dst;
} else {
- prev->next = dst;
+ prev->ml_next = dst;
}
goto add_done;
} /* end for */
@@ -884,9 +884,9 @@
/*
* end of list, prev is valid and next is NULL
*/
- prev->next = dst;
- dst->prev = prev;
- dst->next = NULL;
+ prev->ml_next = dst;
+ dst->ml_prev = prev;
+ dst->ml_next = NULL;
add_done:
@@ -920,9 +920,9 @@
/*
* find struct memlist containing page
*/
- for (next = memscrub_memlist; next != NULL; next = next->next) {
- if ((address >= next->address) &&
- (address < next->address + next->size))
+ for (next = memscrub_memlist; next != NULL; next = next->ml_next) {
+ if ((address >= next->ml_address) &&
+ (address < next->ml_address + next->ml_size))
break;
}
@@ -937,7 +937,7 @@
/*
* error if size goes off end of this struct memlist
*/
- if (address + bytes > next->address + next->size) {
+ if (address + bytes > next->ml_address + next->ml_size) {
retval = -1;
goto delete_done;
}
@@ -945,25 +945,25 @@
/*
* pages at beginning of struct memlist
*/
- if (address == next->address) {
+ if (address == next->ml_address) {
/*
* if start & size match, delete from list
*/
- if (bytes == next->size) {
+ if (bytes == next->ml_size) {
if (next == memscrub_memlist)
- memscrub_memlist = next->next;
- if (next->prev != NULL)
- next->prev->next = next->next;
- if (next->next != NULL)
- next->next->prev = next->prev;
+ memscrub_memlist = next->ml_next;
+ if (next->ml_prev != NULL)
+ next->ml_prev->ml_next = next->ml_next;
+ if (next->ml_next != NULL)
+ next->ml_next->ml_prev = next->ml_prev;
kmem_free(next, sizeof (struct memlist));
} else {
/*
* increment start address by bytes
*/
- next->address += bytes;
- next->size -= bytes;
+ next->ml_address += bytes;
+ next->ml_size -= bytes;
}
goto delete_done;
}
@@ -971,11 +971,11 @@
/*
* pages at end of struct memlist
*/
- if (address + bytes == next->address + next->size) {
+ if (address + bytes == next->ml_address + next->ml_size) {
/*
* decrement size by bytes
*/
- next->size -= bytes;
+ next->ml_size -= bytes;
goto delete_done;
}
@@ -998,9 +998,10 @@
* existing struct memlist gets address
* and size up to pfn
*/
- dst->address = address + bytes;
- dst->size = (next->address + next->size) - dst->address;
- next->size = address - next->address;
+ dst->ml_address = address + bytes;
+ dst->ml_size =
+ (next->ml_address + next->ml_size) - dst->ml_address;
+ next->ml_size = address - next->ml_address;
/*
* new struct memlist gets address starting
@@ -1010,12 +1011,12 @@
/*
* link in new memlist after old
*/
- dst->next = next->next;
- dst->prev = next;
+ dst->ml_next = next->ml_next;
+ dst->ml_prev = next;
- if (next->next != NULL)
- next->next->prev = dst;
- next->next = dst;
+ if (next->ml_next != NULL)
+ next->ml_next->ml_prev = dst;
+ next->ml_next = dst;
}
delete_done:
@@ -1066,15 +1067,15 @@
while (blks != 0) {
/* Ensure the PA is properly aligned */
if (((pa & MMU_PAGEMASK4M) == pa) &&
- (blks >= MEMSCRUB_BPP4M)) {
+ (blks >= MEMSCRUB_BPP4M)) {
psz = MMU_PAGESIZE4M;
bpp = MEMSCRUB_BPP4M;
} else if (((pa & MMU_PAGEMASK512K) == pa) &&
- (blks >= MEMSCRUB_BPP512K)) {
+ (blks >= MEMSCRUB_BPP512K)) {
psz = MMU_PAGESIZE512K;
bpp = MEMSCRUB_BPP512K;
} else if (((pa & MMU_PAGEMASK64K) == pa) &&
- (blks >= MEMSCRUB_BPP64K)) {
+ (blks >= MEMSCRUB_BPP64K)) {
psz = MMU_PAGESIZE64K;
bpp = MEMSCRUB_BPP64K;
} else if ((pa & MMU_PAGEMASK) == pa) {
@@ -1104,7 +1105,7 @@
pfn = mmu_btop(pa);
va = (caddr_t)MEMSCRUBBASE;
hat_devload(kas.a_hat, va, psz, pfn, PROT_READ,
- HAT_LOAD_NOCONSIST | HAT_LOAD_LOCK);
+ HAT_LOAD_NOCONSIST | HAT_LOAD_LOCK);
/*
* Can't allow the memscrubber to migrate across CPUs as
@@ -1342,15 +1343,15 @@
list = NULL;
npgs = 0;
memlist_read_lock();
- for (src = phys_install; src; src = src->next) {
- if (memscrub_add_span_gen((pfn_t)(src->address >> PAGESHIFT),
- (pgcnt_t)(src->size >> PAGESHIFT), &list, &npgs)) {
+ for (src = phys_install; src; src = src->ml_next) {
+ if (memscrub_add_span_gen((pfn_t)(src->ml_address >> PAGESHIFT),
+ (pgcnt_t)(src->ml_size >> PAGESHIFT), &list, &npgs)) {
memlist_read_unlock();
while (list) {
struct memlist *el;
el = list;
- list = list->next;
+ list = list->ml_next;
kmem_free(el, sizeof (struct memlist));
}
return (-1);
@@ -1372,7 +1373,7 @@
struct memlist *el;
el = old_list;
- old_list = old_list->next;
+ old_list = old_list->ml_next;
kmem_free(el, sizeof (struct memlist));
}
--- a/usr/src/uts/sun4u/serengeti/io/sbdp_mem.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/serengeti/io/sbdp_mem.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -117,9 +117,9 @@
if (mlist == NULL) {
SBDP_DBG_MEM("memlist> EMPTY\n");
} else {
- for (ml = mlist; ml; ml = ml->next)
+ for (ml = mlist; ml; ml = ml->ml_next)
SBDP_DBG_MEM("memlist> 0x%" PRIx64", 0x%" PRIx64"\n",
- ml->address, ml->size);
+ ml->ml_address, ml->ml_size);
}
}
@@ -227,7 +227,7 @@
prev = NULL;
hl = NULL;
- for (; mlist; mlist = mlist->next) {
+ for (; mlist; mlist = mlist->ml_next) {
struct memlist *mp;
mp = memlist_get_one();
@@ -237,15 +237,15 @@
hl = NULL;
break;
}
- mp->address = mlist->address;
- mp->size = mlist->size;
- mp->next = NULL;
- mp->prev = prev;
+ mp->ml_address = mlist->ml_address;
+ mp->ml_size = mlist->ml_size;
+ mp->ml_next = NULL;
+ mp->ml_prev = prev;
if (prev == NULL)
hl = mp;
else
- prev->next = mp;
+ prev->ml_next = mp;
prev = mp;
}
@@ -1092,13 +1092,13 @@
/*
* DO COPY.
*/
- for (ml = mlist; ml; ml = ml->next) {
+ for (ml = mlist; ml; ml = ml->ml_next) {
uint64_t s_pa, t_pa;
uint64_t nbytes;
- s_pa = ml->address;
- t_pa = t_base + (ml->address - s_base);
- nbytes = ml->size;
+ s_pa = ml->ml_address;
+ t_pa = t_base + (ml->ml_address - s_base);
+ nbytes = ml->ml_size;
size += nbytes;
while (nbytes != 0ull) {
@@ -1652,8 +1652,8 @@
mlist = sbdp_get_memlist(hp, (dev_info_t *)NULL);
- for (ml = mlist; ml; ml = ml->next)
- size += ml->size;
+ for (ml = mlist; ml; ml = ml->ml_next)
+ size += ml->ml_size;
(void) sbdp_del_memlist(hp, mlist);
@@ -2086,11 +2086,11 @@
dst_pa = va_to_pa(&dst);
memlist_read_lock();
- for (ml = phys_install; ml; ml = ml->next) {
+ for (ml = phys_install; ml; ml = ml->ml_next) {
uint64_t nbytes;
- src_pa = ml->address;
- nbytes = ml->size;
+ src_pa = ml->ml_address;
+ nbytes = ml->ml_size;
while (nbytes != 0ull) {
--- a/usr/src/uts/sun4u/starcat/io/drmach.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/starcat/io/drmach.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -3289,17 +3289,18 @@
off_mask = DRMACH_MEM_SLICE_SIZE - 1;
/* calculate source and target base pa */
- s_copybasepa = c_ml->address;
- t_copybasepa = t_basepa + ((c_ml->address & off_mask) - t_slice_offset);
+ s_copybasepa = c_ml->ml_address;
+ t_copybasepa =
+ t_basepa + ((c_ml->ml_address & off_mask) - t_slice_offset);
/* paranoia */
- ASSERT((c_ml->address & off_mask) >= t_slice_offset);
+ ASSERT((c_ml->ml_address & off_mask) >= t_slice_offset);
/* adjust copy memlist addresses to be relative to copy base pa */
x_ml = c_ml;
while (x_ml != NULL) {
- x_ml->address -= s_copybasepa;
- x_ml = x_ml->next;
+ x_ml->ml_address -= s_copybasepa;
+ x_ml = x_ml->ml_next;
}
#ifdef DEBUG
@@ -3307,16 +3308,16 @@
uint64_t s_basepa, s_size, t_size;
x_ml = c_ml;
- while (x_ml->next != NULL)
- x_ml = x_ml->next;
+ while (x_ml->ml_next != NULL)
+ x_ml = x_ml->ml_next;
DRMACH_PR("source copy span: base pa 0x%lx, end pa 0x%lx\n",
s_copybasepa,
- s_copybasepa + x_ml->address + x_ml->size);
+ s_copybasepa + x_ml->ml_address + x_ml->ml_size);
DRMACH_PR("target copy span: base pa 0x%lx, end pa 0x%lx\n",
t_copybasepa,
- t_copybasepa + x_ml->address + x_ml->size);
+ t_copybasepa + x_ml->ml_address + x_ml->ml_size);
DRMACH_PR("copy memlist (relative to copy base pa):\n");
DRMACH_MEMLIST_DUMP(c_ml);
@@ -3612,13 +3613,13 @@
/*
* DO COPY.
*/
- for (ml = cr->c_ml; ml; ml = ml->next) {
+ for (ml = cr->c_ml; ml; ml = ml->ml_next) {
uint64_t s_pa, t_pa;
uint64_t nbytes;
- s_pa = cr->s_copybasepa + ml->address;
- t_pa = cr->t_copybasepa + ml->address;
- nbytes = ml->size;
+ s_pa = cr->s_copybasepa + ml->ml_address;
+ t_pa = cr->t_copybasepa + ml->ml_address;
+ nbytes = ml->ml_size;
while (nbytes != 0ull) {
/* copy 32 bytes at src_pa to dst_pa */
@@ -6785,8 +6786,8 @@
/* stop at first span that is in slice */
memlist_read_lock();
- for (ml = phys_install; ml; ml = ml->next)
- if (ml->address >= pa && ml->address < pa + slice_size)
+ for (ml = phys_install; ml; ml = ml->ml_next)
+ if (ml->ml_address >= pa && ml->ml_address < pa + slice_size)
break;
memlist_read_unlock();
@@ -6913,11 +6914,11 @@
dst_pa = va_to_pa(&dst);
memlist_read_lock();
- for (ml = phys_install; ml; ml = ml->next) {
+ for (ml = phys_install; ml; ml = ml->ml_next) {
uint64_t nbytes;
- src_pa = ml->address;
- nbytes = ml->size;
+ src_pa = ml->ml_address;
+ nbytes = ml->ml_size;
while (nbytes != 0ull) {
--- a/usr/src/uts/sun4u/starfire/io/drmach.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4u/starfire/io/drmach.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -696,8 +696,8 @@
if (rv) {
/* every node is expected to have a name */
err = drerr_new(1, ESTF_GETPROP,
- "PROM Node 0x%x: property %s",
- (uint_t)node->get_dnode(node), OBP_NAME);
+ "PROM Node 0x%x: property %s",
+ (uint_t)node->get_dnode(node), OBP_NAME);
return (err);
}
@@ -761,8 +761,8 @@
rv = drmach_node_get_prop(dp->node, name, buf);
if (rv) {
err = drerr_new(1, ESTF_GETPROP,
- "%s::%s: property %s",
- dp->bp->cm.name, dp->cm.name, name);
+ "%s::%s: property %s",
+ dp->bp->cm.name, dp->cm.name, name);
}
return (err);
@@ -777,8 +777,8 @@
rv = drmach_node_get_proplen(dp->node, name, len);
if (rv) {
err = drerr_new(1, ESTF_GETPROPLEN,
- "%s::%s: property %s",
- dp->bp->cm.name, dp->cm.name, name);
+ "%s::%s: property %s",
+ dp->bp->cm.name, dp->cm.name, name);
}
return (err);
@@ -953,12 +953,12 @@
if (drmach_array_get(drmach_boards, bnum, &id) == -1) {
cmn_err(CE_WARN, "OBP node 0x%x has"
- " invalid property value, %s=%d",
- nodeid, OBP_BOARDNUM, bnum);
+ " invalid property value, %s=%d",
+ nodeid, OBP_BOARDNUM, bnum);
/* clean up */
drmach_array_dispose(
- drmach_boards, drmach_board_dispose);
+ drmach_boards, drmach_board_dispose);
mutex_exit(&drmach_i_lock);
return (-1);
@@ -1208,7 +1208,7 @@
return (err);
else if (s_masr & STARFIRE_MC_INTERLEAVE_MASK) {
return (drerr_new(1, ESTF_INTERBOARD, "%s::%s",
- s_mem->bp->cm.name, s_mem->cm.name));
+ s_mem->bp->cm.name, s_mem->cm.name));
}
/* fetch target mc asr register value */
@@ -1217,7 +1217,7 @@
return (err);
else if (t_masr & STARFIRE_MC_INTERLEAVE_MASK) {
return (drerr_new(1, ESTF_INTERBOARD, "%s::%s",
- t_mem->bp->cm.name, t_mem->cm.name));
+ t_mem->bp->cm.name, t_mem->cm.name));
}
/* get new source base pa from target's masr */
@@ -1395,15 +1395,15 @@
DRMACH_PR("mc idle register address list:");
isp = (drmach_mc_idle_script_t *)buf;
DRMACH_PR("source mc idle addr 0x%lx, mem id %p",
- isp[0].idle_addr, (void *)isp[0].mem);
+ isp[0].idle_addr, (void *)isp[0].mem);
DRMACH_PR("target mc idle addr 0x%lx, mem id %p",
- isp[1].idle_addr, (void *)isp[1].mem);
+ isp[1].idle_addr, (void *)isp[1].mem);
ASSERT(isp[2].idle_addr == 0);
DRMACH_PR("copy-rename script:");
for (j = 0; j < m; j++) {
DRMACH_PR("0x%lx = 0x%08x",
- rsp[j].masr_addr, rsp[j].masr);
+ rsp[j].masr_addr, rsp[j].masr);
}
DELAY(1000000);
@@ -1468,13 +1468,13 @@
/*
* DO COPY.
*/
- for (ml = prog->c_ml; ml; ml = ml->next) {
+ for (ml = prog->c_ml; ml; ml = ml->ml_next) {
uint64_t s_pa, t_pa;
uint64_t nbytes;
- s_pa = prog->s_copybasepa + ml->address;
- t_pa = prog->t_copybasepa + ml->address;
- nbytes = ml->size;
+ s_pa = prog->s_copybasepa + ml->ml_address;
+ t_pa = prog->t_copybasepa + ml->ml_address;
+ nbytes = ml->ml_size;
while (nbytes != 0ull) {
/*
@@ -1520,7 +1520,7 @@
/* loop t cycles waiting for each mc to indicate it's idle */
do {
v = ldphysio_il(isp->idle_addr)
- & STARFIRE_MC_IDLE_MASK;
+ & STARFIRE_MC_IDLE_MASK;
} while (v != STARFIRE_MC_IDLE_MASK && t-- > 0);
@@ -1592,17 +1592,18 @@
off_mask = mc_get_mem_alignment() - 1;
/* calculate source and target base pa */
- s_copybasepa = c_ml->address;
- t_copybasepa = t_basepa + ((c_ml->address & off_mask) - t_slice_offset);
+ s_copybasepa = c_ml->ml_address;
+ t_copybasepa =
+ t_basepa + ((c_ml->ml_address & off_mask) - t_slice_offset);
/* paranoia */
- ASSERT((c_ml->address & off_mask) >= t_slice_offset);
+ ASSERT((c_ml->ml_address & off_mask) >= t_slice_offset);
/* adjust copy memlist addresses to be relative to copy base pa */
x_ml = c_ml;
while (x_ml != NULL) {
- x_ml->address -= s_copybasepa;
- x_ml = x_ml->next;
+ x_ml->ml_address -= s_copybasepa;
+ x_ml = x_ml->ml_next;
}
#ifdef DEBUG
@@ -1610,16 +1611,16 @@
uint64_t s_basepa, s_size, t_size;
x_ml = c_ml;
- while (x_ml->next != NULL)
- x_ml = x_ml->next;
+ while (x_ml->ml_next != NULL)
+ x_ml = x_ml->ml_next;
DRMACH_PR("source copy span: base pa 0x%lx, end pa 0x%lx\n",
- s_copybasepa,
- s_copybasepa + x_ml->address + x_ml->size);
+ s_copybasepa,
+ s_copybasepa + x_ml->ml_address + x_ml->ml_size);
DRMACH_PR("target copy span: base pa 0x%lx, end pa 0x%lx\n",
- t_copybasepa,
- t_copybasepa + x_ml->address + x_ml->size);
+ t_copybasepa,
+ t_copybasepa + x_ml->ml_address + x_ml->ml_size);
DRMACH_PR("copy memlist (relative to copy base pa):\n");
MEMLIST_DUMP(c_ml);
@@ -1634,12 +1635,14 @@
ASSERT(err == NULL);
DRMACH_PR("current source base pa 0x%lx, size 0x%lx\n",
- s_basepa, s_size);
+ s_basepa, s_size);
DRMACH_PR("current target base pa 0x%lx, size 0x%lx\n",
- t_basepa, t_size);
-
- ASSERT(s_copybasepa + x_ml->address + x_ml->size <= s_basepa + s_size);
- ASSERT(t_copybasepa + x_ml->address + x_ml->size <= t_basepa + t_size);
+ t_basepa, t_size);
+
+ ASSERT(s_copybasepa + x_ml->ml_address + x_ml->ml_size <=
+ s_basepa + s_size);
+ ASSERT(t_copybasepa + x_ml->ml_address + x_ml->ml_size <=
+ t_basepa + t_size);
}
#endif
@@ -1667,7 +1670,7 @@
* pages.
*/
len = (int)((ulong_t)drmach_copy_rename_end -
- (ulong_t)drmach_copy_rename_prog__relocatable);
+ (ulong_t)drmach_copy_rename_prog__relocatable);
ASSERT(wp + len < bp + PAGESIZE);
bcopy((caddr_t)drmach_copy_rename_prog__relocatable, wp, len);
@@ -1681,7 +1684,7 @@
* Allocate temporary buffer to hold script.
*/
err = drmach_prep_rename_script(s_mem, t_mem, t_slice_offset,
- wp, PAGESIZE - (wp - bp));
+ wp, PAGESIZE - (wp - bp));
if (err) {
(void) drmach_copy_rename_fini(prog);
return (err);
@@ -1714,7 +1717,7 @@
if (prog->restless_mc != 0) {
cmn_err(CE_WARN, "MC did not idle; OBP Node 0x%x",
- (uint_t)drmach_node_get_dnode(prog->restless_mc->node));
+ (uint_t)drmach_node_get_dnode(prog->restless_mc->node));
err = DRMACH_INTERNAL_ERROR();
}
@@ -1797,8 +1800,8 @@
default:
cmn_err(CE_PANIC,
- "drmach_iopc_op: unknown op (%d)",
- (int)op);
+ "drmach_iopc_op: unknown op (%d)",
+ (int)op);
/*NOTREACHED*/
}
stbphysio(idle_addr, value);
@@ -2077,7 +2080,7 @@
}
cmn_err(CE_CONT, "DRMACH: PROM attach %s CPU %d\n",
- obj->cm.name, obj->connect_cpuid);
+ obj->cm.name, obj->connect_cpuid);
retval = prom_tree_update(drmach_attach_board, obj);
@@ -2085,7 +2088,7 @@
err = NULL;
else {
cmn_err(CE_WARN, "prom error: prom_starfire_add_brd(%d) "
- "returned %d", obj->connect_cpuid, retval);
+ "returned %d", obj->connect_cpuid, retval);
err = drerr_new(1, ESTF_PROBE, obj->cm.name);
}
@@ -2384,11 +2387,11 @@
* helper on a prior attach.
*/
if (CPU_SGN_EXISTS(cpuid) &&
- !SGN_CPU_IS_OS(cpuid) &&
- !SGN_CPU_IS_OBP(cpuid)) {
+ !SGN_CPU_IS_OS(cpuid) &&
+ !SGN_CPU_IS_OBP(cpuid)) {
cmn_err(CE_WARN,
- "unexpected signature (0x%x) for cpu %d",
- get_cpu_sgn(cpuid), cpuid);
+ "unexpected signature (0x%x) for cpu %d",
+ get_cpu_sgn(cpuid), cpuid);
}
/*
@@ -2413,7 +2416,7 @@
drmach_cpu_obp_is_detached(int cpuid)
{
if (!CPU_SGN_EXISTS(cpuid) ||
- (SGN_CPU_IS_OS(cpuid) && SGN_CPU_STATE_IS_DETACHED(cpuid)))
+ (SGN_CPU_IS_OS(cpuid) && SGN_CPU_STATE_IS_DETACHED(cpuid)))
return (1);
else
return (0);
@@ -2455,10 +2458,10 @@
}
DRMACH_PR("waited %d out of %d loops for cpu %d\n",
- drmach_cpu_ntries - ntries, drmach_cpu_ntries, cpuid);
+ drmach_cpu_ntries - ntries, drmach_cpu_ntries, cpuid);
xt_one(cpuid, vtag_flushpage_tl1,
- (uint64_t)drmach_shutdown_va, (uint64_t)ksfmmup);
+ (uint64_t)drmach_shutdown_va, (uint64_t)ksfmmup);
return (0);
}
@@ -2519,22 +2522,22 @@
drmach_shutdown_asm_mbox->estack = bbsram_addr + (uint64_t)funclen;
tte.tte_inthi = TTE_VALID_INT | TTE_SZ_INT(TTE8K) |
- TTE_PFN_INTHI(bbsram_pfn);
+ TTE_PFN_INTHI(bbsram_pfn);
tte.tte_intlo = TTE_PFN_INTLO(bbsram_pfn) |
- TTE_HWWR_INT | TTE_PRIV_INT | TTE_LCK_INT;
+ TTE_HWWR_INT | TTE_PRIV_INT | TTE_LCK_INT;
sfmmu_dtlb_ld_kva(drmach_shutdown_va, &tte); /* load dtlb */
sfmmu_itlb_ld_kva(drmach_shutdown_va, &tte); /* load itlb */
for (src = (uint_t *)drmach_shutdown_asm, dst = (uint_t *)bbsram_addr;
- src < (uint_t *)drmach_shutdown_asm_end; src++, dst++)
+ src < (uint_t *)drmach_shutdown_asm_end; src++, dst++)
*dst = *src;
bbsram_func = (void (*)())bbsram_addr;
drmach_shutdown_asm_mbox->flushaddr = ecache_flushaddr;
drmach_shutdown_asm_mbox->size = (cpunodes[cpuid].ecache_size << 1);
drmach_shutdown_asm_mbox->linesize = cpunodes[cpuid].ecache_linesize;
- drmach_shutdown_asm_mbox->physaddr
- = va_to_pa((void *)&drmach_xt_mb[cpuid]);
+ drmach_shutdown_asm_mbox->physaddr =
+ va_to_pa((void *)&drmach_xt_mb[cpuid]);
/*
* Signal to drmach_cpu_poweroff() is via drmach_xt_mb cleared
@@ -2611,14 +2614,14 @@
if ((cp = cpu_get(cpuid)) == NULL) {
err = drerr_new(1, ESTF_NODEV, "%s::%s",
- dst_cpu->bp->cm.name, dst_cpu->cm.name);
+ dst_cpu->bp->cm.name, dst_cpu->cm.name);
return (err);
}
if (cpuid == SIGBCPU->cpu_id) {
cmn_err(CE_WARN,
- "SIGBCPU(%d) same as new selection(%d)",
- SIGBCPU->cpu_id, cpuid);
+ "SIGBCPU(%d) same as new selection(%d)",
+ SIGBCPU->cpu_id, cpuid);
/* technically not an error, but a no-op */
return (NULL);
@@ -2626,7 +2629,7 @@
}
cmn_err(CE_NOTE, "?relocating SIGBCPU from %d to %d",
- SIGBCPU->cpu_id, cpuid);
+ SIGBCPU->cpu_id, cpuid);
DRMACH_PR("moving SIGBCPU to CPU %d\n", cpuid);
@@ -2654,7 +2657,7 @@
return (NULL);
} else {
DRMACH_PR("prom error: prom_starfire_move_cpu0(%d) "
- "returned %d\n", cpuid, rv);
+ "returned %d\n", cpuid, rv);
/*
* The move failed, hopefully obp_helper is still back
@@ -2733,7 +2736,7 @@
if (SIGBCPU->cpu_id == cpuid) {
/* this cpu is SIGBCPU, can't disconnect */
return (drerr_new(1, ESTF_HASSIGB, "%s::%s",
- cpu->bp->cm.name, cpu->cm.name));
+ cpu->bp->cm.name, cpu->cm.name));
}
/*
@@ -2747,7 +2750,7 @@
}
if (!drmach_cpu_obp_is_detached(cpuid)) {
cmn_err(CE_WARN, "failed to mark cpu %d detached in sigblock",
- cpuid);
+ cpuid);
}
/* map out signature block */
@@ -2763,7 +2766,7 @@
pc_addr = STARFIRE_BB_PC_ADDR(cpu->bp->bnum, cpu->unum, 0);
DRMACH_PR("PC idle cpu %d (addr = 0x%llx, port = %d, p = %d)",
- drmach_cpu_calc_id(cpu), pc_addr, cpu->unum, p);
+ drmach_cpu_calc_id(cpu), pc_addr, cpu->unum, p);
rvalue = ldbphysio(pc_addr);
rvalue |= STARFIRE_BB_PC_IDLE(p);
@@ -2956,13 +2959,13 @@
rv = kcage_range_add(basepfn, npages, KCAGE_DOWN);
if (rv == ENOMEM) {
cmn_err(CE_WARN, "%lu megabytes not available to kernel cage",
- (ulong_t)(size == 0 ? 0 : size / MBYTE));
+ (ulong_t)(size == 0 ? 0 : size / MBYTE));
} else if (rv != 0) {
/* catch this in debug kernels */
ASSERT(0);
cmn_err(CE_WARN, "unexpected kcage_range_add"
- " return value %d", rv);
+ " return value %d", rv);
}
/*
@@ -2994,7 +2997,7 @@
return (err);
else if (mcreg & STARFIRE_MC_INTERLEAVE_MASK) {
return (drerr_new(1, ESTF_INTERBOARD, "%s::%s",
- mem->bp->cm.name, mem->cm.name));
+ mem->bp->cm.name, mem->cm.name));
}
if (size > 0) {
@@ -3231,7 +3234,7 @@
if (rv) {
#ifdef DEBUG
DRMACH_PR("OBP derived memlist intersects"
- " with phys_install\n");
+ " with phys_install\n");
memlist_dump(mlist);
DRMACH_PR("phys_install memlist:\n");
@@ -3374,8 +3377,8 @@
/* stop at first span that is in slice */
memlist_read_lock();
- for (ml = phys_install; ml; ml = ml->next)
- if (ml->address >= pa && ml->address < pa + slice_size)
+ for (ml = phys_install; ml; ml = ml->ml_next)
+ if (ml->ml_address >= pa && ml->ml_address < pa + slice_size)
break;
memlist_read_unlock();
@@ -3424,7 +3427,7 @@
return (NULL);
else {
cmn_err(CE_WARN, "prom error: prom_starfire_rm_brd(%d) "
- "returned %d", bp->bnum, retval);
+ "returned %d", bp->bnum, retval);
return (drerr_new(1, ESTF_DEPROBE, "%s", bp->cm.name));
}
}
@@ -3479,8 +3482,8 @@
bdesc = (board_desc_t *)pda_get_board_info(ph, board);
if (bdesc == NULL) {
cmn_err(CE_CONT,
- "no board descriptor found for board %d\n",
- board);
+ "no board descriptor found for board %d\n",
+ board);
pda_close(ph);
return (DRMACH_INTERNAL_ERROR());
}
@@ -3491,19 +3494,19 @@
for (i = 0; i < MAX_PROCMODS; i++) {
if (BDA_NBL(bdesc->bda_proc, i) == BDAN_GOOD)
cmn_err(CE_CONT,
- "proc %d.%d PRESENT\n", board, i);
+ "proc %d.%d PRESENT\n", board, i);
else
cmn_err(CE_CONT,
- "proc %d.%d MISSING\n", board, i);
+ "proc %d.%d MISSING\n", board, i);
}
for (i = 0; i < MAX_MGROUPS; i++) {
if (BDA_NBL(bdesc->bda_mgroup, i) == BDAN_GOOD)
cmn_err(CE_CONT,
- "mgroup %d.%d PRESENT\n", board, i);
+ "mgroup %d.%d PRESENT\n", board, i);
else
cmn_err(CE_CONT,
- "mgroup %d.%d MISSING\n", board, i);
+ "mgroup %d.%d MISSING\n", board, i);
}
/* make sure definition in platmod is in sync with pda */
@@ -3514,24 +3517,24 @@
if (BDA_NBL(bdesc->bda_ioc, i) == BDAN_GOOD) {
cmn_err(CE_CONT,
- "ioc %d.%d PRESENT\n", board, i);
+ "ioc %d.%d PRESENT\n", board, i);
for (s = 0; s < MAX_SLOTS_PER_IOC; s++) {
if (BDA_NBL(bdesc->bda_ios[i], s) != BDAN_GOOD)
continue;
cmn_err(CE_CONT,
- "..scard %d.%d.%d PRESENT\n",
- board, i, s);
+ "..scard %d.%d.%d PRESENT\n",
+ board, i, s);
}
} else {
cmn_err(CE_CONT,
- "ioc %d.%d MISSING\n",
- board, i);
+ "ioc %d.%d MISSING\n",
+ board, i);
}
}
cmn_err(CE_CONT,
- "board %d memsize = %d pages\n",
- board, pda_get_mem_size(ph, board));
+ "board %d memsize = %d pages\n",
+ board, pda_get_mem_size(ph, board));
pda_close(ph);
@@ -3550,11 +3553,11 @@
dst_pa = va_to_pa(&dst);
memlist_read_lock();
- for (ml = phys_install; ml; ml = ml->next) {
+ for (ml = phys_install; ml; ml = ml->ml_next) {
uint64_t nbytes;
- src_pa = ml->address;
- nbytes = ml->size;
+ src_pa = ml->ml_address;
+ nbytes = ml->ml_size;
while (nbytes != 0ull) {
@@ -3751,7 +3754,7 @@
drmach_xt_mb[cpuid] = 0x80;
xt_one_unchecked(cpuid, (xcfunc_t *)idle_stop_xcall,
- (uint64_t)drmach_cpu_shutdown_self, NULL);
+ (uint64_t)drmach_cpu_shutdown_self, NULL);
ntries = drmach_cpu_ntries;
cnt = 0;
@@ -3766,8 +3769,8 @@
start_cpus();
DRMACH_PR("waited %d out of %d tries for "
- "drmach_cpu_shutdown_self on cpu%d",
- drmach_cpu_ntries - ntries, drmach_cpu_ntries, cp->cpu_id);
+ "drmach_cpu_shutdown_self on cpu%d",
+ drmach_cpu_ntries - ntries, drmach_cpu_ntries, cp->cpu_id);
drmach_cpu_obp_detach(cpuid);
@@ -3815,23 +3818,23 @@
}
if (verbose)
DRMACH_PR("drmach_log_sysevent: %s %s, flag: %d, verbose: %d\n",
- attach_pnt, hint, flag, verbose);
+ attach_pnt, hint, flag, verbose);
if ((ev = sysevent_alloc(EC_DR, ESC_DR_AP_STATE_CHANGE,
- SUNW_KERN_PUB"dr", km_flag)) == NULL) {
+ SUNW_KERN_PUB"dr", km_flag)) == NULL) {
rv = -2;
goto logexit;
}
evnt_val.value_type = SE_DATA_TYPE_STRING;
evnt_val.value.sv_string = attach_pnt;
if ((rv = sysevent_add_attr(&evnt_attr_list, DR_AP_ID,
- &evnt_val, km_flag)) != 0)
+ &evnt_val, km_flag)) != 0)
goto logexit;
evnt_val.value_type = SE_DATA_TYPE_STRING;
evnt_val.value.sv_string = hint;
if ((rv = sysevent_add_attr(&evnt_attr_list, DR_HINT,
- &evnt_val, km_flag)) != 0) {
+ &evnt_val, km_flag)) != 0) {
sysevent_free_attr(evnt_attr_list);
goto logexit;
}
@@ -3849,8 +3852,8 @@
sysevent_free(ev);
if ((rv != 0) && verbose)
cmn_err(CE_WARN,
- "drmach_log_sysevent failed (rv %d) for %s %s\n",
- rv, attach_pnt, hint);
+ "drmach_log_sysevent failed (rv %d) for %s %s\n",
+ rv, attach_pnt, hint);
return (rv);
}
--- a/usr/src/uts/sun4v/io/dr_mem.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4v/io/dr_mem.c Tue Jan 12 17:06:34 2010 -0800
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -725,7 +725,7 @@
* Request is for domain's full view of it's memory.
*/
memlist_read_lock();
- for (ml = phys_install; ml; ml = ml->next)
+ for (ml = phys_install; ml; ml = ml->ml_next)
nml++;
rlen += nml * sizeof (dr_mem_query_t);
@@ -744,9 +744,9 @@
/* get the status for each of the mblocks */
if (nml) {
- for (idx = 0, ml = phys_install; ml; ml = ml->next, idx++) {
- mb.addr = ml->address;
- mb.size = ml->size;
+ for (idx = 0, ml = phys_install; ml; ml = ml->ml_next, idx++) {
+ mb.addr = ml->ml_address;
+ mb.size = ml->ml_size;
dr_mem_query(&mb, &stat[idx]);
}
memlist_read_unlock();
@@ -1201,9 +1201,9 @@
/*
* Add back the spans to the kcage growth list.
*/
- for (ml = d_ml; ml; ml = ml->next)
- if (err = kcage_range_add(btop(ml->address),
- btop(ml->size), KCAGE_DOWN))
+ for (ml = d_ml; ml; ml = ml->ml_next)
+ if (err = kcage_range_add(btop(ml->ml_address),
+ btop(ml->ml_size), KCAGE_DOWN))
cmn_err(CE_WARN, "kcage_range_add() = %d", err);
}
memlist_free_list(d_ml);
--- a/usr/src/uts/sun4v/vm/mach_kpm.c Tue Jan 12 15:24:31 2010 -0800
+++ b/usr/src/uts/sun4v/vm/mach_kpm.c Tue Jan 12 17:06:34 2010 -0800
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -56,20 +56,20 @@
* possible pages.
*/
pmem = phys_install;
- start = pmem->address;
- end = start + pmem->size;
+ start = pmem->ml_address;
+ end = start + pmem->ml_size;
for (;;) {
- if (pmem == NULL || pmem->address > end) {
+ if (pmem == NULL || pmem->ml_address > end) {
hat_devload(kas.a_hat, kpm_vbase + start,
end - start, mmu_btop(start),
PROT_READ | PROT_WRITE,
HAT_LOAD | HAT_LOAD_LOCK | HAT_LOAD_NOCONSIST);
if (pmem == NULL)
break;
- start = pmem->address;
+ start = pmem->ml_address;
}
- end = pmem->address + pmem->size;
- pmem = pmem->next;
+ end = pmem->ml_address + pmem->ml_size;
+ pmem = pmem->ml_next;
}
}