Yes, the handshake line goes between the two processors. It is normally disabled on both ends. On the Linux side, it is GP19, and it passes through the level shifter U7 which is controlled by GP22. That level shifter must be enabled before the signal will go through. I've not tried to use it as an SPI CS line, but I have used it as GPIO to signal the '32U4 processor that booting is complete. To do so, I've added this code to my /etc/rc.local file:
# Added section to set the handshake line.
# GP19 is connected to D7 of the 32U4 processor.
# This requires setting GP22 high to enable the U7 level shifter.
# This GPIO is already exported.
# Then GP19 needs to be exported, set to output, and finally brought low.
echo 1 > /sys/class/gpio/gpio22/value
echo 19 > /sys/class/gpio/export
echo "high" > /sys/class/gpio/gpio19/direction
echo 0 > /sys/class/gpio/gpio19/value
At that point, I could have my sketch set pin 7 to be an input (with pullup) and then read the state of the line: if not booted, the pullup will cause it to read high, once booted the script above sets the pin low.
To do what you want, you need to make sure pin 7 of the '32U4 processor is an input so it doesn't interfere with the signal. Then you need to turn on GP22 to enable the shifter. Finally, you need to figure out how to use GP19 as a CS signal (you may have to manually control it?)