mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:46:10 +00:00
Extract RamDiscardManager and RamDiscardSource from system/memory.c into dedicated a unit. This reduces coupling and allows code that only needs the RamDiscardManager interface to avoid pulling in all of memory.h dependencies. rust-sys bindings are no longer generated for RamDiscardSourceClass at this point, thus we drop the unneeded InterfaceClass use. Reviewed-by: Peter Xu <peterx@redhat.com> Acked-by: David Hildenbrand <david@kernel.org> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260604-rdm5-v5-2-5768e6a0943d@redhat.com Signed-off-by: Peter Xu <peterx@redhat.com>
45 lines
1.3 KiB
Rust
45 lines
1.3 KiB
Rust
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
#![allow(
|
|
dead_code,
|
|
improper_ctypes_definitions,
|
|
improper_ctypes,
|
|
non_camel_case_types,
|
|
non_snake_case,
|
|
non_upper_case_globals,
|
|
unnecessary_transmutes,
|
|
unsafe_op_in_unsafe_fn,
|
|
clippy::pedantic,
|
|
clippy::restriction,
|
|
clippy::style,
|
|
clippy::missing_const_for_fn,
|
|
clippy::ptr_offset_with_cast,
|
|
clippy::useless_transmute,
|
|
clippy::missing_safety_doc,
|
|
clippy::too_many_arguments
|
|
)]
|
|
|
|
use common::Zeroable;
|
|
use hwcore_sys::{qemu_irq, DeviceClass, DeviceState};
|
|
use qom_sys::{Object, ObjectClass};
|
|
use util_sys::{Error, EventNotifier, QEMUBH};
|
|
|
|
#[cfg(MESON)]
|
|
include!("bindings.inc.rs");
|
|
|
|
#[cfg(not(MESON))]
|
|
include!(concat!(env!("OUT_DIR"), "/bindings.inc.rs"));
|
|
|
|
// SAFETY: these are constants and vtables; the Send and Sync requirements
|
|
// are deferred to the unsafe callbacks that they contain
|
|
unsafe impl Send for MemoryRegionOps {}
|
|
unsafe impl Sync for MemoryRegionOps {}
|
|
|
|
// SAFETY: this is a pure data struct
|
|
unsafe impl Send for CoalescedMemoryRange {}
|
|
unsafe impl Sync for CoalescedMemoryRange {}
|
|
|
|
unsafe impl Zeroable for MemoryRegionOps__bindgen_ty_1 {}
|
|
unsafe impl Zeroable for MemoryRegionOps__bindgen_ty_2 {}
|
|
unsafe impl Zeroable for MemoryRegionOps {}
|
|
unsafe impl Zeroable for MemTxAttrs {}
|