memory: get rid of memory_region_init_reservation
The function has been deprecated for 2.5 years, and there are just a handful of users. Convert them to memory_region_init_io with NULL callbacks, and while at it pass the right device as the owner. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
0330002cb5
commit
257a7430e7
@ -77,9 +77,8 @@ MemoryRegion):
|
|||||||
- reservation region: a reservation region is primarily for debugging.
|
- reservation region: a reservation region is primarily for debugging.
|
||||||
It claims I/O space that is not supposed to be handled by QEMU itself.
|
It claims I/O space that is not supposed to be handled by QEMU itself.
|
||||||
The typical use is to track parts of the address space which will be
|
The typical use is to track parts of the address space which will be
|
||||||
handled by the host kernel when KVM is enabled.
|
handled by the host kernel when KVM is enabled. You initialize these
|
||||||
You initialize these with memory_region_init_reservation(), or by
|
by passing a NULL callback parameter to memory_region_init_io().
|
||||||
passing a NULL callback parameter to memory_region_init_io().
|
|
||||||
|
|
||||||
It is valid to add subregions to a region which is not a pure container
|
It is valid to add subregions to a region which is not a pure container
|
||||||
(that is, to an MMIO, RAM or ROM region). This means that the region
|
(that is, to an MMIO, RAM or ROM region). This means that the region
|
||||||
|
@ -293,7 +293,7 @@ static void kvm_pit_realizefn(DeviceState *dev, Error **errp)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
memory_region_init_reservation(&pit->ioports, NULL, "kvm-pit", 4);
|
memory_region_init_io(&pit->ioports, OBJECT(dev), NULL, NULL, "kvm-pit", 4);
|
||||||
|
|
||||||
qdev_init_gpio_in(dev, kvm_pit_irq_control, 1);
|
qdev_init_gpio_in(dev, kvm_pit_irq_control, 1);
|
||||||
|
|
||||||
|
@ -121,8 +121,8 @@ static void kvm_pic_realize(DeviceState *dev, Error **errp)
|
|||||||
PICCommonState *s = PIC_COMMON(dev);
|
PICCommonState *s = PIC_COMMON(dev);
|
||||||
KVMPICClass *kpc = KVM_PIC_GET_CLASS(dev);
|
KVMPICClass *kpc = KVM_PIC_GET_CLASS(dev);
|
||||||
|
|
||||||
memory_region_init_reservation(&s->base_io, NULL, "kvm-pic", 2);
|
memory_region_init_io(&s->base_io, OBJECT(dev), NULL, NULL, "kvm-pic", 2);
|
||||||
memory_region_init_reservation(&s->elcr_io, NULL, "kvm-elcr", 1);
|
memory_region_init_io(&s->elcr_io, OBJECT(dev), NULL, NULL, "kvm-elcr", 1);
|
||||||
|
|
||||||
kpc->parent_realize(dev, errp);
|
kpc->parent_realize(dev, errp);
|
||||||
}
|
}
|
||||||
|
@ -142,7 +142,7 @@ static void kvm_ioapic_realize(DeviceState *dev, Error **errp)
|
|||||||
{
|
{
|
||||||
IOAPICCommonState *s = IOAPIC_COMMON(dev);
|
IOAPICCommonState *s = IOAPIC_COMMON(dev);
|
||||||
|
|
||||||
memory_region_init_reservation(&s->io_memory, NULL, "kvm-ioapic", 0x1000);
|
memory_region_init_io(&s->io_memory, OBJECT(dev), NULL, NULL, "kvm-ioapic", 0x1000);
|
||||||
/*
|
/*
|
||||||
* KVM ioapic only supports 0x11 now. This will only be used when
|
* KVM ioapic only supports 0x11 now. This will only be used when
|
||||||
* we want to dump ioapic version.
|
* we want to dump ioapic version.
|
||||||
|
@ -675,29 +675,6 @@ void memory_region_init_rom_device_nomigrate(MemoryRegion *mr,
|
|||||||
uint64_t size,
|
uint64_t size,
|
||||||
Error **errp);
|
Error **errp);
|
||||||
|
|
||||||
/**
|
|
||||||
* memory_region_init_reservation: Initialize a memory region that reserves
|
|
||||||
* I/O space.
|
|
||||||
*
|
|
||||||
* A reservation region primarily serves debugging purposes. It claims I/O
|
|
||||||
* space that is not supposed to be handled by QEMU itself. Any access via
|
|
||||||
* the memory API will cause an abort().
|
|
||||||
* This function is deprecated. Use memory_region_init_io() with NULL
|
|
||||||
* callbacks instead.
|
|
||||||
*
|
|
||||||
* @mr: the #MemoryRegion to be initialized
|
|
||||||
* @owner: the object that tracks the region's reference count
|
|
||||||
* @name: used for debugging; not visible to the user or ABI
|
|
||||||
* @size: size of the region.
|
|
||||||
*/
|
|
||||||
static inline void memory_region_init_reservation(MemoryRegion *mr,
|
|
||||||
Object *owner,
|
|
||||||
const char *name,
|
|
||||||
uint64_t size)
|
|
||||||
{
|
|
||||||
memory_region_init_io(mr, owner, NULL, mr, name, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* memory_region_init_iommu: Initialize a memory region of a custom type
|
* memory_region_init_iommu: Initialize a memory region of a custom type
|
||||||
* that translates addresses
|
* that translates addresses
|
||||||
|
Loading…
x
Reference in New Issue
Block a user