[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 01/29] RAMBlock/migration: Add migration flags
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[Qemu-devel] [RFC 01/29] RAMBlock/migration: Add migration flags |
Date: |
Wed, 28 Jun 2017 20:00:19 +0100 |
From: "Dr. David Alan Gilbert" <address@hidden>
Add a migration flags field to each RAMBlock so that the migration
code can hold a set of private flags on the RAMBlock.
Add accessors.
Signed-off-by: Dr. David Alan Gilbert <address@hidden>
---
exec.c | 10 ++++++++++
include/exec/cpu-common.h | 2 ++
include/exec/ram_addr.h | 2 ++
3 files changed, 14 insertions(+)
diff --git a/exec.c b/exec.c
index 42ad1eaedd..69fc5c9b07 100644
--- a/exec.c
+++ b/exec.c
@@ -1741,6 +1741,16 @@ size_t qemu_ram_pagesize_largest(void)
return largest;
}
+uint32_t qemu_ram_get_migration_flags(const RAMBlock *rb)
+{
+ return rb->migration_flags;
+}
+
+void qemu_ram_set_migration_flags(RAMBlock *rb, uint32_t flags)
+{
+ rb->migration_flags = flags;
+}
+
static int memory_try_enable_merging(void *addr, size_t len)
{
if (!machine_mem_merge(current_machine)) {
diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
index 4d45a72ea9..4af179b543 100644
--- a/include/exec/cpu-common.h
+++ b/include/exec/cpu-common.h
@@ -72,6 +72,8 @@ const char *qemu_ram_get_idstr(RAMBlock *rb);
bool qemu_ram_is_shared(RAMBlock *rb);
size_t qemu_ram_pagesize(RAMBlock *block);
size_t qemu_ram_pagesize_largest(void);
+void qemu_ram_set_migration_flags(RAMBlock *rb, uint32_t flags);
+uint32_t qemu_ram_get_migration_flags(const RAMBlock *rb);
void cpu_physical_memory_rw(hwaddr addr, uint8_t *buf,
int len, int is_write);
diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index af5bf26080..0cb6c5cb73 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -32,6 +32,8 @@ struct RAMBlock {
ram_addr_t max_length;
void (*resized)(const char*, uint64_t length, void *host);
uint32_t flags;
+ /* These flags are owned by migration, initialised to 0 */
+ uint32_t migration_flags;
/* Protected by iothread lock. */
char idstr[256];
/* RCU-enabled, writes protected by the ramlist lock */
--
2.13.0
- [Qemu-devel] [RFC 00/29] postcopy+vhost-user/shared ram, Dr. David Alan Gilbert (git), 2017/06/28
- [Qemu-devel] [RFC 01/29] RAMBlock/migration: Add migration flags,
Dr. David Alan Gilbert (git) <=
- [Qemu-devel] [RFC 02/29] migrate: Update ram_block_discard_range for shared, Dr. David Alan Gilbert (git), 2017/06/28
- [Qemu-devel] [RFC 04/29] migration/ram: ramblock_recv_bitmap_test_byte_offset, Dr. David Alan Gilbert (git), 2017/06/28
- [Qemu-devel] [RFC 03/29] qemu_ram_block_host_offset, Dr. David Alan Gilbert (git), 2017/06/28
- [Qemu-devel] [RFC 05/29] postcopy: use UFFDIO_ZEROPAGE only when available, Dr. David Alan Gilbert (git), 2017/06/28
- [Qemu-devel] [RFC 06/29] postcopy: Add notifier chain, Dr. David Alan Gilbert (git), 2017/06/28
- [Qemu-devel] [RFC 07/29] postcopy: Add vhost-user flag for postcopy and check it, Dr. David Alan Gilbert (git), 2017/06/28
- [Qemu-devel] [RFC 10/29] vhub: Open userfaultfd, Dr. David Alan Gilbert (git), 2017/06/28
- [Qemu-devel] [RFC 09/29] vhub: Support sending fds back to qemu, Dr. David Alan Gilbert (git), 2017/06/28
- [Qemu-devel] [RFC 08/29] vhost-user: Add 'VHOST_USER_POSTCOPY_ADVISE' message, Dr. David Alan Gilbert (git), 2017/06/28
- [Qemu-devel] [RFC 11/29] postcopy: Allow registering of fd handler, Dr. David Alan Gilbert (git), 2017/06/28