Lines Matching +full:- +full:lp
55 #define LABELSIZE(lp) ((char *)&lp->d_partitions[lp->d_npartitions] - \ argument
56 (char *)lp)
67 readdisklabel(dev_t dev, void (*strat)(struct buf *bp), register struct disklabel *lp, struct cpu_d… in readdisklabel() argument
75 if (lp->d_secperunit == 0) in readdisklabel()
76 lp->d_secperunit = 0x1fffffff; in readdisklabel()
77 if (lp->d_npartitions == 0) { in readdisklabel()
78 lp->d_npartitions = RAW_PART + 1; in readdisklabel()
79 if (lp->d_partitions[RAW_PART].p_size == 0) in readdisklabel()
80 lp->d_partitions[RAW_PART].p_size = 0x1fffffff; in readdisklabel()
81 lp->d_partitions[RAW_PART].p_offset = 0; in readdisklabel()
84 bp = geteblk((int)lp->d_secsize); in readdisklabel()
86 bp->b_dev = dev; in readdisklabel()
87 bp->b_blkno = LABELSECTOR; in readdisklabel()
88 bp->b_bcount = lp->d_secsize; in readdisklabel()
89 bp->b_flags |= B_READ; in readdisklabel()
90 bp->b_cylinder = bp->b_blkno / lp->d_secpercyl; in readdisklabel()
99 dlp = (struct disklabel *)((char *)bp->b_data + LABELOFFSET); in readdisklabel()
100 if (dlp->d_magic == DISKMAGIC) in readdisklabel()
102 memcpy(lp, dlp, LABELSIZE(dlp)); in readdisklabel()
106 bp = geteblk((int)lp->d_secsize); in readdisklabel()
107 bp->b_dev = dev; in readdisklabel()
108 bp->b_blkno = MIPS_VHSECTOR; in readdisklabel()
109 bp->b_bcount = lp->d_secsize; in readdisklabel()
110 bp->b_flags |= B_READ; in readdisklabel()
111 bp->b_cylinder = bp->b_blkno / lp->d_secpercyl; in readdisklabel()
119 mvp = (struct mips_volheader *)bp->b_data; in readdisklabel()
121 if (mvp->vh_magic == MIPS_VHMAGIC) in readdisklabel()
122 return disklabel_mips_to_bsd(mvp, lp); in readdisklabel()
125 for (i=0; i <= lp->d_secsize - sizeof(*dlp); i += sizeof(long)) { in readdisklabel()
127 if (dlp->d_magic == DISKMAGIC && dlp->d_magic2 == DISKMAGIC) { in readdisklabel()
128 if (dlp->d_npartitions > MAXPARTITIONS || in readdisklabel()
132 memcpy(lp, dlp, sizeof *lp); in readdisklabel()
149 writedisklabel(dev_t dev, void (*strat)(struct buf *bp), register struct disklabel *lp, struct cpu_… in writedisklabel() argument
156 if (lp->d_partitions[labelpart].p_offset != 0) { in writedisklabel()
157 if (lp->d_partitions[0].p_offset != 0) in writedisklabel()
163 bp = geteblk((int)lp->d_secsize); in writedisklabel()
165 bp->b_dev = dev; in writedisklabel()
166 bp->b_blkno = MIPS_VHSECTOR; in writedisklabel()
167 bp->b_bcount = lp->d_secsize; in writedisklabel()
168 bp->b_flags |= B_READ; in writedisklabel()
169 bp->b_cylinder = bp->b_blkno / lp->d_secpercyl; in writedisklabel()
175 if ((error = disklabel_bsd_to_mips(lp, (void *)bp->b_data)) != 0) in writedisklabel()
179 bp->b_flags &= ~(B_READ); in writedisklabel()
180 bp->b_oflags &= ~(BO_DONE); in writedisklabel()
181 bp->b_flags |= B_WRITE; in writedisklabel()
187 memset(bp->b_data, 0, lp->d_secsize); in writedisklabel()
188 memcpy(bp->b_data, lp, sizeof(*lp)); in writedisklabel()
189 bp->b_blkno = LABELSECTOR; in writedisklabel()
190 bp->b_bcount = lp->d_secsize; in writedisklabel()
191 bp->b_cylinder = bp->b_blkno / lp->d_secpercyl; in writedisklabel()
192 bp->b_flags &= ~(B_READ); in writedisklabel()
193 bp->b_oflags &= ~(BO_DONE); in writedisklabel()
194 bp->b_flags |= B_WRITE; in writedisklabel()
240 disklabel_mips_to_bsd(struct mips_volheader *vh, struct disklabel *lp) in disklabel_mips_to_bsd() argument
247 lp->d_secsize = vh->vh_dp.dp_secbytes; in disklabel_mips_to_bsd()
248 lp->d_nsectors = vh->vh_dp.dp_secs; in disklabel_mips_to_bsd()
249 lp->d_ntracks = vh->vh_dp.dp_trks0; in disklabel_mips_to_bsd()
250 lp->d_ncylinders = vh->vh_dp.dp_cyls; in disklabel_mips_to_bsd()
251 lp->d_interleave = vh->vh_dp.dp_interleave; in disklabel_mips_to_bsd()
253 lp->d_secpercyl = lp->d_nsectors * lp->d_ntracks; in disklabel_mips_to_bsd()
254 lp->d_secperunit = lp->d_secpercyl * lp->d_ncylinders; in disklabel_mips_to_bsd()
256 lp->d_bbsize = BBSIZE; in disklabel_mips_to_bsd()
257 lp->d_sbsize = SBLOCKSIZE; in disklabel_mips_to_bsd()
258 lp->d_npartitions = MAXPARTITIONS; in disklabel_mips_to_bsd()
264 lpp = &lp->d_partitions[bp]; in disklabel_mips_to_bsd()
265 lpp->p_offset = vh->vh_part[mp].pt_offset; in disklabel_mips_to_bsd()
266 lpp->p_size = vh->vh_part[mp].pt_size; in disklabel_mips_to_bsd()
267 lpp->p_fstype = partition_map[i].bsd_type; in disklabel_mips_to_bsd()
268 if (lpp->p_fstype == FS_BSDFFS) { in disklabel_mips_to_bsd()
269 lpp->p_fsize = 1024; in disklabel_mips_to_bsd()
270 lpp->p_frag = 8; in disklabel_mips_to_bsd()
271 lpp->p_cpg = 16; in disklabel_mips_to_bsd()
286 disklabel_bsd_to_mips(struct disklabel *lp, struct mips_volheader *vh) in disklabel_bsd_to_mips() argument
291 if (vh->vh_magic != MIPS_VHMAGIC || mipsvh_cksum(vh) != 0) { in disklabel_bsd_to_mips()
296 vh->vh_magic = MIPS_VHMAGIC; in disklabel_bsd_to_mips()
297 vh->vh_root = 0; /* a*/ in disklabel_bsd_to_mips()
298 vh->vh_swap = 1; /* b*/ in disklabel_bsd_to_mips()
300 strcpy(vh->bootfile, "/netbsd"); in disklabel_bsd_to_mips()
301 vh->vh_dp.dp_skew = lp->d_trackskew; in disklabel_bsd_to_mips()
302 vh->vh_dp.dp_gap1 = 1; /* XXX */ in disklabel_bsd_to_mips()
303 vh->vh_dp.dp_gap2 = 1; /* XXX */ in disklabel_bsd_to_mips()
304 vh->vh_dp.dp_cyls = lp->d_ncylinders; in disklabel_bsd_to_mips()
305 vh->vh_dp.dp_shd0 = 0; in disklabel_bsd_to_mips()
306 vh->vh_dp.dp_trks0 = lp->d_ntracks; in disklabel_bsd_to_mips()
307 vh->vh_dp.dp_secs = lp->d_nsectors; in disklabel_bsd_to_mips()
308 vh->vh_dp.dp_secbytes = lp->d_secsize; in disklabel_bsd_to_mips()
309 vh->vh_dp.dp_interleave = lp->d_interleave; in disklabel_bsd_to_mips()
310 vh->vh_dp.dp_nretries = 22; in disklabel_bsd_to_mips()
316 lpp = &lp->d_partitions[bp]; in disklabel_bsd_to_mips()
317 vh->vh_part[mp].pt_offset = lpp->p_offset; in disklabel_bsd_to_mips()
318 vh->vh_part[mp].pt_size = lpp->p_size; in disklabel_bsd_to_mips()
319 vh->vh_part[mp].pt_fstype = partition_map[i].mips_type; in disklabel_bsd_to_mips()
324 vh->vh_part[8].pt_offset = 0; in disklabel_bsd_to_mips()
325 vh->vh_part[8].pt_size = vh->vh_part[vh->vh_root].pt_offset + in disklabel_bsd_to_mips()
326 BBSIZE / vh->vh_dp.dp_secbytes; in disklabel_bsd_to_mips()
327 vh->vh_part[8].pt_fstype = MIPS_FS_VOLHDR; in disklabel_bsd_to_mips()
329 vh->vh_cksum = 0; in disklabel_bsd_to_mips()
330 vh->vh_cksum = -mipsvh_cksum(vh); in disklabel_bsd_to_mips()
348 while (i--) in mipsvh_cksum()