For more reliable method than reistotor-divider, see level shifters:
https://www.sparkfun.com/products/12009
But, I THINK that arduino will read 3v3 signals also. But to be on safe side readings-wise, that level shifter would be safe & cheap way (of course, resistor-divider is much cheaper.
Now I recalled that SPI has separate data lines for MISO (from slave to master) and MOSI (from master to slave)
So, from arduino->BIOS ic (use resistor divider)
from bios->arduino (no resistor divider needed, but can cause false readings.
Sadly I cannot say anything about coding part...