1/* 2 * Copyright (c) 2014 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 219 unchanged lines hidden (view full) --- 228 _last_avail(0) 229{ 230 descriptors.reserve(_size); 231 for (int i = 0; i < _size; ++i) 232 descriptors.emplace_back(proxy, *this, i); 233} 234 235void |
236VirtQueue::serialize(CheckpointOut &cp) const |
237{ 238 SERIALIZE_SCALAR(_address); 239 SERIALIZE_SCALAR(_last_avail); 240} 241 242void |
243VirtQueue::unserialize(CheckpointIn &cp) |
244{ 245 Addr addr_in; 246 |
247 paramIn(cp, "_address", addr_in); |
248 UNSERIALIZE_SCALAR(_last_avail); 249 250 // Use the address setter to ensure that the ring buffer addresses 251 // are updated as well. 252 setAddress(addr_in); 253} 254 255void --- 75 unchanged lines hidden (view full) --- 331} 332 333 334VirtIODeviceBase::~VirtIODeviceBase() 335{ 336} 337 338void |
339VirtIODeviceBase::serialize(CheckpointOut &cp) const |
340{ 341 SERIALIZE_SCALAR(guestFeatures); |
342 SERIALIZE_SCALAR(_deviceStatus); |
343 SERIALIZE_SCALAR(_queueSelect); |
344 for (QueueID i = 0; i < _queues.size(); ++i) 345 _queues[i]->serializeSection(cp, csprintf("_queues.%i", i)); |
346} 347 348void |
349VirtIODeviceBase::unserialize(CheckpointIn &cp) |
350{ 351 UNSERIALIZE_SCALAR(guestFeatures); |
352 UNSERIALIZE_SCALAR(_deviceStatus); |
353 UNSERIALIZE_SCALAR(_queueSelect); 354 for (QueueID i = 0; i < _queues.size(); ++i) |
355 _queues[i]->unserializeSection(cp, csprintf("_queues.%i", i)); |
356} 357 358void 359VirtIODeviceBase::reset() 360{ 361 _queueSelect = 0; 362 guestFeatures = 0; 363 _deviceStatus = 0; --- 115 unchanged lines hidden --- |