Header
fib->Header.Size += nseg * sizeof(struct aac_sg_entry);
fib->Header.Size += nseg*sizeof(struct aac_sg_entry64);
cm->cm_fib->Header.SenderFibAddress = (cm->cm_index << 1);
cm->cm_fib->Header.ReceiverFibAddress = cm->cm_fibphys;
cm->cm_fib->Header.SenderData = cm->cm_index;
fib->Header.XferState = AAC_FIBSTATE_HOSTOWNED |
fib->Header.XferState |= xferstate;
fib->Header.Command = command;
fib->Header.StructType = AAC_FIBTYPE_TFIB;
fib->Header.Size = sizeof(struct aac_fib) + datasize;
fib->Header.SenderSize = sizeof(struct aac_fib);
fib->Header.SenderFibAddress = 0; /* Not needed */
fib->Header.ReceiverFibAddress = sc->aac_common_busaddr +
fib->Header.ReceiverFibAddress, 0, 0, 0, NULL)) {
fib_size = cm->cm_fib->Header.Size;
fib_addr = cm->cm_fib->Header.ReceiverFibAddress;
(*fib_addr)->Header.XferState |= AAC_FIBSTATE_DONEADAP;
fib_size = fib->Header.Size;
fib_addr = fib->Header.SenderFibAddress;
fib->Header.ReceiverFibAddress = fib_addr;
printf(" XferState %b\n", fib->Header.XferState, "\20"
printf(" Command %d\n", fib->Header.Command);
printf(" StructType %d\n", fib->Header.StructType);
printf(" Flags 0x%x\n", fib->Header.Flags);
printf(" Size %d\n", fib->Header.Size);
printf(" SenderSize %d\n", fib->Header.SenderSize);
printf(" SenderAddress 0x%x\n", fib->Header.SenderFibAddress);
printf(" ReceiverAddress 0x%x\n", fib->Header.ReceiverFibAddress);
printf(" SenderData 0x%x\n", fib->Header.SenderData);
switch(fib->Header.Command) {
switch (fib->Header.Command) {
if ((fib->Header.XferState == 0) ||
(fib->Header.StructType != AAC_FIBTYPE_TFIB))
if (fib->Header.XferState & AAC_FIBSTATE_FROMADAP) {
fib->Header.XferState |= AAC_FIBSTATE_DONEHOST;
size = fib->Header.Size;
fib->Header.Size = size;
cm = sc->aac_commands + fib->Header.SenderData;
fib->Header.Size = sizeof(struct aac_fib_header);
fib->Header.XferState =
fib->Header.Command = ContainerCommand;
fib->Header.Size += sizeof(struct aac_blockread);
fib->Header.Size += sizeof(struct aac_blockwrite);
fib->Header.Command = ContainerCommand64;
fib->Header.Size += sizeof(struct aac_blockread64);
fib->Header.Size += sizeof(struct aac_blockwrite64);
cm->cm_fib->Header.XferState = AAC_FIBSTATE_EMPTY;
cm->cm_fib->Header.StructType = AAC_FIBTYPE_TFIB;
cm->cm_fib->Header.Flags = 0;
cm->cm_fib->Header.SenderSize = sizeof(struct aac_fib);
struct aac_fib_header Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
{ "Header", { Header }, STRLIST, 0, 1000 },
EFI_DEVICE_PATH Header;
EFI_DEVICE_PATH Header;
Header status_info;
extern Header status_info;