volatile VIRTIO_SCSI_RESP Response;\r
DESC_INDICES Indices;\r
\r
- //\r
- // Zero-initialization of Request & Response with "= { 0 };" doesn't build\r
- // with gcc-4.4: "undefined reference to `memset'". Direct SetMem() is not\r
- // allowed as it would cast away the volatile qualifier. Work it around.\r
- //\r
- union {\r
- VIRTIO_SCSI_REQ Request;\r
- VIRTIO_SCSI_RESP Response;\r
- } Zero;\r
-\r
- SetMem (&Zero, sizeof Zero, 0x00);\r
- Request = Zero.Request;\r
- Response = Zero.Response;\r
+ ZeroMem ((VOID*) &Request, sizeof (Request));\r
+ ZeroMem ((VOID*) &Response, sizeof (Response));\r
\r
Dev = VIRTIO_SCSI_FROM_PASS_THRU (This);\r
CopyMem (&TargetValue, Target, sizeof TargetValue);\r