Attached is a file openrd_base-setup.c, from the Marvell Orion git
I found all the references to sata, and modified the sheevaplug-setup.c to be similar, cross compiled using the modified sheevaplug setup, installed the kernel and my plug uses the sata drive now absolutely fine!
The "data buffer" maybe that was a bad expression, I was referring to is here, ( from openrd_base-setup):-
static void __init openrd_base_init(void)
* Basic setup. Needs to be called early.