[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 04/11] memory: add getter for owner
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [PATCH v2 04/11] memory: add getter for owner |
Date: |
Mon, 01 Jul 2013 16:24:11 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
On 2013-06-28 18:58, Paolo Bonzini wrote:
> Whenever memory regions are accessed outside the BQL, they need to be
> preserved against hot-unplug. MemoryRegions actually do not have their
> own reference count; they piggyback on a QOM object, their "owner".
> The owner is set at creation time, and there is a function to retrieve
> the owner.
>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
> include/exec/memory.h | 7 +++++++
> memory.c | 6 ++++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/include/exec/memory.h b/include/exec/memory.h
> index be3d39f..1ad9c19 100644
> --- a/include/exec/memory.h
> +++ b/include/exec/memory.h
> @@ -380,6 +380,13 @@ void memory_region_init_iommu(MemoryRegion *mr,
> void memory_region_destroy(MemoryRegion *mr);
>
> /**
> + * memory_region_owner: get a memory region's owner.
> + *
> + * @mr: the memory region being queried.
> + */
> +struct Object *memory_region_owner(MemoryRegion *mr);
> +
> +/**
> * memory_region_size: get a memory region's size.
> *
> * @mr: the memory region being queried.
> diff --git a/memory.c b/memory.c
> index 6250bec1..4d396c3 100644
> --- a/memory.c
> +++ b/memory.c
> @@ -738,6 +738,7 @@ void memory_region_init(MemoryRegion *mr,
> mr->owner = owner;
> mr->iommu_ops = NULL;
> mr->parent = NULL;
> + mr->owner = NULL;
> mr->size = int128_make64(size);
> if (size == UINT64_MAX) {
> mr->size = int128_2_64();
> @@ -1011,6 +1012,11 @@ void memory_region_destroy(MemoryRegion *mr)
> g_free(mr->ioeventfds);
> }
>
> +Object *memory_region_owner(MemoryRegion *mr)
> +{
> + return mr->owner;
> +}
> +
> uint64_t memory_region_size(MemoryRegion *mr)
> {
> if (int128_eq(mr->size, int128_2_64())) {
>
OK, fine... and who is using this? ;)
Also, as this is trivial and the structure publicly known anyway, I'd go
for a static inline function instead.
Jan
--
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
- Re: [Qemu-devel] [PATCH v2 04/11] memory: add getter for owner,
Jan Kiszka <=