I have a question about the interpretation of the end_of_message bit
specification in an ORB (Page 18 of PPDT_r08.pdf).
The draft says that the end_of_message bit is unspecified when the
direction bit is one.
Thus, the target will examine the direction bit as described in the
following table. ("x" means "don't care")
data_size direction end_of_message
----------+------------+----------------
x 0 valid
x 1 unspecified
The end_of_message bit may be asserted even when the data_size is
zero.
SBP-2 specifies the data_descriptor is invalid when the data_size is
zero. (Therefore, valid data buffer pointed by the data_descriptor
does not exist.)
SBP-2 (and PPDT) specifies the direction bit by relying on existence
of "the buffer", and the direction bit seems to be invalid when the
data_size is zero because the buffer itself is invalid.
>From above observation (and the NOTE just below the end_of_message
specification which is silent about the direction), another
interpretation as described in the following table may be possible.
data_size direction end_of_message
----------+------------+----------------
zero x valid (assume d=0)
non zero 0 valid
non zero 1 unspecified
These two tables conflict with each other when the data_size is zero
and the direction is one.
Which is the expected interpretation?
I think this ambiguity will be gone by making the end_of_message bit
reserved rather than unspecified when the direction bit is one.
Is there any reason to make this bit unspecified?
Regards,
Akihiro Shimura
-- Akihiro Shimura (shimura@pure.cpdc.canon.co.jp) Office Imaging Products Development Center 3 CANON INC.