Lines Matching refs:dd

45 readdisklabel(disk_t *dd)
49 printf("Device : %s (%s) [%s]\n", dd->sname, dd->fname,
50 dd->product);
51 printf("Medium size: %lu sectors\n", (u_long)dd->msize);
52 printf("Sector size: %lu bytes\n\n", (u_long)dd->bsize);
54 e = bsd_label(dd, LABELSECTOR);
62 dd->bblock, dd->lblofs);
66 e = ahdi_label(dd);
73 if (dd->bblock != NO_BOOT_BLOCK)
75 dd->bblock, dd->lblofs);
85 bsd_label(disk_t *dd, u_int offset)
91 nsec = (BBMINSIZE + (dd->bsize - 1)) / dd->bsize;
92 bblk = disk_read(dd, offset, nsec);
109 dd->lblofs = (u_char *)dl - bblk;
110 dd->bblock = offset;
135 ahdi_label(disk_t *dd)
143 if (dd->bsize != AHDI_BSIZE)
149 i = ahdi_getparts(dd, AHDI_BBLOCK, AHDI_BBLOCK);
151 if (i < dd->msize)
159 i = ahdi_display(dd);
166 dd->bblock = NO_BOOT_BLOCK;
167 for (i = 0; i < dd->nparts; ++i) {
168 part_t *pd = &dd->parts[i];
172 if ((e = bsd_label(dd, offs)) < 0) {
176 dd->bblock = offs; /* got it */
179 if (id == AHDI_PID_NBD && dd->bblock == NO_BOOT_BLOCK)
180 dd->bblock = offs;
225 ahdi_display(disk_t *dd)
229 printf("Start of bad sector list : %u\n", dd->bslst);
230 if (dd->bslst == 0) {
233 printf("End of bad sector list : %u\n", dd->bslend);
234 if (dd->bslend == 0) {
237 printf("Medium size (in root sec): %u\n", dd->hdsize);
238 if (dd->hdsize == 0) {
242 qsort(dd->roots, dd->nroots, sizeof *dd->roots, root_cmp);
243 qsort(dd->parts, dd->nparts, sizeof *dd->parts, part_cmp);
246 for (i = 0; i < dd->nparts; ++i) {
247 part_t *p1 = &dd->parts[i];
249 blpm = (1024 * 1024) / dd->bsize;
254 for (j = 0; j < dd->nroots; ++j) {
255 u_int aux = dd->roots[j];
262 part_t *p2 = &dd->parts[j];
272 if (p1->start >= dd->bslst && p1->start <= dd->bslend) {
276 if (dd->bslst >= p1->start && dd->bslst <= p1->end) {
282 printf("\nTotal number of auxiliary roots: %u\n", dd->nroots);
283 printf("Total number of partitions : %u\n", dd->nparts);
284 if (dd->nparts == 0) {
287 if (dd->nparts > AHDI_MAXPARTS) {
291 "recompile the NetBSD kernel.\n", dd->nroots);
298 ahdi_getparts(dd, rsec, esec)
299 disk_t *dd;
307 root = disk_read(dd, rsec, 1);
322 u_int i = ++dd->nroots;
323 dd->roots = xrealloc(dd->roots, i * sizeof *dd->roots);
324 dd->roots[--i] = offs;
325 rv = ahdi_getparts(dd, offs,
331 u_int i = ++dd->nparts;
332 dd->parts = xrealloc(dd->parts, i * sizeof *dd->parts);
333 p = &dd->parts[--i];
341 dd->hdsize = root->ar_hdsize;
342 dd->bslst = root->ar_bslst;
343 dd->bslend = root->ar_bslst + root->ar_bslsize - 1;