microblaze: Clarify expected input of write_carry

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
microblaze: Make write_carryi input a boolean

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
microblaze: Simplify andn by using tcg_gen_andc

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
microblaze: Improve srl

write_carry only looks at bit zero, no need to mask out the others.

Meassured a 12% speed improvement in linux-user srl loops.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
microblaze: Improve src

Microblaze carry is mirrored in MSR[31], pick it directly from
there. Also, no need to mask cpu_R[dc->ra] when calling
write_carry.

15% improvement in linux-user src loops.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
microblaze: Move the saving of the reservation addr into gen_load

No functional change.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
microblaze: Turn res_addr into a tcg global

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
microblaze: At swx, check that the reserved word is unmodified

This improves the reservation check for system emulation, making
it possible to catch stores that modify reserved word.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
hw/microblaze: Indentation cleanups

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
hw/microblaze: Add support for loading initrd images

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>