On 19/06/2015 15:47, Peter Maydell wrote:
> }
>
> + for (i = 0; i < XLNX_ZYNQMP_NUM_RPU_CPUS; i++) {
> + char *name;
> +
> + name = object_get_canonical_path_component(OBJECT(&s->rpu_cpu[i]));
> + if (strcmp(name, boot_cpu)) {
This leaks "name", which has to be freed within the for loop.
Paolo
> + /* Secondary CPUs start in PSCI powered-down state */
> + object_property_set_bool(OBJECT(&s->rpu_cpu[i]), true,
> + "start-powered-off", &error_abort);
> + } else {
> + s->boot_cpu_ptr = &s->rpu_cpu[i];
> + }
> +
> + object_property_set_bool(OBJECT(&s->rpu_cpu[i]), true,
> "reset-hivecs",
> + &err);
> + if (err != NULL) {
> + error_propagate(errp, err);
> + return;
> + }
> +
> + object_property_set_bool(OBJECT(&s->rpu_cpu[i]), true, "realized",
> + &err);
> + if (err) {
> + error_propagate((errp), (err));
> + return;
> + }
> + }