[Prism54-devel] sparc64 patch

Herbert Valerio Riedel hvr@hvrlab.org
Sat, 17 Jan 2004 17:47:32 +0100


--=-zIGoEKIGzWK46RW2Dl9B
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Sat, 2004-01-17 at 17:24, Clint Adams wrote:
> Since sparc64 uses 64-bit pointers, I used this patch to deal with
> Bug#39.  Obviously, doing this unconditionally will break 32-bit kernels.

[..]
> -		pointerq->host_address =3D (u32) queue_base_addr;
> -		pointerq->dev_address =3D (u32) queue_bus_addr;
> +		pointerq->host_address =3D (u64) queue_base_addr;
> +		pointerq->dev_address =3D (u64) queue_bus_addr;
[..]

without having reviewed the code in question, it seems to me, that
islpci_qentry_t might need to have the u32's changed so something like
'unsigned long'/dma_addr_t/whatever is more appropriate, while keeping
in mind that the device on the other side of the pci bus can only be
passed 32bit wide bus addresses;

thus  ->dev_address should be of type dma_addr_t (and one should make
sure the values fit lossless in 32bit words...)
while ->host_address might be changed to 'unsigned long' (or maybe
better 'void *')

regards,
--=20
Herbert Valerio Riedel       /    Phone: (EUROPE) +43-1-58801-18840
Email: hvr@hvrlab.org       /    Finger hvr@gnu.org for GnuPG Public Key
GnuPG Key Fingerprint: 7BB9 2D6C D485 CE64 4748  5F65 4981 E064 883F 4142

--=-zIGoEKIGzWK46RW2Dl9B
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQBACWcjSYHgZIg/QUIRAld/AJ9c+45vKxhKJYUkeYaCExXAr3CsDACfZFoC
kktJWAhs0FloHqC+/3bTKhU=
=8Vx/
-----END PGP SIGNATURE-----

--=-zIGoEKIGzWK46RW2Dl9B--