prtvid.c revision 1.2 1 /* $NetBSD: prtvid.c,v 1.2 2002/05/04 22:05:30 scw Exp $ */
2
3 #include <stdio.h>
4 #define __DBINTERFACE_PRIVATE
5 #include <db.h>
6 #include <machine/disklabel.h>
7
8 int
9 main(argc, argv)
10 int argc;
11 char *argv[];
12 {
13 struct cpu_disklabel *cdl;
14
15 cdl = (struct cpu_disklabel *) malloc(sizeof (struct cpu_disklabel));
16
17 fread(cdl, sizeof(struct cpu_disklabel), 1, stdin);
18
19 if (BYTE_ORDER != BIG_ENDIAN)
20 swabvid(cdl);
21
22 printf("vid_id %s %x\n", cdl->vid_id,
23 (char *)&(cdl->vid_id[4]) - (char *)cdl);
24 printf("vid_oss %x %x\n", cdl->vid_oss,
25 (char *)&(cdl->vid_oss) - (char *)cdl);
26 printf("vid_osl %x %x\n", cdl->vid_osl,
27 (char *)&(cdl->vid_osl) - (char *)cdl);
28 printf("vid_osa_u %x %x\n", cdl->vid_osa_u,
29 (char *)&(cdl->vid_osa_u) - (char *)cdl);
30 printf("vid_osa_l %x %x\n", cdl->vid_osa_l,
31 (char *)&(cdl->vid_osa_l) - (char *)cdl);
32 printf("vid_vd %x\n",
33 (char *)&(cdl->vid_vd) - (char *)cdl);
34 printf("vid_cas %x %x\n", cdl->vid_cas,
35 (char *)&(cdl->vid_cas) - (char *)cdl);
36 printf("vid_cal %x %x\n", cdl->vid_cal,
37 (char *)&(cdl->vid_cal) - (char *)cdl);
38 printf("vid_moto %s %x\n", cdl->vid_mot,
39 (char *)&(cdl->vid_mot[0]) - (char *)cdl);
40
41 if (BYTE_ORDER != BIG_ENDIAN)
42 swabcfg(cdl);
43
44 printf("cfg_atm %x %x\n", cdl->cfg_atm,
45 (char *)&(cdl->cfg_atm) - (char *)(cdl));
46 printf("cfg_prm %x %x\n", cdl->cfg_prm,
47 (char *)&(cdl->cfg_prm) - (char *)(cdl));
48 printf("cfg_atw %x %x\n", cdl->cfg_atw,
49 (char *)&(cdl->cfg_atw) - (char *)(cdl));
50 printf("cfg_rec %x %x\n",(long)cdl->cfg_rec,
51 (char *)&(cdl->cfg_rec) - (char *)(cdl));
52 printf("cfg_spt %x %x\n", cdl->cfg_spt,
53 (char *)&(cdl->cfg_spt) - (char *)(cdl));
54 printf("cfg_hds %x %x\n", cdl->cfg_hds,
55 (char *)&(cdl->cfg_hds) - (char *)(cdl));
56 printf("cfg_trk %x %x\n", cdl->cfg_trk,
57 (char *)&(cdl->cfg_trk) - (char *)(cdl));
58 printf("cfg_ilv %x %x\n", cdl->cfg_ilv,
59 (char *)&(cdl->cfg_ilv) - (char *)(cdl));
60 printf("cfg_sof %x %x\n", cdl->cfg_sof,
61 (char *)&(cdl->cfg_sof) - (char *)(cdl));
62 printf("cfg_psm %x %x\n", cdl->cfg_psm,
63 (char *)&(cdl->cfg_psm) - (char *)(cdl));
64 printf("cfg_shd %x %x\n", cdl->cfg_shd,
65 (char *)&(cdl->cfg_shd) - (char *)(cdl));
66 printf("cfg_pcom %x %x\n", cdl->cfg_pcom,
67 (char *)&(cdl->cfg_pcom) - (char *)(cdl));
68 printf("cfg_ssr %x %x\n", cdl->cfg_ssr,
69 (char *)&(cdl->cfg_ssr) - (char *)(cdl));
70 printf("cfg_rwcc %x %x\n", cdl->cfg_rwcc,
71 (char *)&(cdl->cfg_rwcc) - (char *)(cdl));
72 printf("cfg_ecc %x %x\n", cdl->cfg_ecc,
73 (char *)&(cdl->cfg_ecc) - (char *)(cdl));
74 printf("cfg_eatm %x %x\n", cdl->cfg_eatm,
75 (char *)&(cdl->cfg_eatm) - (char *)(cdl));
76 printf("cfg_eprm %x %x\n", cdl->cfg_eprm,
77 (char *)&(cdl->cfg_eprm) - (char *)(cdl));
78 printf("cfg_eatw %x %x\n", cdl->cfg_eatw,
79 (char *)&(cdl->cfg_eatw) - (char *)(cdl));
80 printf("cfg_gpb1 %x %x\n", cdl->cfg_gpb1,
81 (char *)&(cdl->cfg_gpb1) - (char *)(cdl));
82 printf("cfg_gpb2 %x %x\n", cdl->cfg_gpb2,
83 (char *)&(cdl->cfg_gpb2) - (char *)(cdl));
84 printf("cfg_gpb3 %x %x\n", cdl->cfg_gpb3,
85 (char *)&(cdl->cfg_gpb3) - (char *)(cdl));
86 printf("cfg_gpb4 %x %x\n", cdl->cfg_gpb4,
87 (char *)&(cdl->cfg_gpb4) - (char *)(cdl));
88 printf("cfg_ssc %x %x\n", cdl->cfg_ssc,
89 (char *)&(cdl->cfg_ssc) - (char *)(cdl));
90 printf("cfg_runit %x %x\n", cdl->cfg_runit,
91 (char *)&(cdl->cfg_runit) - (char *)(cdl));
92 printf("cfg_rsvc1 %x %x\n", cdl->cfg_rsvc1,
93 (char *)&(cdl->cfg_rsvc1) - (char *)(cdl));
94 printf("cfg_rsvc2 %x %x\n", cdl->cfg_rsvc2,
95 (char *)&(cdl->cfg_rsvc2) - (char *)(cdl));
96 }
97
98 swabvid(cdl)
99 struct cpu_disklabel *cdl;
100 {
101 M_32_SWAP(cdl->vid_oss);
102 M_16_SWAP(cdl->vid_osl);
103 M_16_SWAP(cdl->vid_osa_u);
104 M_16_SWAP(cdl->vid_osa_l);
105 M_32_SWAP(cdl->vid_cas);
106 }
107
108 swabcfg(cdl)
109 struct cpu_disklabel *cdl;
110 {
111 printf("swapping cfg\n");
112
113 M_16_SWAP(cdl->cfg_atm);
114 M_16_SWAP(cdl->cfg_prm);
115 M_16_SWAP(cdl->cfg_atm);
116 M_16_SWAP(cdl->cfg_rec);
117 M_16_SWAP(cdl->cfg_trk);
118 M_16_SWAP(cdl->cfg_psm);
119 M_16_SWAP(cdl->cfg_shd);
120 M_16_SWAP(cdl->cfg_pcom);
121 M_16_SWAP(cdl->cfg_rwcc);
122 M_16_SWAP(cdl->cfg_ecc);
123 M_16_SWAP(cdl->cfg_eatm);
124 M_16_SWAP(cdl->cfg_eprm);
125 M_16_SWAP(cdl->cfg_eatw);
126 M_16_SWAP(cdl->cfg_rsvc1);
127 M_16_SWAP(cdl->cfg_rsvc2);
128 }
129