hw/pci-host/pam: Make init_pam() usage more readable
Unlike pam_update() which takes the subject -- PAMMemoryRegion -- as first argument, init_pam() takes it as fifth (!) argument. This makes it quite hard to figure out what an init_pam() invocation actually initializes. By moving the subject to the front this should become clearer. While at it, lower the DeviceState parameter to Object, also communicating more clearly that this parameter is just the owner rather than some (heavy?) dependency. Signed-off-by: Bernhard Beschow <shentey@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230213162004.2797-8-shentey@gmail.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
f9fddaf7ce
commit
9e57b81861
@ -292,12 +292,12 @@ PCIBus *i440fx_init(const char *pci_type,
|
||||
object_property_add_const_link(qdev_get_machine(), "smram",
|
||||
OBJECT(&f->smram));
|
||||
|
||||
init_pam(dev, f->ram_memory, f->system_memory, f->pci_address_space,
|
||||
&f->pam_regions[0], PAM_BIOS_BASE, PAM_BIOS_SIZE);
|
||||
init_pam(&f->pam_regions[0], OBJECT(d), f->ram_memory, f->system_memory,
|
||||
f->pci_address_space, PAM_BIOS_BASE, PAM_BIOS_SIZE);
|
||||
for (i = 0; i < ARRAY_SIZE(f->pam_regions) - 1; ++i) {
|
||||
init_pam(dev, f->ram_memory, f->system_memory, f->pci_address_space,
|
||||
&f->pam_regions[i+1], PAM_EXPAN_BASE + i * PAM_EXPAN_SIZE,
|
||||
PAM_EXPAN_SIZE);
|
||||
init_pam(&f->pam_regions[i + 1], OBJECT(d), f->ram_memory,
|
||||
f->system_memory, f->pci_address_space,
|
||||
PAM_EXPAN_BASE + i * PAM_EXPAN_SIZE, PAM_EXPAN_SIZE);
|
||||
}
|
||||
|
||||
ram_size = ram_size / 8 / 1024 / 1024;
|
||||
|
@ -30,24 +30,24 @@
|
||||
#include "qemu/osdep.h"
|
||||
#include "hw/pci-host/pam.h"
|
||||
|
||||
void init_pam(DeviceState *dev, MemoryRegion *ram_memory,
|
||||
void init_pam(PAMMemoryRegion *mem, Object *owner, MemoryRegion *ram_memory,
|
||||
MemoryRegion *system_memory, MemoryRegion *pci_address_space,
|
||||
PAMMemoryRegion *mem, uint32_t start, uint32_t size)
|
||||
uint32_t start, uint32_t size)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* RAM */
|
||||
memory_region_init_alias(&mem->alias[3], OBJECT(dev), "pam-ram", ram_memory,
|
||||
memory_region_init_alias(&mem->alias[3], owner, "pam-ram", ram_memory,
|
||||
start, size);
|
||||
/* ROM (XXX: not quite correct) */
|
||||
memory_region_init_alias(&mem->alias[1], OBJECT(dev), "pam-rom", ram_memory,
|
||||
memory_region_init_alias(&mem->alias[1], owner, "pam-rom", ram_memory,
|
||||
start, size);
|
||||
memory_region_set_readonly(&mem->alias[1], true);
|
||||
|
||||
/* XXX: should distinguish read/write cases */
|
||||
memory_region_init_alias(&mem->alias[0], OBJECT(dev), "pam-pci", pci_address_space,
|
||||
memory_region_init_alias(&mem->alias[0], owner, "pam-pci", pci_address_space,
|
||||
start, size);
|
||||
memory_region_init_alias(&mem->alias[2], OBJECT(dev), "pam-pci", ram_memory,
|
||||
memory_region_init_alias(&mem->alias[2], owner, "pam-pci", ram_memory,
|
||||
start, size);
|
||||
|
||||
memory_region_transaction_begin();
|
||||
|
@ -645,12 +645,12 @@ static void mch_realize(PCIDevice *d, Error **errp)
|
||||
object_property_add_const_link(qdev_get_machine(), "smram",
|
||||
OBJECT(&mch->smram));
|
||||
|
||||
init_pam(DEVICE(mch), mch->ram_memory, mch->system_memory,
|
||||
mch->pci_address_space, &mch->pam_regions[0],
|
||||
init_pam(&mch->pam_regions[0], OBJECT(mch), mch->ram_memory,
|
||||
mch->system_memory, mch->pci_address_space,
|
||||
PAM_BIOS_BASE, PAM_BIOS_SIZE);
|
||||
for (i = 0; i < ARRAY_SIZE(mch->pam_regions) - 1; ++i) {
|
||||
init_pam(DEVICE(mch), mch->ram_memory, mch->system_memory,
|
||||
mch->pci_address_space, &mch->pam_regions[i+1],
|
||||
init_pam(&mch->pam_regions[i + 1], OBJECT(mch), mch->ram_memory,
|
||||
mch->system_memory, mch->pci_address_space,
|
||||
PAM_EXPAN_BASE + i * PAM_EXPAN_SIZE, PAM_EXPAN_SIZE);
|
||||
}
|
||||
}
|
||||
|
@ -87,8 +87,9 @@ typedef struct PAMMemoryRegion {
|
||||
unsigned current;
|
||||
} PAMMemoryRegion;
|
||||
|
||||
void init_pam(DeviceState *dev, MemoryRegion *ram, MemoryRegion *system,
|
||||
MemoryRegion *pci, PAMMemoryRegion *mem, uint32_t start, uint32_t size);
|
||||
void init_pam(PAMMemoryRegion *mem, Object *owner, MemoryRegion *ram,
|
||||
MemoryRegion *system, MemoryRegion *pci,
|
||||
uint32_t start, uint32_t size);
|
||||
void pam_update(PAMMemoryRegion *mem, int idx, uint8_t val);
|
||||
|
||||
#endif /* QEMU_PAM_H */
|
||||
|
Loading…
Reference in New Issue
Block a user