mirror of https://github.com/xemu-project/xemu.git
xen: mapcache: Refactor xen_remap_bucket for multi-instance
Add MapCache argument to xen_remap_bucket in preparation to support multiple map caches. No functional changes. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20240430164939.925307-6-edgar.iglesias@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
eda3a8cd2e
commit
9b1f33fa63
|
@ -139,7 +139,8 @@ void xen_map_cache_init(phys_offset_to_gaddr_t f, void *opaque)
|
|||
mapcache->entry = g_malloc0(size);
|
||||
}
|
||||
|
||||
static void xen_remap_bucket(MapCacheEntry *entry,
|
||||
static void xen_remap_bucket(MapCache *mc,
|
||||
MapCacheEntry *entry,
|
||||
void *vaddr,
|
||||
hwaddr size,
|
||||
hwaddr address_index,
|
||||
|
@ -313,14 +314,14 @@ tryagain:
|
|||
if (!entry) {
|
||||
entry = g_new0(MapCacheEntry, 1);
|
||||
pentry->next = entry;
|
||||
xen_remap_bucket(entry, NULL, cache_size, address_index, dummy);
|
||||
xen_remap_bucket(mc, entry, NULL, cache_size, address_index, dummy);
|
||||
} else if (!entry->lock) {
|
||||
if (!entry->vaddr_base || entry->paddr_index != address_index ||
|
||||
entry->size != cache_size ||
|
||||
!test_bits(address_offset >> XC_PAGE_SHIFT,
|
||||
test_bit_size >> XC_PAGE_SHIFT,
|
||||
entry->valid_mapping)) {
|
||||
xen_remap_bucket(entry, NULL, cache_size, address_index, dummy);
|
||||
xen_remap_bucket(mc, entry, NULL, cache_size, address_index, dummy);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -588,7 +589,7 @@ static uint8_t *xen_replace_cache_entry_unlocked(hwaddr old_phys_addr,
|
|||
|
||||
trace_xen_replace_cache_entry_dummy(old_phys_addr, new_phys_addr);
|
||||
|
||||
xen_remap_bucket(entry, entry->vaddr_base,
|
||||
xen_remap_bucket(mapcache, entry, entry->vaddr_base,
|
||||
cache_size, address_index, false);
|
||||
if (!test_bits(address_offset >> XC_PAGE_SHIFT,
|
||||
test_bit_size >> XC_PAGE_SHIFT,
|
||||
|
|
Loading…
Reference in New Issue