machine.c (7320bb2cb0b0bc54ecab3dfaea797d8f42e34ad9) machine.c (27e84d4ebd25b981ab27cb590fe06d1b0fcd06d2)
1/*
2 * S390x machine definitions and functions
3 *
1/*
2 * S390x machine definitions and functions
3 *
4 * Copyright IBM Corp. 2014
4 * Copyright IBM Corp. 2014, 2018
5 *
6 * Authors:
7 * Thomas Huth <thuth@linux.vnet.ibm.com>
8 * Christian Borntraeger <borntraeger@de.ibm.com>
9 * Jason J. Herne <jjherne@us.ibm.com>
10 *
11 * This work is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published

--- 198 unchanged lines hidden (view full) ---

211 .minimum_version_id = 1,
212 .needed = bpbc_needed,
213 .fields = (VMStateField[]) {
214 VMSTATE_BOOL(env.bpbc, S390CPU),
215 VMSTATE_END_OF_LIST()
216 }
217};
218
5 *
6 * Authors:
7 * Thomas Huth <thuth@linux.vnet.ibm.com>
8 * Christian Borntraeger <borntraeger@de.ibm.com>
9 * Jason J. Herne <jjherne@us.ibm.com>
10 *
11 * This work is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published

--- 198 unchanged lines hidden (view full) ---

211 .minimum_version_id = 1,
212 .needed = bpbc_needed,
213 .fields = (VMStateField[]) {
214 VMSTATE_BOOL(env.bpbc, S390CPU),
215 VMSTATE_END_OF_LIST()
216 }
217};
218
219static bool etoken_needed(void *opaque)
220{
221 return s390_has_feat(S390_FEAT_ETOKEN);
222}
223
224const VMStateDescription vmstate_etoken = {
225 .name = "cpu/etoken",
226 .version_id = 1,
227 .minimum_version_id = 1,
228 .needed = etoken_needed,
229 .fields = (VMStateField[]) {
230 VMSTATE_UINT64(env.etoken, S390CPU),
231 VMSTATE_UINT64(env.etoken_extension, S390CPU),
232 VMSTATE_END_OF_LIST()
233 }
234};
235
219const VMStateDescription vmstate_s390_cpu = {
220 .name = "cpu",
221 .post_load = cpu_post_load,
222 .pre_save = cpu_pre_save,
223 .version_id = 4,
224 .minimum_version_id = 3,
225 .fields = (VMStateField[]) {
226 VMSTATE_UINT64_ARRAY(env.regs, S390CPU, 16),

--- 19 unchanged lines hidden (view full) ---

246 },
247 .subsections = (const VMStateDescription*[]) {
248 &vmstate_fpu,
249 &vmstate_vregs,
250 &vmstate_riccb,
251 &vmstate_exval,
252 &vmstate_gscb,
253 &vmstate_bpbc,
236const VMStateDescription vmstate_s390_cpu = {
237 .name = "cpu",
238 .post_load = cpu_post_load,
239 .pre_save = cpu_pre_save,
240 .version_id = 4,
241 .minimum_version_id = 3,
242 .fields = (VMStateField[]) {
243 VMSTATE_UINT64_ARRAY(env.regs, S390CPU, 16),

--- 19 unchanged lines hidden (view full) ---

263 },
264 .subsections = (const VMStateDescription*[]) {
265 &vmstate_fpu,
266 &vmstate_vregs,
267 &vmstate_riccb,
268 &vmstate_exval,
269 &vmstate_gscb,
270 &vmstate_bpbc,
271 &vmstate_etoken,
254 NULL
255 },
256};
272 NULL
273 },
274};