static int __init p3041_ds_probe(void)
 {
        unsigned long root = of_get_flat_dt_root();
+#ifdef CONFIG_SMP
+       extern struct smp_ops_t smp_85xx_ops;
+#endif
 
        if (of_flat_dt_is_compatible(root, "fsl,P3041DS"))
                return 1;
                ppc_md.restart = fsl_hv_restart;
                ppc_md.power_off = fsl_hv_halt;
                ppc_md.halt = fsl_hv_halt;
+#ifdef CONFIG_SMP
+               /*
+                * Disable the timebase sync operations because we can't write
+                * to the timebase registers under the hypervisor.
+                 */
+               smp_85xx_ops.give_timebase = NULL;
+               smp_85xx_ops.take_timebase = NULL;
+#endif
                return 1;
        }
 
 
 static int __init p4080_ds_probe(void)
 {
        unsigned long root = of_get_flat_dt_root();
+#ifdef CONFIG_SMP
+       extern struct smp_ops_t smp_85xx_ops;
+#endif
 
        if (of_flat_dt_is_compatible(root, "fsl,P4080DS"))
                return 1;
                ppc_md.restart = fsl_hv_restart;
                ppc_md.power_off = fsl_hv_halt;
                ppc_md.halt = fsl_hv_halt;
+#ifdef CONFIG_SMP
+               /*
+                * Disable the timebase sync operations because we can't write
+                * to the timebase registers under the hypervisor.
+                 */
+               smp_85xx_ops.give_timebase = NULL;
+               smp_85xx_ops.take_timebase = NULL;
+#endif
                return 1;
        }
 
 
 static int __init p5020_ds_probe(void)
 {
        unsigned long root = of_get_flat_dt_root();
+#ifdef CONFIG_SMP
+       extern struct smp_ops_t smp_85xx_ops;
+#endif
 
        if (of_flat_dt_is_compatible(root, "fsl,P5020DS"))
                return 1;
                ppc_md.restart = fsl_hv_restart;
                ppc_md.power_off = fsl_hv_halt;
                ppc_md.halt = fsl_hv_halt;
+#ifdef CONFIG_SMP
+               /*
+                * Disable the timebase sync operations because we can't write
+                * to the timebase registers under the hypervisor.
+                 */
+               smp_85xx_ops.give_timebase = NULL;
+               smp_85xx_ops.take_timebase = NULL;
+#endif
                return 1;
        }