qemu/include/system/block-ram-registrar.h
Philippe Mathieu-Daudé 32cad1ffb8 include: Rename sysemu/ -> system/
Headers in include/sysemu/ are not only related to system
*emulation*, they are also used by virtualization. Rename
as system/ which is clearer.

Files renamed manually then mechanical change using sed tool.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Lei Yang <leiyang@redhat.com>
Message-Id: <20241203172445.28576-1-philmd@linaro.org>
2024-12-20 17:44:56 +01:00

37 lines
925 B
C

/*
* BlockBackend RAM Registrar
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef BLOCK_RAM_REGISTRAR_H
#define BLOCK_RAM_REGISTRAR_H
#include "exec/ramlist.h"
/**
* struct BlockRAMRegistrar:
*
* Keeps RAMBlock memory registered with a BlockBackend using
* blk_register_buf() including hotplugged memory.
*
* Emulated devices or other BlockBackend users initialize a BlockRAMRegistrar
* with blk_ram_registrar_init() before submitting I/O requests with the
* BDRV_REQ_REGISTERED_BUF flag set.
*/
typedef struct {
BlockBackend *blk;
RAMBlockNotifier notifier;
bool ok;
} BlockRAMRegistrar;
void blk_ram_registrar_init(BlockRAMRegistrar *r, BlockBackend *blk);
void blk_ram_registrar_destroy(BlockRAMRegistrar *r);
/* Have all RAMBlocks been registered successfully? */
static inline bool blk_ram_registrar_ok(BlockRAMRegistrar *r)
{
return r->ok;
}
#endif /* BLOCK_RAM_REGISTRAR_H */