aboutsummaryrefslogtreecommitdiff
path: root/sys/powerpc/aim/mp_cpudep.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/powerpc/aim/mp_cpudep.c')
-rw-r--r--sys/powerpc/aim/mp_cpudep.c113
1 files changed, 0 insertions, 113 deletions
diff --git a/sys/powerpc/aim/mp_cpudep.c b/sys/powerpc/aim/mp_cpudep.c
index e226d3b522ea..1dc9525c0eee 100644
--- a/sys/powerpc/aim/mp_cpudep.c
+++ b/sys/powerpc/aim/mp_cpudep.c
@@ -54,91 +54,6 @@ extern register_t l3cr_config;
void *ap_pcpu;
-static int
-powerpc_smp_fill_cpuref(struct cpuref *cpuref, phandle_t cpu)
-{
- int cpuid, res;
-
- cpuref->cr_hwref = cpu;
- res = OF_getprop(cpu, "reg", &cpuid, sizeof(cpuid));
- if (res < 0)
- return (ENOENT);
-
- cpuref->cr_cpuid = cpuid & 0xff;
- return (0);
-}
-
-int
-powerpc_smp_first_cpu(struct cpuref *cpuref)
-{
- char buf[8];
- phandle_t cpu, dev, root;
- int res;
-
- root = OF_peer(0);
-
- dev = OF_child(root);
- while (dev != 0) {
- res = OF_getprop(dev, "name", buf, sizeof(buf));
- if (res > 0 && strcmp(buf, "cpus") == 0)
- break;
- dev = OF_peer(dev);
- }
- if (dev == 0)
- return (ENOENT);
-
- cpu = OF_child(dev);
- while (cpu != 0) {
- res = OF_getprop(cpu, "device_type", buf, sizeof(buf));
- if (res > 0 && strcmp(buf, "cpu") == 0)
- break;
- cpu = OF_peer(cpu);
- }
- if (cpu == 0)
- return (ENOENT);
-
- return (powerpc_smp_fill_cpuref(cpuref, cpu));
-}
-
-int
-powerpc_smp_next_cpu(struct cpuref *cpuref)
-{
- char buf[8];
- phandle_t cpu;
- int res;
-
- cpu = OF_peer(cpuref->cr_hwref);
- while (cpu != 0) {
- res = OF_getprop(cpu, "device_type", buf, sizeof(buf));
- if (res > 0 && strcmp(buf, "cpu") == 0)
- break;
- cpu = OF_peer(cpu);
- }
- if (cpu == 0)
- return (ENOENT);
-
- return (powerpc_smp_fill_cpuref(cpuref, cpu));
-}
-
-int
-powerpc_smp_get_bsp(struct cpuref *cpuref)
-{
- ihandle_t inst;
- phandle_t bsp, chosen;
- int res;
-
- chosen = OF_finddevice("/chosen");
- if (chosen == 0)
- return (ENXIO);
-
- res = OF_getprop(chosen, "cpu", &inst, sizeof(inst));
- if (res < 0)
- return (ENXIO);
-
- bsp = OF_instance_to_package(inst);
- return (powerpc_smp_fill_cpuref(cpuref, bsp));
-}
-
static register_t
l2_enable(void)
{
@@ -269,31 +184,3 @@ cpudep_ap_bootstrap(void)
return (sp);
}
-int
-powerpc_smp_start_cpu(struct pcpu *pc)
-{
- phandle_t cpu;
- volatile uint8_t *rstvec;
- int res, reset, timeout;
-
- cpu = pc->pc_hwref;
- res = OF_getprop(cpu, "soft-reset", &reset, sizeof(reset));
- if (res < 0)
- return (ENXIO);
-
- ap_pcpu = pc;
-
- rstvec = (uint8_t *)(0x80000000 + reset);
-
- *rstvec = 4;
- powerpc_sync();
- DELAY(1);
- *rstvec = 0;
- powerpc_sync();
-
- timeout = 1000;
- while (!pc->pc_awake && timeout--)
- DELAY(100);
-
- return ((pc->pc_awake) ? 0 : EBUSY);
-}