Revision b9e946c7

b/tcg/ppc/tcg-target.c
933 933
    tcg_out32 (s, STW | RS (0) | RA (1) | (frame_size + LR_OFFSET));
934 934

  
935 935
#ifdef CONFIG_USE_GUEST_BASE
936
    tcg_out_movi (s, TCG_TYPE_I32, TCG_GUEST_BASE_REG, GUEST_BASE);
936
    if (GUEST_BASE) {
937
        tcg_out_movi (s, TCG_TYPE_I32, TCG_GUEST_BASE_REG, GUEST_BASE);
938
        tcg_regset_set_reg(s->reserved_regs, TCG_GUEST_BASE_REG);
939
    }
937 940
#endif
938 941

  
939 942
    tcg_out32 (s, MTSPR | RS (3) | CTR);
......
1914 1917
#ifdef _CALL_SYSV
1915 1918
    tcg_regset_set_reg(s->reserved_regs, TCG_REG_R13);
1916 1919
#endif
1917
#ifdef CONFIG_USE_GUEST_BASE
1918
    tcg_regset_set_reg(s->reserved_regs, TCG_GUEST_BASE_REG);
1919
#endif
1920 1920

  
1921 1921
    tcg_add_target_add_op_defs(ppc_op_defs);
1922 1922
}
b/tcg/ppc64/tcg-target.c
899 899
    tcg_out32 (s, STD | RS (0) | RA (1) | (frame_size + 16));
900 900

  
901 901
#ifdef CONFIG_USE_GUEST_BASE
902
    tcg_out_movi (s, TCG_TYPE_I64, TCG_GUEST_BASE_REG, GUEST_BASE);
902
    if (GUEST_BASE) {
903
        tcg_out_movi (s, TCG_TYPE_I64, TCG_GUEST_BASE_REG, GUEST_BASE);
904
        tcg_regset_set_reg(s->reserved_regs, TCG_GUEST_BASE_REG);
905
    }
903 906
#endif
904 907

  
905 908
    tcg_out32 (s, MTSPR | RS (3) | CTR);
......
1692 1695
#endif
1693 1696
    tcg_regset_set_reg (s->reserved_regs, TCG_REG_R13);
1694 1697

  
1695
#ifdef CONFIG_USE_GUEST_BASE
1696
    tcg_regset_set_reg(s->reserved_regs, TCG_GUEST_BASE_REG);
1697
#endif
1698

  
1699 1698
    tcg_add_target_add_op_defs (ppc_op_defs);
1700 1699
}

Also available in: Unified diff