qemu-patch-raspberry4/hw
Eric Auger 9e54dee71f hw/arm/smmu-common: Manage IOTLB block entries
At the moment each entry in the IOTLB corresponds to a page sized
mapping (4K, 16K or 64K), even if the page belongs to a mapped
block. In case of block mapping this unefficiently consumes IOTLB
entries.

Change the value of the entry so that it reflects the actual
mapping it belongs to (block or page start address and size).

Also the level/tg of the entry is encoded in the key. In subsequent
patches we will enable range invalidation. This latter is able
to provide the level/tg of the entry.

Encoding the level/tg directly in the key will allow to invalidate
using g_hash_table_remove() when num_pages equals to 1.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20200728150815.11446-6-eric.auger@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-08-24 10:02:06 +01:00
..
9pfs meson: convert hw/9pfs, cleanup 2020-08-21 06:30:33 -04:00
acpi meson: convert hw/acpi 2020-08-21 06:30:32 -04:00
adc meson: convert hw/adc 2020-08-21 06:30:32 -04:00
alpha meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
arm hw/arm/smmu-common: Manage IOTLB block entries 2020-08-24 10:02:06 +01:00
audio meson: convert hw/audio 2020-08-21 06:30:32 -04:00
avr meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
block meson: convert hw/block 2020-08-21 06:30:32 -04:00
char meson: convert hw/char 2020-08-21 06:30:32 -04:00
core Machine queue 2020-08-19 2020-08-22 14:37:31 +01:00
cpu hw/cpu/a9mpcore: Verify the machine use Cortex-A9 cores 2020-08-24 10:01:40 +01:00
cris meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
display meson: convert hw/display 2020-08-21 06:30:31 -04:00
dma meson: convert hw/dma 2020-08-21 06:30:31 -04:00
gpio meson: convert hw/gpio 2020-08-21 06:30:31 -04:00
hppa meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
hyperv meson: convert hw/hyperv 2020-08-21 06:30:31 -04:00
i2c meson: convert hw/i2c 2020-08-21 06:30:30 -04:00
i386 Machine queue 2020-08-19 2020-08-22 14:37:31 +01:00
ide meson: convert hw/ide 2020-08-21 06:30:30 -04:00
input meson: convert hw/input 2020-08-21 06:30:30 -04:00
intc hw/intc: ibex_plic: Honour source priorities 2020-08-21 22:37:55 -07:00
ipack meson: convert hw/ipack 2020-08-21 06:30:30 -04:00
ipmi meson: convert hw/ipmi 2020-08-21 06:30:29 -04:00
isa meson: convert hw/isa 2020-08-21 06:30:29 -04:00
lm32 hw/sd/milkymist: Do not create SD card within the SD host controller 2020-08-21 16:22:43 +02:00
m68k meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
mem meson: convert hw/mem 2020-08-21 06:30:26 -04:00
microblaze meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
mips meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
misc meson: convert hw/misc 2020-08-21 06:30:29 -04:00
moxie meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
net meson: convert hw/net 2020-08-21 06:30:29 -04:00
nios2 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
nubus meson: convert hw/nubus 2020-08-21 06:30:25 -04:00
nvram meson: convert hw/nvram 2020-08-21 06:30:28 -04:00
openrisc meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
pci meson: convert hw/pci 2020-08-21 06:30:28 -04:00
pci-bridge meson: convert hw/pci-bridge 2020-08-21 06:30:28 -04:00
pci-host meson: convert hw/pci-host 2020-08-21 06:30:28 -04:00
pcmcia meson: convert hw/pcmcia 2020-08-21 06:30:28 -04:00
ppc Machine queue 2020-08-19 2020-08-22 14:37:31 +01:00
rdma meson: convert hw/rdma 2020-08-21 06:30:29 -04:00
riscv hw/riscv: spike: Change the default bios to use generic platform image 2020-08-21 22:37:55 -07:00
rtc meson: convert hw/rtc 2020-08-21 06:30:27 -04:00
rx meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
s390x Machine queue 2020-08-19 2020-08-22 14:37:31 +01:00
scsi meson: convert hw/scsi 2020-08-21 06:30:28 -04:00
sd hw/sd: Correct the maximum size of a Standard Capacity SD Memory Card 2020-08-21 16:49:22 +02:00
semihosting meson: convert hw/semihosting 2020-08-21 06:30:25 -04:00
sh4 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
smbios meson: convert hw/smbios 2020-08-21 06:30:25 -04:00
sparc meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
sparc64 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
ssi meson: convert hw/ssi 2020-08-21 06:30:27 -04:00
timer meson: convert hw/timer 2020-08-21 06:30:27 -04:00
tpm meson: convert hw/tpm 2020-08-21 06:30:27 -04:00
tricore meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
unicore32 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
usb meson: convert hw/usb 2020-08-21 06:30:26 -04:00
vfio meson: convert hw/vfio 2020-08-21 06:30:26 -04:00
virtio meson: convert hw/virtio 2020-08-21 06:30:26 -04:00
watchdog meson: convert hw/watchdog 2020-08-21 06:30:26 -04:00
xen meson: convert hw/xen 2020-08-21 06:30:24 -04:00
xenpv meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
xtensa meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
Kconfig hw/avr: Add limited support for some Arduino boards 2020-07-11 11:02:05 +02:00
meson.build meson: convert hw/arch* 2020-08-21 06:30:33 -04:00