# HG changeset patch # User Richard Lowe # Date 1327970302 18000 # Node ID 19698f035619c8cd1346badcfab39d2dd0db2eb3 # Parent be505a6a00b086273038daa83eced0e9b6143673 2061 uts homebrew offsetofs cause various pointer-cast warnings Reviewed by: Joshua M. Clulow Reviewed by: Jason King Reviewed by: Darren Reed Approved by: Garrett D'Amore diff -r be505a6a00b0 -r 19698f035619 usr/src/uts/common/avs/ns/dsw/dsw_dev.c --- a/usr/src/uts/common/avs/ns/dsw/dsw_dev.c Tue Jun 21 10:00:20 2011 -0700 +++ b/usr/src/uts/common/avs/ns/dsw/dsw_dev.c Mon Jan 30 19:38:22 2012 -0500 @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -67,7 +68,7 @@ #define II_TAIL_COPY(d, s, m, t) bcopy(&(s.m), &(d.m), \ - sizeof (d) - (uint_t)&((t *)0)->m) + sizeof (d) - (uintptr_t)&((t *)0)->m) extern dev_info_t *ii_dip; #define II_LINK_CLUSTER(ip, cluster) \ @@ -4234,7 +4235,8 @@ { dsw_aioctl_t ulist; dsw_aioctl32_t ulist32; - int name_offset, i; + size_t name_offset; + int i; spcs_s_info_t kstatus; char *carg = (char *)arg; uint64_t hash; @@ -4242,13 +4244,13 @@ _ii_lstinfo_t *np; *rvp = 0; - name_offset = (int)&(((dsw_aioctl_t *)0)->shadow_vol[0]); + name_offset = offsetof(dsw_aioctl_t, shadow_vol[0]); if (ilp32) { if (copyin((void *) arg, &ulist32, sizeof (ulist32)) < 0) return (EFAULT); II_TAIL_COPY(ulist, ulist32, flags, dsw_aioctl_t); ulist.status = (spcs_s_info_t)ulist32.status; - name_offset = (int)&(((dsw_aioctl32_t *)0)->shadow_vol[0]); + name_offset = offsetof(dsw_aioctl32_t, shadow_vol[0]); } else if (copyin((void *) arg, &ulist, sizeof (ulist)) < 0) return (EFAULT); @@ -4323,20 +4325,21 @@ dsw_aioctl_t ulist; dsw_aioctl32_t ulist32; _ii_overflow_t *op; + size_t name_offset; int rc = 0; - int name_offset, i; + int i; char *carg = (char *)arg; spcs_s_info_t kstatus; *rvp = 0; - name_offset = (int)&(((dsw_aioctl_t *)0)->shadow_vol[0]); + name_offset = offsetof(dsw_aioctl_t, shadow_vol[0]); if (ilp32) { if (copyin((void *)arg, &ulist32, sizeof (ulist32)) < 0) return (EFAULT); II_TAIL_COPY(ulist, ulist32, flags, dsw_aioctl_t); ulist.status = (spcs_s_info_t)ulist32.status; - name_offset = (int)&(((dsw_aioctl32_t *)0)->shadow_vol[0]); + name_offset = offsetof(dsw_aioctl32_t, shadow_vol[0]); } else if (copyin((void *)arg, &ulist, sizeof (ulist)) < 0) return (EFAULT); @@ -5220,7 +5223,7 @@ _ii_acopy(intptr_t arg, int ilp32, int *rvp) { int rc; - int name_offset; + size_t name_offset; char *list; char *nptr; char name[DSW_NAMELEN]; @@ -5230,14 +5233,14 @@ *rvp = 0; - name_offset = (int)&(((dsw_aioctl_t *)0)->shadow_vol[0]); + name_offset = offsetof(dsw_aioctl_t, shadow_vol[0]); if (ilp32) { if (copyin((void *)arg, &ucopy32, sizeof (ucopy32)) < 0) return (EFAULT); II_TAIL_COPY(ucopy, ucopy32, flags, dsw_ioctl_t); ucopy.status = (spcs_s_info_t)ucopy32.status; - name_offset = (int)&(((dsw_aioctl32_t *)0)->shadow_vol[0]); + name_offset = offsetof(dsw_aioctl32_t, shadow_vol[0]); } else if (copyin((void *)arg, &ucopy, sizeof (ucopy)) < 0) return (EFAULT); diff -r be505a6a00b0 -r 19698f035619 usr/src/uts/common/fs/udfs/udf_alloc.c --- a/usr/src/uts/common/fs/udfs/udf_alloc.c Tue Jun 21 10:00:20 2011 -0700 +++ b/usr/src/uts/common/fs/udfs/udf_alloc.c Mon Jan 30 19:38:22 2012 -0500 @@ -24,8 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include #include #include @@ -175,10 +173,10 @@ if (ud_part->udp_nfree != 0) { if (ud_part->udp_flags == UDP_BITMAPS) { error = ud_alloc_space_bmap(vfsp, ud_part, proximity, - blkcount, start_blkno, size, less_is_ok); + blkcount, start_blkno, size, less_is_ok); } else { error = ud_alloc_space_stbl(vfsp, ud_part, proximity, - blkcount, start_blkno, size, less_is_ok); + blkcount, start_blkno, size, less_is_ok); } if (error == 0) { mutex_enter(&udf_vfsp->udf_lock); @@ -258,7 +256,7 @@ */ temp = blkcount; if (ud_check_free_and_mark_used(vfsp, - ud_part, proximity, &temp) == 0) { + ud_part, proximity, &temp) == 0) { if (temp != 0) { *start_blkno = proximity; *size = temp; @@ -290,17 +288,17 @@ * due to the way bread is implemented */ if ((bp == NULL) || - ((eblk - bno) < blkcount)) { + ((eblk - bno) < blkcount)) { if (bp != NULL) { brelse(bp); } begin = ud_part->udp_unall_loc + - bno / bb_count; + bno / bb_count; bp = ud_bread(vfsp->vfs_dev, - ud_xlate_to_daddr(udf_vfsp, - ud_part->udp_number, - begin, 1, &dummy) - << udf_vfsp->udf_l2d_shift, lbsz); + ud_xlate_to_daddr(udf_vfsp, + ud_part->udp_number, + begin, 1, &dummy) << + udf_vfsp->udf_l2d_shift, lbsz); if (bp->b_flags & B_ERROR) { brelse(bp); return (EIO); @@ -317,14 +315,14 @@ temp = blkcount; } if ((new_size = ud_check_free(addr, eaddr, - bno - bblk, temp)) == temp) { + bno - bblk, temp)) == temp) { ud_mark_used(addr, bno - bblk, temp); bdwrite(bp); *start_blkno = bno - HDR_BLKS; *size = temp; mutex_enter(&udf_vfsp->udf_lock); ud_part->udp_last_alloc = - bno + temp - HDR_BLKS; + bno + temp - HDR_BLKS; mutex_exit(&udf_vfsp->udf_lock); return (0); } @@ -380,7 +378,7 @@ * already allocated behind us */ if (ud_check_free_and_mark_used(vfsp, - ud_part, old_loc, &old_size) == 0) { + ud_part, old_loc, &old_size) == 0) { if (old_size != 0) { *start_blkno = old_loc; *size = old_size; @@ -423,9 +421,9 @@ */ begin = ud_part->udp_unall_loc + (start / bb_count); bp = ud_bread(vfsp->vfs_dev, - ud_xlate_to_daddr(udf_vfsp, ud_part->udp_number, - begin, 1, &dummy) << udf_vfsp->udf_l2d_shift, - udf_vfsp->udf_lbsize); + ud_xlate_to_daddr(udf_vfsp, ud_part->udp_number, + begin, 1, &dummy) << udf_vfsp->udf_l2d_shift, + udf_vfsp->udf_lbsize); if (bp->b_flags & B_ERROR) { brelse(bp); return (EIO); @@ -440,8 +438,8 @@ ASSERT(*count > 0); } if (ud_check_free((uint8_t *)bp->b_un.b_addr, - (uint8_t *)bp->b_un.b_addr + bp->b_bcount, - start, *count) != *count) { + (uint8_t *)bp->b_un.b_addr + bp->b_bcount, start, + *count) != *count) { brelse(bp); return (1); } @@ -517,9 +515,8 @@ ASSERT((ud_part->udp_unall_len + 40) <= udf_vfsp->udf_lbsize); bp = ud_bread(vfsp->vfs_dev, - ud_xlate_to_daddr(udf_vfsp, ud_part->udp_number, - ud_part->udp_unall_loc, 1, &temp), - udf_vfsp->udf_lbsize); + ud_xlate_to_daddr(udf_vfsp, ud_part->udp_number, + ud_part->udp_unall_loc, 1, &temp), udf_vfsp->udf_lbsize); use = (struct unall_space_ent *)bp->b_un.b_addr; sz = SWAP_32(use->use_len_ad); @@ -538,7 +535,7 @@ larg_index = larg_sz = 0; for (index = 0; index < count; index++, sad++) { temp = SWAP_32(sad->sad_ext_len) >> - udf_vfsp->udf_l2b_shift; + udf_vfsp->udf_l2b_shift; if (temp == blkcount) { /* * We found the right fit @@ -559,7 +556,7 @@ *start_blkno = SWAP_32(sad->sad_ext_loc); *size = blkcount; temp = (temp - blkcount) << - udf_vfsp->udf_l2b_shift; + udf_vfsp->udf_l2b_shift; sad->sad_ext_len = SWAP_32(temp); temp = SWAP_32(sad->sad_ext_loc) + blkcount; sad->sad_ext_loc = SWAP_32(temp); @@ -577,8 +574,7 @@ } } compress_sad: - if ((less_is_ok) && - (larg_sz != 0)) { + if ((less_is_ok) && (larg_sz != 0)) { /* * If we came here we could * not find a extent to cover the entire size @@ -590,7 +586,7 @@ *start_blkno = SWAP_32(sad->sad_ext_loc); *size = larg_sz; for (index = larg_index; index < count; - index++, sad++) { + index++, sad++) { *sad = *(sad+1); } sz -= sizeof (struct short_ad); @@ -613,7 +609,7 @@ larg_index = larg_sz = 0; for (index = 0; index < count; index++, lad++) { temp = SWAP_32(lad->lad_ext_len) >> - udf_vfsp->udf_l2b_shift; + udf_vfsp->udf_l2b_shift; if (temp == blkcount) { /* * We found the right fit @@ -634,7 +630,7 @@ *start_blkno = SWAP_32(lad->lad_ext_loc); *size = blkcount; temp = (temp - blkcount) << - udf_vfsp->udf_l2b_shift; + udf_vfsp->udf_l2b_shift; lad->lad_ext_len = SWAP_32(temp); temp = SWAP_32(lad->lad_ext_loc) + blkcount; lad->lad_ext_loc = SWAP_32(temp); @@ -652,8 +648,7 @@ } } compress_lad: - if ((less_is_ok) && - (larg_sz != 0)) { + if ((less_is_ok) && (larg_sz != 0)) { /* * If we came here we could * not find a extent to cover the entire size @@ -665,7 +660,7 @@ *start_blkno = SWAP_32(lad->lad_ext_loc); *size = larg_sz; for (index = larg_index; index < count; - index++, lad++) { + index++, lad++) { *lad = *(lad+1); } sz -= sizeof (struct long_ad); @@ -755,7 +750,7 @@ udf_vfsp = (struct udf_vfs *)vfsp->vfs_data; if ((ud_part->udp_freed_len == 0) && - (ud_part->udp_unall_len == 0)) { + (ud_part->udp_unall_len == 0)) { return (ENOSPC); } /* @@ -782,10 +777,8 @@ for (block = begin; block <= end; block++) { bp = ud_bread(vfsp->vfs_dev, - ud_xlate_to_daddr(udf_vfsp, - ud_part->udp_number, block, 1, &dummy) - << udf_vfsp->udf_l2d_shift, - udf_vfsp->udf_lbsize); + ud_xlate_to_daddr(udf_vfsp, ud_part->udp_number, block, 1, + &dummy) << udf_vfsp->udf_l2d_shift, udf_vfsp->udf_lbsize); if (bp->b_flags & B_ERROR) { brelse(bp); return (EIO); @@ -855,8 +848,7 @@ ASSERT(ud_part); ASSERT(ud_part->udp_flags == UDP_SPACETBLS); - if ((ud_part->udp_freed_len == 0) && - (ud_part->udp_unall_len == 0)) { + if ((ud_part->udp_freed_len == 0) && (ud_part->udp_unall_len == 0)) { return (ENOSPC); } @@ -870,8 +862,8 @@ ASSERT((ud_part->udp_unall_len + 40) <= udf_vfsp->udf_lbsize); bp = ud_bread(vfsp->vfs_dev, - ud_xlate_to_daddr(udf_vfsp, ud_part->udp_number, - block, 1, &dummy), udf_vfsp->udf_lbsize); + ud_xlate_to_daddr(udf_vfsp, ud_part->udp_number, block, 1, &dummy), + udf_vfsp->udf_lbsize); use = (struct unall_space_ent *)bp->b_un.b_addr; sz = SWAP_32(use->use_len_ad); @@ -888,14 +880,14 @@ */ for (index = 0; index < count; index++, sad++) { if (beginblk == (SWAP_32(sad->sad_ext_loc) + - (SWAP_32(sad->sad_ext_len) / - udf_vfsp->udf_lbsize))) { + (SWAP_32(sad->sad_ext_len) / + udf_vfsp->udf_lbsize))) { dummy = SWAP_32(sad->sad_ext_len) + - blkcount * udf_vfsp->udf_lbsize; + blkcount * udf_vfsp->udf_lbsize; sad->sad_ext_len = SWAP_32(dummy); goto end; } else if ((beginblk + blkcount) == - SWAP_32(sad->sad_ext_loc)) { + SWAP_32(sad->sad_ext_loc)) { sad->sad_ext_loc = SWAP_32(beginblk); goto end; } @@ -906,7 +898,7 @@ * Check if we space. */ if ((40 + sz + sizeof (struct short_ad)) > - udf_vfsp->udf_lbsize) { + udf_vfsp->udf_lbsize) { error = ENOSPC; goto end; } @@ -934,14 +926,14 @@ */ for (index = 0; index < count; index++, lad++) { if (beginblk == (SWAP_32(lad->lad_ext_loc) + - (SWAP_32(lad->lad_ext_len) / - udf_vfsp->udf_lbsize))) { + (SWAP_32(lad->lad_ext_len) / + udf_vfsp->udf_lbsize))) { dummy = SWAP_32(lad->lad_ext_len) + - blkcount * udf_vfsp->udf_lbsize; + blkcount * udf_vfsp->udf_lbsize; lad->lad_ext_len = SWAP_32(dummy); goto end; } else if ((beginblk + blkcount) == - SWAP_32(lad->lad_ext_loc)) { + SWAP_32(lad->lad_ext_loc)) { lad->lad_ext_loc = SWAP_32(beginblk); goto end; } @@ -952,7 +944,7 @@ * Check if we space. */ if ((40 + sz + sizeof (struct long_ad)) > - udf_vfsp->udf_lbsize) { + udf_vfsp->udf_lbsize) { error = ENOSPC; goto end; } @@ -1019,7 +1011,7 @@ prn = pip->i_icb_prn; if ((err = ud_alloc_space(pip->i_vfs, prn, - 0, 1, &blkno, &size, 0, 1)) != 0) { + 0, 1, &blkno, &size, 0, 1)) != 0) { return (err); } loc = ud_xlate_to_daddr(udf_vfsp, prn, blkno, 1, &dummy); @@ -1048,8 +1040,8 @@ * 3) Otherwise, set the group-id to the gid of the parent directory. */ if ((vap->va_mask & AT_GID) && - ((vap->va_gid == pip->i_gid) || groupmember(vap->va_gid, cr) || - secpolicy_vnode_create_gid(cr) == 0)) { + ((vap->va_gid == pip->i_gid) || groupmember(vap->va_gid, cr) || + secpolicy_vnode_create_gid(cr) == 0)) { /* * XXX - is this only the case when a 4.0 NFS client, or a * client derived from that code, makes a call over the wire? @@ -1058,7 +1050,7 @@ } else { gid = crgetgid(cr); fe->fe_gid = (pip->i_char & ISGID) ? - SWAP_32(pip->i_gid) : SWAP_32(gid); + SWAP_32(pip->i_gid) : SWAP_32(gid); } imode = MAKEIMODE(vap->va_type, vap->va_mode); @@ -1115,19 +1107,18 @@ mutex_exit(&udf_vfsp->udf_lock); ea_len = 0; - if ((vap->va_type == VBLK) || - (vap->va_type == VCHR)) { + if ((vap->va_type == VBLK) || (vap->va_type == VCHR)) { eah = (struct ext_attr_hdr *)fe->fe_spec; ea_len = (sizeof (struct ext_attr_hdr) + 3) & ~3; eah->eah_ial = SWAP_32(ea_len); ds = (struct dev_spec_ear *)&fe->fe_spec[ea_len]; ea_len += ud_make_dev_spec_ear(ds, - getmajor(vap->va_rdev), getminor(vap->va_rdev)); + getmajor(vap->va_rdev), getminor(vap->va_rdev)); ea_len = (ea_len + 3) & ~3; eah->eah_aal = SWAP_32(ea_len); ud_make_tag(udf_vfsp, &eah->eah_tag, - UD_EXT_ATTR_HDR, blkno, ea_len); + UD_EXT_ATTR_HDR, blkno, ea_len); } fe->fe_len_ear = SWAP_32(ea_len); @@ -1172,7 +1163,7 @@ } else { if ((ichar & ISGID) && secpolicy_vnode_setids_setgids(cr, - (gid_t)SWAP_32(fe->fe_gid)) != 0) { + (gid_t)SWAP_32(fe->fe_gid)) != 0) { ichar &= ~ISGID; } } @@ -1187,8 +1178,8 @@ } icb->itag_flags = SWAP_16(flags); ud_make_tag(udf_vfsp, &fe->fe_tag, UD_FILE_ENTRY, blkno, - ((uint32_t)&((struct file_entry *)0)->fe_spec) + - SWAP_32(fe->fe_len_ear) + SWAP_32(fe->fe_len_adesc)); + offsetof(struct file_entry, fe_spec) + + SWAP_32(fe->fe_len_ear) + SWAP_32(fe->fe_len_adesc)); BWRITE2(bp); @@ -1206,7 +1197,7 @@ if ((ip = ud_search_icache(pip->i_vfs, prn, blkno)) != NULL) { cmn_err(CE_NOTE, "duplicate %p %x\n", - (void *)ip, (uint32_t)ip->i_icb_lbano); + (void *)ip, (uint32_t)ip->i_icb_lbano); } } #endif @@ -1239,8 +1230,7 @@ udf_vfsp = (struct udf_vfs *)ip->i_vfs->vfs_data; bp = ud_bread(ip->i_dev, ip->i_icb_lbano << - udf_vfsp->udf_l2d_shift, - udf_vfsp->udf_lbsize); + udf_vfsp->udf_l2d_shift, udf_vfsp->udf_lbsize); if (bp->b_flags & B_ERROR) { /* * Error get rid of bp @@ -1253,8 +1243,7 @@ bzero(bp->b_un.b_addr, 0x10); BWRITE(bp); } - ud_free_space(ip->i_vfs, ip->i_icb_prn, - ip->i_icb_block, 1); + ud_free_space(ip->i_vfs, ip->i_icb_prn, ip->i_icb_block, 1); mutex_enter(&udf_vfsp->udf_lock); if (type == VDIR) { if (udf_vfsp->udf_ndirs > 1) { @@ -1377,8 +1366,7 @@ mutex_exit(&udf_vfsp->udf_lock); /* allocate new cluster */ if ((error = ud_alloc_space(udf_vfsp->udf_vfs, - part->udp_number, 0, CLSTR_SIZE, - &bno, &sz, 1, 0)) != 0) { + part->udp_number, 0, CLSTR_SIZE, &bno, &sz, 1, 0)) != 0) { return (error); } if (sz == 0) { @@ -1424,7 +1412,7 @@ part->udp_cache_count = 0; mutex_exit(&udf_vfsp->udf_lock); ud_free_space(udf_vfsp->udf_vfs, - part->udp_number, start, nblks); + part->udp_number, start, nblks); mutex_enter(&udf_vfsp->udf_lock); } } diff -r be505a6a00b0 -r 19698f035619 usr/src/uts/common/fs/udfs/udf_inode.c --- a/usr/src/uts/common/fs/udfs/udf_inode.c Tue Jun 21 10:00:20 2011 -0700 +++ b/usr/src/uts/common/fs/udfs/udf_inode.c Mon Jan 30 19:38:22 2012 -0500 @@ -1153,10 +1153,11 @@ ud_iupdat(struct ud_inode *ip, int32_t waitfor) { uint16_t flag, tag_flags; - int32_t error, crc_len = 0; + int32_t error; struct buf *bp; struct udf_vfs *udf_vfsp; struct file_entry *fe; + uint16_t crc_len = 0; ASSERT(RW_WRITE_HELD(&ip->i_contents)); @@ -1237,7 +1238,7 @@ ud_update_regid(&fe->fe_impl_id); - crc_len = ((uint32_t)&((struct file_entry *)0)->fe_spec) + + crc_len = offsetof(struct file_entry, fe_spec) + SWAP_32(fe->fe_len_ear); if (ip->i_desc_type == ICB_FLAG_ONE_AD) { crc_len += ip->i_size; diff -r be505a6a00b0 -r 19698f035619 usr/src/uts/common/fs/udfs/udf_vnops.c --- a/usr/src/uts/common/fs/udfs/udf_vnops.c Tue Jun 21 10:00:20 2011 -0700 +++ b/usr/src/uts/common/fs/udfs/udf_vnops.c Mon Jan 30 19:38:22 2012 -0500 @@ -2759,7 +2759,7 @@ struct buf *bp = NULL; int32_t lbmask; uint64_t isize; - int32_t crc_len; + uint16_t crc_len; struct file_entry *fe; ud_printf("ud_putapage\n"); @@ -2831,7 +2831,7 @@ (void) kcopy(kaddr, caddr, ip->i_size); ppmapout(kaddr); } - crc_len = ((uint32_t)&((struct file_entry *)0)->fe_spec) + + crc_len = offsetof(struct file_entry, fe_spec) + SWAP_32(fe->fe_len_ear); crc_len += ip->i_size; ud_make_tag(ip->i_udf, &fe->fe_tag, diff -r be505a6a00b0 -r 19698f035619 usr/src/uts/common/sys/pathconf.h --- a/usr/src/uts/common/sys/pathconf.h Tue Jun 21 10:00:20 2011 -0700 +++ b/usr/src/uts/common/sys/pathconf.h Mon Jan 30 19:38:22 2012 -0500 @@ -26,8 +26,6 @@ #ifndef _SYS_PATHCONF_H #define _SYS_PATHCONF_H -#pragma ident "%Z%%M% %I% %E% SMI" - /* pathconf.h 1.9 89/06/26 SMI */ #include @@ -118,7 +116,7 @@ * The size of the non-kernel part of the struct. */ #ifdef _KERNEL -#define PCSIZ (int)(&(((struct pathcnf *)0)->pc_refcnt)) +#define PCSIZ ((size_t)(&(((struct pathcnf *)0)->pc_refcnt))) #define PCCMP(p1, p2) bcmp((char *)p1, (char *)p2, PCSIZ) #endif diff -r be505a6a00b0 -r 19698f035619 usr/src/uts/sun4u/starcat/io/mboxsc.c --- a/usr/src/uts/sun4u/starcat/io/mboxsc.c Tue Jun 21 10:00:20 2011 -0700 +++ b/usr/src/uts/sun4u/starcat/io/mboxsc.c Mon Jan 30 19:38:22 2012 -0500 @@ -156,10 +156,9 @@ (((tid) == 0) || ((tid) == (msgp)->msg_transid)) /* - * These macros can be used to determine the offset or size of any field in the - * message header (or any other struct, for that matter). + * This macro can be used to determine the size of any field in the message + * header (or any other struct, for that matter). */ -#define FIELD_OFFSET(type, field) ((uint32_t)&(((type *)0)->field)) #define FIELD_SIZE(type, field) (sizeof (((type *)0)->field)) /* @@ -1079,7 +1078,7 @@ if ((error == 0) && (data_valid == IOSRAM_DATA_VALID)) { error = mboxsc_timed_read(deadline, key, - FIELD_OFFSET(mboxsc_msghdr_t, msg_transid), + offsetof(mboxsc_msghdr_t, msg_transid), FIELD_SIZE(mboxsc_msghdr_t, msg_transid), (caddr_t)&read_transid); } diff -r be505a6a00b0 -r 19698f035619 usr/src/uts/sun4u/starcat/sys/domaind.h --- a/usr/src/uts/sun4u/starcat/sys/domaind.h Tue Jun 21 10:00:20 2011 -0700 +++ b/usr/src/uts/sun4u/starcat/sys/domaind.h Mon Jan 30 19:38:22 2012 -0500 @@ -27,12 +27,11 @@ #ifndef _SYS_DOMAIND_H #define _SYS_DOMAIND_H -#pragma ident "%Z%%M% %I% %E% SMI" - #ifdef __cplusplus extern "C" { #endif +#include #include typedef struct domain_data { @@ -57,16 +56,16 @@ /* * offsets */ -#define DOMD_MAGIC_OFFSET ((uint32_t)&((domain_data_t *)0)->magic) -#define DOMD_VERSION_OFFSET ((uint32_t)&((domain_data_t *)0)->version) -#define DOMD_KEYSWITCH_OFFSET ((uint32_t)&((domain_data_t *)0)->keyswitch) -#define DOMD_SCIP_OFFSET ((uint32_t)&((domain_data_t *)0)->master_sc_ip) -#define DOMD_LEDS_OFFSET ((uint32_t)&((domain_data_t *)0)->leds) -#define DOMD_DSTATE_OFFSET ((uint32_t)&((domain_data_t *)0)->domain_state) -#define DOMD_HEARTBEAT_OFFSET ((uint32_t)&((domain_data_t *)0)->heartbeat) -#define DOMD_CPUSPRESENT_OFFSET ((uint32_t)&((domain_data_t *)0)->cpus_present) -#define DOMD_CPUSIGS_OFFSET ((uint32_t)&((domain_data_t *)0)->cpu_sigs) -#define DOMD_RESETINFO_OFFSET ((uint32_t)&((domain_data_t *)0)->resetinfo_off) +#define DOMD_MAGIC_OFFSET offsetof(domain_data_t, magic) +#define DOMD_VERSION_OFFSET offsetof(domain_data_t, version) +#define DOMD_KEYSWITCH_OFFSET offsetof(domain_data_t, keyswitch) +#define DOMD_SCIP_OFFSET offsetof(domain_data_t, master_sc_ip) +#define DOMD_LEDS_OFFSET offsetof(domain_data_t, leds) +#define DOMD_DSTATE_OFFSET offsetof(domain_data_t, domain_state) +#define DOMD_HEARTBEAT_OFFSET offsetof(domain_data_t, heartbeat) +#define DOMD_CPUSPRESENT_OFFSET offsetof(domain_data_t, cpus_present) +#define DOMD_CPUSIGS_OFFSET offsetof(domain_data_t, cpu_sigs) +#define DOMD_RESETINFO_OFFSET offsetof(domain_data_t, resetinfo_off) /* * tod diff -r be505a6a00b0 -r 19698f035619 usr/src/uts/sun4u/starcat/sys/sc_cvcio.h --- a/usr/src/uts/sun4u/starcat/sys/sc_cvcio.h Tue Jun 21 10:00:20 2011 -0700 +++ b/usr/src/uts/sun4u/starcat/sys/sc_cvcio.h Mon Jan 30 19:38:22 2012 -0500 @@ -27,7 +27,7 @@ #ifndef _SYS_SC_CVCIO_H #define _SYS_SC_CVCIO_H -#pragma ident "%Z%%M% %I% %E% SMI" +#include #ifdef __cplusplus extern "C" { @@ -120,7 +120,7 @@ * These macros can be used to determine the offset or size of any field in the * CONC chunk. */ -#define CVC_CTL_OFFSET(field) ((uint32_t)&(((cvc_ctl_t *)0)->field)) +#define CVC_CTL_OFFSET(field) offsetof(cvc_ctl_t, field) #define CVC_CTL_SIZE(field) (sizeof (((cvc_ctl_t *)0)->field)) /* diff -r be505a6a00b0 -r 19698f035619 usr/src/uts/sun4u/starfire/io/idn.c --- a/usr/src/uts/sun4u/starfire/io/idn.c Tue Jun 21 10:00:20 2011 -0700 +++ b/usr/src/uts/sun4u/starfire/io/idn.c Mon Jan 30 19:38:22 2012 -0500 @@ -620,7 +620,7 @@ #ifndef lint ASSERT(sizeof (idnsb_t) == IDNSB_SIZE); - ASSERT((uint_t)&((struct idnsb *)0)->id_hwchkpt[0] == 0x40); + ASSERT(offsetof(struct idnsb, id_hwchkpt[0]) == 0x40); #endif /* lint */ switch (cmd) {