target-unicore32: Mark as unmigratable

CPU_SAVE_VERSION 2 was bogus as both save and load would just throw a
hw_error(). Therefore we can without problems suppress registration of
"cpu_common" VMState by dropping CPU_SAVE_VERSION define and provide an
unmigratable "cpu" VMStateDescription for UniCore32CPU at device level
instead, where we can attach this the QOM way.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
Andreas Färber 2013-01-20 11:43:30 +01:00
parent 6b2578d678
commit 88e28512ef
4 changed files with 9 additions and 26 deletions

View File

@ -1,4 +1,4 @@
obj-y += translate.o op_helper.o helper.o cpu.o
obj-y += ucf64_helper.o
obj-$(CONFIG_SOFTMMU) += machine.o softmmu.o
obj-$(CONFIG_SOFTMMU) += softmmu.o

View File

@ -14,6 +14,7 @@
#include "cpu.h"
#include "qemu-common.h"
#include "migration/vmstate.h"
static inline void set_feature(CPUUniCore32State *env, int feature)
{
@ -96,11 +97,18 @@ static void uc32_cpu_initfn(Object *obj)
tlb_flush(env, 1);
}
static const VMStateDescription vmstate_uc32_cpu = {
.name = "cpu",
.unmigratable = 1,
};
static void uc32_cpu_class_init(ObjectClass *oc, void *data)
{
DeviceClass *dc = DEVICE_CLASS(oc);
CPUClass *cc = CPU_CLASS(oc);
cc->class_by_name = uc32_cpu_class_by_name;
dc->vmsd = &vmstate_uc32_cpu;
}
static void uc32_register_cpu_type(const UniCore32CPUInfo *info)

View File

@ -133,8 +133,6 @@ int uc32_cpu_signal_handler(int host_signum, void *pinfo, void *puc);
int uc32_cpu_handle_mmu_fault(CPUUniCore32State *env, target_ulong address, int rw,
int mmu_idx);
#define CPU_SAVE_VERSION 2
/* MMU modes definitions */
#define MMU_MODE0_SUFFIX _kernel
#define MMU_MODE1_SUFFIX _user

View File

@ -1,23 +0,0 @@
/*
* Generic machine functions for UniCore32 ISA
*
* Copyright (C) 2010-2012 Guan Xuetao
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation, or any later version.
* See the COPYING file in the top-level directory.
*/
#include "hw/hw.h"
void cpu_save(QEMUFile *f, void *opaque)
{
hw_error("%s not supported yet.\n", __func__);
}
int cpu_load(QEMUFile *f, void *opaque, int version_id)
{
hw_error("%s not supported yet.\n", __func__);
return 0;
}