diff --git a/msvc/unicorn.sln b/msvc/unicorn.sln
index 778f73ec..3c533e77 100644
--- a/msvc/unicorn.sln
+++ b/msvc/unicorn.sln
@@ -130,6 +130,7 @@ Global
{F67EB1EA-DCFA-4758-A2AA-4B570BA78036}.Release|Win32.ActiveCfg = Release|Win32
{F67EB1EA-DCFA-4758-A2AA-4B570BA78036}.Release|x64.ActiveCfg = Release|x64
{2C5AD347-6E34-463B-8289-00578E43B255}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2C5AD347-6E34-463B-8289-00578E43B255}.Debug|Win32.Build.0 = Debug|Win32
{2C5AD347-6E34-463B-8289-00578E43B255}.Debug|x64.ActiveCfg = Debug|x64
{2C5AD347-6E34-463B-8289-00578E43B255}.Release|Win32.ActiveCfg = Release|Win32
{2C5AD347-6E34-463B-8289-00578E43B255}.Release|x64.ActiveCfg = Release|x64
@@ -154,10 +155,12 @@ Global
{006A7908-ABF3-4D18-BC35-0A29E39B95F9}.Release|Win32.ActiveCfg = Release|Win32
{006A7908-ABF3-4D18-BC35-0A29E39B95F9}.Release|x64.ActiveCfg = Release|x64
{698C2D54-475C-446F-B879-F629BBEF75FE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {698C2D54-475C-446F-B879-F629BBEF75FE}.Debug|Win32.Build.0 = Debug|Win32
{698C2D54-475C-446F-B879-F629BBEF75FE}.Debug|x64.ActiveCfg = Debug|x64
{698C2D54-475C-446F-B879-F629BBEF75FE}.Release|Win32.ActiveCfg = Release|Win32
{698C2D54-475C-446F-B879-F629BBEF75FE}.Release|x64.ActiveCfg = Release|x64
{8804AD29-E398-480C-AC0F-98EC1B7A51CB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8804AD29-E398-480C-AC0F-98EC1B7A51CB}.Debug|Win32.Build.0 = Debug|Win32
{8804AD29-E398-480C-AC0F-98EC1B7A51CB}.Debug|x64.ActiveCfg = Debug|x64
{8804AD29-E398-480C-AC0F-98EC1B7A51CB}.Release|Win32.ActiveCfg = Release|Win32
{8804AD29-E398-480C-AC0F-98EC1B7A51CB}.Release|x64.ActiveCfg = Release|x64
diff --git a/msvc/unicorn/aarch64-softmmu/aarch64-softmmu.vcxproj b/msvc/unicorn/aarch64-softmmu/aarch64-softmmu.vcxproj
index bb77e79a..2d13308b 100644
--- a/msvc/unicorn/aarch64-softmmu/aarch64-softmmu.vcxproj
+++ b/msvc/unicorn/aarch64-softmmu/aarch64-softmmu.vcxproj
@@ -18,6 +18,9 @@
x64
+
+
+
{2A7F483F-CD19-4F84-BBDA-B6A1865E2773}
Win32Proj
diff --git a/msvc/unicorn/aarch64-softmmu/aarch64-softmmu.vcxproj.filters b/msvc/unicorn/aarch64-softmmu/aarch64-softmmu.vcxproj.filters
index 9cd85105..fe67d289 100644
--- a/msvc/unicorn/aarch64-softmmu/aarch64-softmmu.vcxproj.filters
+++ b/msvc/unicorn/aarch64-softmmu/aarch64-softmmu.vcxproj.filters
@@ -1,2 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
\ No newline at end of file
diff --git a/msvc/unicorn/arm-softmmu/arm-softmmu.vcxproj b/msvc/unicorn/arm-softmmu/arm-softmmu.vcxproj
index 789572dc..8c6ddbfa 100644
--- a/msvc/unicorn/arm-softmmu/arm-softmmu.vcxproj
+++ b/msvc/unicorn/arm-softmmu/arm-softmmu.vcxproj
@@ -18,6 +18,9 @@
x64
+
+
+
{F67EB1EA-DCFA-4758-A2AA-4B570BA78036}
Win32Proj
diff --git a/msvc/unicorn/arm-softmmu/arm-softmmu.vcxproj.filters b/msvc/unicorn/arm-softmmu/arm-softmmu.vcxproj.filters
index 9cd85105..fe67d289 100644
--- a/msvc/unicorn/arm-softmmu/arm-softmmu.vcxproj.filters
+++ b/msvc/unicorn/arm-softmmu/arm-softmmu.vcxproj.filters
@@ -1,2 +1,6 @@
-
\ No newline at end of file
+
+
+
+
+
\ No newline at end of file
diff --git a/msvc/unicorn/m68k-softmmu/m68k-softmmu.vcxproj b/msvc/unicorn/m68k-softmmu/m68k-softmmu.vcxproj
index a791ab27..48c746f1 100644
--- a/msvc/unicorn/m68k-softmmu/m68k-softmmu.vcxproj
+++ b/msvc/unicorn/m68k-softmmu/m68k-softmmu.vcxproj
@@ -18,6 +18,50 @@
x64
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{2C5AD347-6E34-463B-8289-00578E43B255}
Win32Proj
diff --git a/msvc/unicorn/m68k-softmmu/m68k-softmmu.vcxproj.filters b/msvc/unicorn/m68k-softmmu/m68k-softmmu.vcxproj.filters
index 9cd85105..c07af74e 100644
--- a/msvc/unicorn/m68k-softmmu/m68k-softmmu.vcxproj.filters
+++ b/msvc/unicorn/m68k-softmmu/m68k-softmmu.vcxproj.filters
@@ -1,2 +1,110 @@
-
\ No newline at end of file
+
+
+
+ {45b613c4-9fdb-482c-b94f-0138ea9907c3}
+
+
+ {14f99bfc-becf-403c-9100-1612ab30a848}
+
+
+ {63d2e327-f759-4757-a44b-90513ce433f7}
+
+
+ {574ebec7-47db-49de-8f59-3365337e42a7}
+
+
+ {484590c4-abd5-4db4-8b06-b34087856c27}
+
+
+ {476366de-d432-4ce4-8e04-64aa34326aa0}
+
+
+
+
+ fpu
+
+
+ tcg
+
+
+ tcg
+
+
+ tcg\i386
+
+
+
+
+
+
+
+
+
+
+ hw\m68k
+
+
+ target-m68k
+
+
+ target-m68k
+
+
+ target-m68k
+
+
+ target-m68k
+
+
+ target-m68k
+
+
+
+
+ fpu
+
+
+ fpu
+
+
+ tcg
+
+
+ tcg
+
+
+ tcg
+
+
+ tcg
+
+
+ tcg
+
+
+ tcg
+
+
+ tcg\i386
+
+
+
+
+ target-m68k
+
+
+ target-m68k
+
+
+ target-m68k
+
+
+ target-m68k
+
+
+ target-m68k
+
+
+
+
\ No newline at end of file
diff --git a/msvc/unicorn/mips-softmmu/mips-softmmu.vcxproj.filters b/msvc/unicorn/mips-softmmu/mips-softmmu.vcxproj.filters
index 4fe4cf12..e0410ec1 100644
--- a/msvc/unicorn/mips-softmmu/mips-softmmu.vcxproj.filters
+++ b/msvc/unicorn/mips-softmmu/mips-softmmu.vcxproj.filters
@@ -81,7 +81,6 @@
-
fpu
@@ -124,5 +123,6 @@
target-mips
+
\ No newline at end of file
diff --git a/msvc/unicorn/mips64-softmmu/mips64-softmmu.vcxproj.filters b/msvc/unicorn/mips64-softmmu/mips64-softmmu.vcxproj.filters
index 52799b95..cf105ff7 100644
--- a/msvc/unicorn/mips64-softmmu/mips64-softmmu.vcxproj.filters
+++ b/msvc/unicorn/mips64-softmmu/mips64-softmmu.vcxproj.filters
@@ -3,7 +3,6 @@
-
fpu
@@ -46,6 +45,7 @@
target-mips
+
diff --git a/msvc/unicorn/mips64el-softmmu/mips64el-softmmu.vcxproj.filters b/msvc/unicorn/mips64el-softmmu/mips64el-softmmu.vcxproj.filters
index 3cfe41ac..c2a1926e 100644
--- a/msvc/unicorn/mips64el-softmmu/mips64el-softmmu.vcxproj.filters
+++ b/msvc/unicorn/mips64el-softmmu/mips64el-softmmu.vcxproj.filters
@@ -3,7 +3,6 @@
-
fpu
@@ -46,6 +45,7 @@
target-mips
+
diff --git a/msvc/unicorn/mipsel-softmmu/mipsel-softmmu.vcxproj.filters b/msvc/unicorn/mipsel-softmmu/mipsel-softmmu.vcxproj.filters
index f9942f55..af4a067e 100644
--- a/msvc/unicorn/mipsel-softmmu/mipsel-softmmu.vcxproj.filters
+++ b/msvc/unicorn/mipsel-softmmu/mipsel-softmmu.vcxproj.filters
@@ -3,7 +3,6 @@
-
fpu
@@ -46,6 +45,7 @@
target-mips
+
diff --git a/msvc/unicorn/sparc-softmmu/sparc-softmmu.vcxproj b/msvc/unicorn/sparc-softmmu/sparc-softmmu.vcxproj
index 2e8dbc0b..97005ae0 100644
--- a/msvc/unicorn/sparc-softmmu/sparc-softmmu.vcxproj
+++ b/msvc/unicorn/sparc-softmmu/sparc-softmmu.vcxproj
@@ -60,7 +60,11 @@
-
+
+
+
+
+
{698C2D54-475C-446F-B879-F629BBEF75FE}
diff --git a/msvc/unicorn/sparc-softmmu/sparc-softmmu.vcxproj.filters b/msvc/unicorn/sparc-softmmu/sparc-softmmu.vcxproj.filters
index de4c9bfc..585584ce 100644
--- a/msvc/unicorn/sparc-softmmu/sparc-softmmu.vcxproj.filters
+++ b/msvc/unicorn/sparc-softmmu/sparc-softmmu.vcxproj.filters
@@ -104,7 +104,19 @@
tcg\i386
-
+
+ target-sparc
+
+
+ target-sparc
+
+
+ target-sparc
+
+
+ target-sparc
+
+
\ No newline at end of file
diff --git a/msvc/unicorn/sparc64-softmmu/sparc64-softmmu.vcxproj b/msvc/unicorn/sparc64-softmmu/sparc64-softmmu.vcxproj
index 8bc2c504..e6fa323e 100644
--- a/msvc/unicorn/sparc64-softmmu/sparc64-softmmu.vcxproj
+++ b/msvc/unicorn/sparc64-softmmu/sparc64-softmmu.vcxproj
@@ -61,7 +61,11 @@
-
+
+
+
+
+
{8804AD29-E398-480C-AC0F-98EC1B7A51CB}
diff --git a/msvc/unicorn/sparc64-softmmu/sparc64-softmmu.vcxproj.filters b/msvc/unicorn/sparc64-softmmu/sparc64-softmmu.vcxproj.filters
index 0e5b0c35..67c5aa92 100644
--- a/msvc/unicorn/sparc64-softmmu/sparc64-softmmu.vcxproj.filters
+++ b/msvc/unicorn/sparc64-softmmu/sparc64-softmmu.vcxproj.filters
@@ -106,8 +106,20 @@
tcg\i386
-
+
+ target-sparc
+
+
+ target-sparc
+
+
+ target-sparc
+
+
+ target-sparc
+
+
\ No newline at end of file
diff --git a/msvc/unicorn/unicorn/unicorn.vcxproj b/msvc/unicorn/unicorn/unicorn.vcxproj
index cb955f45..d949c10b 100644
--- a/msvc/unicorn/unicorn/unicorn.vcxproj
+++ b/msvc/unicorn/unicorn/unicorn.vcxproj
@@ -166,8 +166,8 @@
-
-
+
+
{B6EFD6D7-C2D4-4FBB-B363-2E08CE09CC96}
@@ -237,7 +237,7 @@
Level3
Disabled
- WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__i386__;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__i386__;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86
MultiThreadedDebug
.;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg
/wd4018 /wd4244 /wd4267 %(AdditionalOptions)
@@ -249,7 +249,7 @@
$(SolutionDir)$(Platform)\$(Configuration)\
- ws2_32.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib
+ ws2_32.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib
..\prebuild_script.bat
@@ -261,7 +261,7 @@
Level3
Disabled
- WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__x86_64__;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__x86_64__;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86
MultiThreadedDebug
.;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg
/wd4018 /wd4244 /wd4267 %(AdditionalOptions)
@@ -273,7 +273,7 @@
$(SolutionDir)$(Platform)\$(Configuration)\
- ws2_32.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib
+ ws2_32.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib
..\prebuild_script.bat
@@ -287,7 +287,7 @@
MaxSpeed
true
true
- WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__i386__;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86
+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__i386__;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86
MultiThreaded
.;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg
/wd4018 /wd4244 /wd4267 %(AdditionalOptions)
@@ -301,7 +301,7 @@
$(SolutionDir)$(Platform)\$(Configuration)\
- ws2_32.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib
+ ws2_32.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib
..\prebuild_script.bat
@@ -315,7 +315,7 @@
MaxSpeed
true
true
- WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__x86_64__;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86
+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;inline=__inline;__func__=__FUNCTION__;__x86_64__;UNICORN_HAS_M68K;UNICORN_HAS_MIPS;UNICORN_HAS_MIPS64;UNICORN_HAS_MIPSEL;UNICORN_HAS_MIPS64EL;UNICORN_HAS_SPARC;UNICORN_HAS_X86
MultiThreaded
.;..;../../../include;../../../qemu;../../../qemu/include;../../../qemu/tcg
/wd4018 /wd4244 /wd4267 %(AdditionalOptions)
@@ -329,7 +329,7 @@
$(SolutionDir)$(Platform)\$(Configuration)\
- ws2_32.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib
+ ws2_32.lib;m68k-softmmu.lib;mips-softmmu.lib;mips64-softmmu.lib;mipsel-softmmu.lib;mips64el-softmmu.lib;sparc-softmmu.lib;sparc64-softmmu.lib;x86_64-softmmu.lib
..\prebuild_script.bat
diff --git a/msvc/unicorn/unicorn/unicorn.vcxproj.filters b/msvc/unicorn/unicorn/unicorn.vcxproj.filters
index f03098bd..20b07da6 100644
--- a/msvc/unicorn/unicorn/unicorn.vcxproj.filters
+++ b/msvc/unicorn/unicorn/unicorn.vcxproj.filters
@@ -488,14 +488,14 @@
-
- qemu
-
-
- qemu
-
qemu
+
+ qemu
+
+
+ qemu
+
\ No newline at end of file
diff --git a/msvc/unicorn/x86_64-softmmu/x86_64-softmmu.vcxproj.filters b/msvc/unicorn/x86_64-softmmu/x86_64-softmmu.vcxproj.filters
index 8531d5c2..99c047de 100644
--- a/msvc/unicorn/x86_64-softmmu/x86_64-softmmu.vcxproj.filters
+++ b/msvc/unicorn/x86_64-softmmu/x86_64-softmmu.vcxproj.filters
@@ -131,7 +131,6 @@
tcg\i386
-
target-i386
@@ -160,5 +159,6 @@
target-i386
+
\ No newline at end of file
diff --git a/qemu/hw/m68k/dummy_m68k.c b/qemu/hw/m68k/dummy_m68k.c
index 5fd6ecb0..d1558579 100644
--- a/qemu/hw/m68k/dummy_m68k.c
+++ b/qemu/hw/m68k/dummy_m68k.c
@@ -39,12 +39,11 @@ static int dummy_m68k_init(struct uc_struct *uc, MachineState *machine)
void dummy_m68k_machine_init(struct uc_struct *uc)
{
- static QEMUMachine dummy_m68k_machine = {
- .name = "dummy",
- .init = dummy_m68k_init,
- .is_default = 1,
- .arch = UC_ARCH_M68K,
- };
+ static QEMUMachine dummy_m68k_machine = { 0 };
+ dummy_m68k_machine.name = "dummy",
+ dummy_m68k_machine.init = dummy_m68k_init,
+ dummy_m68k_machine.is_default = 1,
+ dummy_m68k_machine.arch = UC_ARCH_M68K,
//printf(">>> dummy_m68k_machine_init\n");
qemu_register_machine(uc, &dummy_m68k_machine, TYPE_MACHINE, NULL);
diff --git a/qemu/target-m68k/cpu.c b/qemu/target-m68k/cpu.c
index 19e00067..f000648f 100644
--- a/qemu/target-m68k/cpu.c
+++ b/qemu/target-m68k/cpu.c
@@ -140,10 +140,10 @@ typedef struct M68kCPUInfo {
} M68kCPUInfo;
static const M68kCPUInfo m68k_cpus[] = {
- { .name = "m5206", .instance_init = m5206_cpu_initfn },
- { .name = "m5208", .instance_init = m5208_cpu_initfn },
- { .name = "cfv4e", .instance_init = cfv4e_cpu_initfn },
- { .name = "any", .instance_init = any_cpu_initfn },
+ { "m5206", m5206_cpu_initfn },
+ { "m5208", m5208_cpu_initfn },
+ { "cfv4e", cfv4e_cpu_initfn },
+ { "any", any_cpu_initfn },
};
static int m68k_cpu_realizefn(struct uc_struct *uc, DeviceState *dev, Error **errp)
@@ -201,10 +201,9 @@ static void m68k_cpu_class_init(struct uc_struct *uc, ObjectClass *c, void *data
static void register_cpu_type(void *opaque, const M68kCPUInfo *info)
{
- TypeInfo type_info = {
- .parent = TYPE_M68K_CPU,
- .instance_init = info->instance_init,
- };
+ TypeInfo type_info = {0};
+ type_info.parent = TYPE_M68K_CPU,
+ type_info.instance_init = info->instance_init,
type_info.name = g_strdup_printf("%s-" TYPE_M68K_CPU, info->name);
type_register(opaque, &type_info);
@@ -213,15 +212,25 @@ static void register_cpu_type(void *opaque, const M68kCPUInfo *info)
void m68k_cpu_register_types(void *opaque)
{
- TypeInfo m68k_cpu_type_info = {
- .name = TYPE_M68K_CPU,
- .parent = TYPE_CPU,
- .instance_userdata = opaque,
- .instance_size = sizeof(M68kCPU),
- .instance_init = m68k_cpu_initfn,
- .abstract = true,
- .class_size = sizeof(M68kCPUClass),
- .class_init = m68k_cpu_class_init,
+ const TypeInfo m68k_cpu_type_info = {
+ TYPE_M68K_CPU,
+ TYPE_CPU,
+
+ sizeof(M68kCPUClass),
+ sizeof(M68kCPU),
+ opaque,
+
+ m68k_cpu_initfn,
+ NULL,
+ NULL,
+
+ NULL,
+
+ m68k_cpu_class_init,
+ NULL,
+ NULL,
+
+ true,
};
int i;
diff --git a/qemu/target-m68k/translate.c b/qemu/target-m68k/translate.c
index 7dab921f..2ef8819b 100644
--- a/qemu/target-m68k/translate.c
+++ b/qemu/target-m68k/translate.c
@@ -60,7 +60,7 @@ void m68k_tcg_init(struct uc_struct *uc)
// tcg_ctx->QREG_FP_RESULT = tcg_global_mem_new_i64(tcg_ctx, TCG_AREG0, offsetof(CPUM68KState, fp_result), "FP_RESULT");
tcg_ctx->cpu_halted = tcg_global_mem_new_i32(tcg_ctx, TCG_AREG0,
- -offsetof(M68kCPU, env) +
+ 0-offsetof(M68kCPU, env) +
offsetof(CPUState, halted), "HALTED");
tcg_ctx->cpu_env = tcg_global_reg_new_ptr(tcg_ctx, TCG_AREG0, "env");
diff --git a/qemu/target-m68k/unicorn.c b/qemu/target-m68k/unicorn.c
index 0eb30b84..f63d742a 100644
--- a/qemu/target-m68k/unicorn.c
+++ b/qemu/target-m68k/unicorn.c
@@ -20,8 +20,11 @@ static void m68k_set_pc(struct uc_struct *uc, uint64_t address)
void m68k_release(void* ctx);
void m68k_release(void* ctx)
{
+ TCGContext *tcg_ctx;
+ int i;
+
release_common(ctx);
- TCGContext *tcg_ctx = (TCGContext *) ctx;
+ tcg_ctx = (TCGContext *) ctx;
g_free(tcg_ctx->tb_ctx.tbs);
g_free(tcg_ctx->QREG_PC);
g_free(tcg_ctx->QREG_SR);
@@ -33,7 +36,6 @@ void m68k_release(void* ctx)
g_free(tcg_ctx->QREG_DIV2);
g_free(tcg_ctx->QREG_MACSR);
g_free(tcg_ctx->QREG_MAC_MASK);
- int i;
for (i = 0; i < 8; i++) {
g_free(tcg_ctx->cpu_dregs[i]);
g_free(tcg_ctx->cpu_aregs[i]);