mirror of https://github.com/xqemu/xqemu.git
memory: Remove code for mr->may_overlap
The collision check does nothing and hasn't been used. Remove the variable together with related code. Signed-off-by: Fam Zheng <famz@redhat.com> Message-Id: <1458900629-2334-2-git-send-email-famz@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
ab0a995608
commit
b613597819
|
@ -187,7 +187,6 @@ struct MemoryRegion {
|
||||||
MemoryRegion *alias;
|
MemoryRegion *alias;
|
||||||
hwaddr alias_offset;
|
hwaddr alias_offset;
|
||||||
int32_t priority;
|
int32_t priority;
|
||||||
bool may_overlap;
|
|
||||||
QTAILQ_HEAD(subregions, MemoryRegion) subregions;
|
QTAILQ_HEAD(subregions, MemoryRegion) subregions;
|
||||||
QTAILQ_ENTRY(MemoryRegion) subregions_link;
|
QTAILQ_ENTRY(MemoryRegion) subregions_link;
|
||||||
QTAILQ_HEAD(coalesced_ranges, CoalescedMemoryRange) coalesced;
|
QTAILQ_HEAD(coalesced_ranges, CoalescedMemoryRange) coalesced;
|
||||||
|
|
35
memory.c
35
memory.c
|
@ -1057,13 +1057,6 @@ static void memory_region_get_priority(Object *obj, Visitor *v,
|
||||||
visit_type_int32(v, name, &value, errp);
|
visit_type_int32(v, name, &value, errp);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool memory_region_get_may_overlap(Object *obj, Error **errp)
|
|
||||||
{
|
|
||||||
MemoryRegion *mr = MEMORY_REGION(obj);
|
|
||||||
|
|
||||||
return mr->may_overlap;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void memory_region_get_size(Object *obj, Visitor *v, const char *name,
|
static void memory_region_get_size(Object *obj, Visitor *v, const char *name,
|
||||||
void *opaque, Error **errp)
|
void *opaque, Error **errp)
|
||||||
{
|
{
|
||||||
|
@ -1101,10 +1094,6 @@ static void memory_region_initfn(Object *obj)
|
||||||
memory_region_get_priority,
|
memory_region_get_priority,
|
||||||
NULL, /* memory_region_set_priority */
|
NULL, /* memory_region_set_priority */
|
||||||
NULL, NULL, &error_abort);
|
NULL, NULL, &error_abort);
|
||||||
object_property_add_bool(OBJECT(mr), "may-overlap",
|
|
||||||
memory_region_get_may_overlap,
|
|
||||||
NULL, /* memory_region_set_may_overlap */
|
|
||||||
&error_abort);
|
|
||||||
object_property_add(OBJECT(mr), "size", "uint64",
|
object_property_add(OBJECT(mr), "size", "uint64",
|
||||||
memory_region_get_size,
|
memory_region_get_size,
|
||||||
NULL, /* memory_region_set_size, */
|
NULL, /* memory_region_set_size, */
|
||||||
|
@ -1864,34 +1853,12 @@ void memory_region_del_eventfd(MemoryRegion *mr,
|
||||||
|
|
||||||
static void memory_region_update_container_subregions(MemoryRegion *subregion)
|
static void memory_region_update_container_subregions(MemoryRegion *subregion)
|
||||||
{
|
{
|
||||||
hwaddr offset = subregion->addr;
|
|
||||||
MemoryRegion *mr = subregion->container;
|
MemoryRegion *mr = subregion->container;
|
||||||
MemoryRegion *other;
|
MemoryRegion *other;
|
||||||
|
|
||||||
memory_region_transaction_begin();
|
memory_region_transaction_begin();
|
||||||
|
|
||||||
memory_region_ref(subregion);
|
memory_region_ref(subregion);
|
||||||
QTAILQ_FOREACH(other, &mr->subregions, subregions_link) {
|
|
||||||
if (subregion->may_overlap || other->may_overlap) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (int128_ge(int128_make64(offset),
|
|
||||||
int128_add(int128_make64(other->addr), other->size))
|
|
||||||
|| int128_le(int128_add(int128_make64(offset), subregion->size),
|
|
||||||
int128_make64(other->addr))) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
#if 0
|
|
||||||
printf("warning: subregion collision %llx/%llx (%s) "
|
|
||||||
"vs %llx/%llx (%s)\n",
|
|
||||||
(unsigned long long)offset,
|
|
||||||
(unsigned long long)int128_get64(subregion->size),
|
|
||||||
subregion->name,
|
|
||||||
(unsigned long long)other->addr,
|
|
||||||
(unsigned long long)int128_get64(other->size),
|
|
||||||
other->name);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
QTAILQ_FOREACH(other, &mr->subregions, subregions_link) {
|
QTAILQ_FOREACH(other, &mr->subregions, subregions_link) {
|
||||||
if (subregion->priority >= other->priority) {
|
if (subregion->priority >= other->priority) {
|
||||||
QTAILQ_INSERT_BEFORE(other, subregion, subregions_link);
|
QTAILQ_INSERT_BEFORE(other, subregion, subregions_link);
|
||||||
|
@ -1918,7 +1885,6 @@ void memory_region_add_subregion(MemoryRegion *mr,
|
||||||
hwaddr offset,
|
hwaddr offset,
|
||||||
MemoryRegion *subregion)
|
MemoryRegion *subregion)
|
||||||
{
|
{
|
||||||
subregion->may_overlap = false;
|
|
||||||
subregion->priority = 0;
|
subregion->priority = 0;
|
||||||
memory_region_add_subregion_common(mr, offset, subregion);
|
memory_region_add_subregion_common(mr, offset, subregion);
|
||||||
}
|
}
|
||||||
|
@ -1928,7 +1894,6 @@ void memory_region_add_subregion_overlap(MemoryRegion *mr,
|
||||||
MemoryRegion *subregion,
|
MemoryRegion *subregion,
|
||||||
int priority)
|
int priority)
|
||||||
{
|
{
|
||||||
subregion->may_overlap = true;
|
|
||||||
subregion->priority = priority;
|
subregion->priority = priority;
|
||||||
memory_region_add_subregion_common(mr, offset, subregion);
|
memory_region_add_subregion_common(mr, offset, subregion);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue