Date: Thu, 16 Mar 1995 21:36:19 -0800 From: PVinci@ix.netcom.com (Paul Vinciguerra) To: hackers@FreeBSD.org Subject: why does WD.C work?? Message-ID: <199503170536.VAA16217@ix4.ix.netcom.com>
next in thread | raw e-mail | index | archive | help
in WD.C, when we READP (read the drive parameters) we bring the
parameters into a buffer (tb. I think) then we bcopy it to wd, the
wdparam structure. We do something like:
bcopy(tb, wd, sizeof(wdparam));
What I see, is that the wdparam structure is wrong according to table 12
of ATA. eg.
word 0 General Config.
word 1 # logical Cyl.
word 2 reserved
word 3 # logical heads.
but wdparam looks like:
struct wdparams {
/* drive info */
short wdp_config; /* general configuration */
short wdp_fixedcyl; /* number of non-removable
Cylinders */
short wdp_removcyl; /* number of removable cylinders */
short wdp_heads; /* number of heads */
short wdp_unfbytespertrk; /* number of unformatted
bytes/track */
Doesn't the bcopy cause a mismapping of the fields by ignoring all the
reserved and vendor specific fields, or am I missing something?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199503170536.VAA16217>
