In my equipment , i alwayse use serial slave mode , and configure M2=1 ,M1=1 ,M0 = 1 . In spartan 3 datasheet , when we use jtag mode to configure FPGA , we should choose M2=1 ,M1=0, M0 = 1 . But in the past , we don't revise the hardware , and reserve M2=1 ,M1=1 ,M0 = 1 . we still can use jtag to configure the FPGA and use chipscope to debug FPGA.
But when I use microblaze , I still can configure fpga with JTAG , but when I debug the software , the program alwayse be reset unnormally. I doubt if the jtag have problem and MDM output a reset.