opal-prd: Add support for variable-sized messages
opal-prd: Add support for variable-sized messages

With the introductuion of the opaque firmware channel, we want to
support variable-sized messages. Rather than expecting to read an
entire 'struct opal_prd_msg' in one read() call, we can split this
over mutiple reads, potentially expanding our message buffer.

Signed-off-by: Jeremy Kerr <68a658b44bbaefab3ef5cd231967195fc0ff9d69@ozlabs.org>
Reviewed-by: Vasant Hegde <a6d753843573f7bfed5075c1e875b0be8007a0ab@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <ec31ab75ddf977353c8f660f92ea8b23f64aef25@linux.vnet.ibm.com>

open-power/skiboot,mikey/skiboot,shenki/skiboot,legoater/skiboot,legoater/skiboot,qemu/skiboot,open-power/skiboot,mikey/skiboot,shenki/skiboot,legoater/skiboot,qemu/skiboot,qemu/skiboot,qemu/skiboot,shenki/skiboot,shenki/skiboot,open-power/skiboot,qemu/skiboot,shenki/skiboot,stewart-ibm/skiboot,open-power/skiboot,mikey/skiboot,legoater/skiboot,open-power/skiboot,stewart-ibm/skiboot,legoater/skiboot,stewart-ibm/skiboot