Commit 70b7660a authored by Anthony Liguori's avatar Anthony Liguori Committed by Luiz Capitulino
Browse files

target-ppc: add implementation of query-cpu-definitions (v2)

parent e3966126
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
#include "gdbstub.h"
#include <kvm.h>
#include "kvm_ppc.h"
#include "qmp-commands.h"

//#define PPC_DUMP_CPU
//#define PPC_DEBUG_SPR
@@ -10345,6 +10346,31 @@ void ppc_cpu_list (FILE *f, fprintf_function cpu_fprintf)
    }
}

CpuDefinitionInfoList *qmp_query_cpu_definitions(Error **errp)
{
    CpuDefinitionInfoList *cpu_list = NULL;
    int i;

    for (i = 0; i < ARRAY_SIZE(ppc_defs); i++) {
        CpuDefinitionInfoList *entry;
        CpuDefinitionInfo *info;

        if (!ppc_cpu_usable(&ppc_defs[i])) {
            continue;
        }

        info = g_malloc0(sizeof(*info));
        info->name = g_strdup(ppc_defs[i].name);

        entry = g_malloc0(sizeof(*entry));
        entry->value = info;
        entry->next = cpu_list;
        cpu_list = entry;
    }

    return cpu_list;
}

/* CPUClass::reset() */
static void ppc_cpu_reset(CPUState *s)
{