qemu/hw
David Gibson f73a2575a3 pseries: More complete WIMG validation in H_ENTER code
Currently our implementation of the H_ENTER hypercall, which inserts a
mapping in the hash page table assumes that only ordinary memory is ever
mapped, and only permits mapping attribute bits accordingly (WIMG==0010).

However, we intend to start adding emulated IO to the pseries platform
(and real IO with PCI passthrough on kvm) which means this simple test
will no longer suffice.

This patch extends the h_enter validation code to check if the given
address is a RAM address.  If it is it enforces WIMG==0010, otherwise
it assumes that it is an IO mapping and instead enforces WIMG=010x.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2011-10-06 09:48:03 +02:00
..
9pfs
ide
9p.h
a9mpcore.c
ac97.c
acpi.c
acpi.h
acpi_piix4.c
adb.c
adlib.c
ads7846.c
an5206.c
apb_pci.c
apb_pci.h
apic.c
apic.h
apm.c
apm.h
applesmc.c
arm-misc.h
arm11mpcore.c
arm_boot.c
arm_gic.c
arm_pic.c
arm_sysctl.c
arm_timer.c
armv7m.c
armv7m_nvic.c
audiodev.h
axis_dev88.c
baum.c
baum.h
bitbang_i2c.c
bitbang_i2c.h
blizzard.c
blizzard_template.h
boards.h
bonito.c
bt-hci-csr.c
bt-hci.c
bt-hid.c
bt-l2cap.c
bt-sdp.c
bt.c
bt.h
cbus.c
ccid-card-emulated.c
ccid-card-passthru.c
ccid.h
cdrom.c
cirrus_vga.c
cirrus_vga_rop.h
cirrus_vga_rop2.h
collie.c
cris-boot.c
cris-boot.h
cris_pic_cpu.c
cs4231.c
cs4231a.c
cuda.c
debugcon.c
dec_pci.c
dec_pci.h
device-hotplug.c
devices.h
dma.c
dp8393x.c
ds1225y.c
ds1338.c
dummy_m68k.c
e1000.c
e1000_hw.h
ecc.c
eccmemctl.c
eepro100.c
eeprom93xx.c
eeprom93xx.h
elf_ops.h
empty_slot.c
empty_slot.h
es1370.c
escc.c
escc.h
esp.c
esp.h
etraxfs.h
etraxfs_dma.c
etraxfs_dma.h
etraxfs_eth.c
etraxfs_pic.c
etraxfs_ser.c
etraxfs_timer.c
event_notifier.c
event_notifier.h
fdc.c
fdc.h
firmware_abi.h
flash.h
fmopl.c
fmopl.h
framebuffer.c
framebuffer.h
fw_cfg.c
fw_cfg.h
g364fb.c
grackle_pci.c
grlib.h
grlib_apbuart.c
grlib_gptimer.c
grlib_irqmp.c
gt64xxx.c
gumstix.c
gus.c
gusemu.h
gusemu_hal.c
gusemu_mixer.c
gustate.h
hda-audio.c
heathrow_pic.c
hid.c
hid.h
hpet.c
hpet_emul.h
hw.h
i2c.c
i2c.h
i8254.c
i8259.c
ide.h
integratorcp.c
intel-hda-defs.h
intel-hda.c
intel-hda.h
ioapic.c
ioapic.h
ioh3420.c
ioh3420.h
irq.c
irq.h
isa-bus.c
isa.h
isa_mmio.c
ivshmem.c
jazz_led.c
kvmclock.c
kvmclock.h
lan9118.c
lance.c
leon3.c
lm32.h
lm32_boards.c
lm32_hwsetup.h
lm32_juart.c
lm32_juart.h
lm32_pic.c
lm32_pic.h
lm32_sys.c
lm32_timer.c
lm32_uart.c
lm832x.c
loader.c
loader.h
lsi53c895a.c
m48t59.c
mac_dbdma.c
mac_dbdma.h
mac_nvram.c
macio.c
mainstone.c
marvell_88w8618_audio.c
max111x.c
max7310.c
mc146818rtc.c
mc146818rtc.h
mcf.h
mcf5206.c
mcf5208.c
mcf_fec.c
mcf_intc.c
mcf_uart.c
microblaze_pic_cpu.c
microblaze_pic_cpu.h
milkymist-ac97.c
milkymist-hpdmc.c
milkymist-hw.h
milkymist-memcard.c
milkymist-minimac2.c
milkymist-pfpu.c
milkymist-softusb.c
milkymist-sysctl.c
milkymist-tmu2.c
milkymist-uart.c
milkymist-vgafb.c
milkymist-vgafb_template.h
milkymist.c
mips-bios.h
mips.h
mips_addr.c
mips_cpudevs.h
mips_fulong2e.c
mips_int.c
mips_jazz.c
mips_malta.c
mips_mipssim.c
mips_r4k.c
mips_timer.c
mipsnet.c
mpc8544_guts.c
mpcore.c
msi.c
msi.h
msix.c
msix.h
msmouse.c
msmouse.h
mst_fpga.c
multiboot.c
multiboot.h
musicpal.c
nand.c
ne2000-isa.c
ne2000.c
ne2000.h
nseries.c
nvram.h
omap.h
omap1.c
omap2.c
omap_clk.c
omap_dma.c
omap_dss.c
omap_gpio.c
omap_gpmc.c
omap_gptimer.c
omap_i2c.c
omap_intc.c
omap_l4.c
omap_lcd_template.h
omap_lcdc.c
omap_mmc.c
omap_sdrc.c
omap_spi.c
omap_sx1.c
omap_synctimer.c
omap_tap.c
omap_uart.c
onenand.c
openpic.c
openpic.h
palm.c
parallel.c
pc.c
pc.h
pc_piix.c
pci-hotplug.c
pci-stub.c
pci.c
pci.h
pci_bridge.c
pci_bridge.h
pci_host.c
pci_host.h
pci_ids.h
pci_internals.h
pci_regs.h
pcie.c
pcie.h
pcie_aer.c
pcie_aer.h
pcie_host.c
pcie_host.h
pcie_port.c
pcie_port.h
pcie_regs.h
pckbd.c
pcmcia.h
pcnet-pci.c
pcnet.c
pcnet.h
pcspk.c
petalogix_ml605_mmu.c
petalogix_s3adsp1800_mmu.c
pflash_cfi01.c
pflash_cfi02.c
piix4.c
piix_pci.c
pixel_ops.h
pl011.c
pl022.c
pl031.c
pl050.c
pl061.c
pl080.c
pl110.c
pl110_template.h
pl181.c
pl190.c
pm_smbus.c
pm_smbus.h
ppc-viosrp.h
ppc.c
ppc.h
ppc4xx.h
ppc4xx_devs.c
ppc4xx_pci.c
ppc405.h
ppc405_boards.c
ppc405_uc.c
ppc440.c
ppc440.h
ppc440_bamboo.c
ppc_mac.h
ppc_newworld.c
ppc_oldworld.c
ppc_prep.c
ppce500_mpc8544ds.c
ppce500_pci.c
ppce500_spin.c
prep_pci.c
prep_pci.h
primecell.h
ps2.c
ps2.h
ptimer.c
pxa.h
pxa2xx.c
pxa2xx_dma.c
pxa2xx_gpio.c
pxa2xx_keypad.c
pxa2xx_lcd.c
pxa2xx_mmci.c
pxa2xx_pcmcia.c
pxa2xx_pic.c
pxa2xx_template.h
pxa2xx_timer.c
qdev-addr.c
qdev-addr.h
qdev-properties.c
qdev.c
qdev.h
qxl-logger.c
qxl-render.c
qxl.c
qxl.h
r2d.c
rc4030.c
realview.c
realview_gic.c
rtl8139.c
s390-virtio-bus.c
s390-virtio-bus.h
s390-virtio.c
sb16.c
sbi.c
scsi-bus.c
scsi-defs.h
scsi-disk.c
scsi-generic.c
scsi.h
sd.c
sd.h
serial.c
sga.c
sh.h
sh7750.c
sh7750_regnames.c
sh7750_regnames.h
sh7750_regs.h
sh_intc.c
sh_intc.h
sh_pci.c
sh_serial.c
sh_timer.c
sharpsl.h
shix.c
slavio_intctl.c
slavio_misc.c
slavio_timer.c
sm501.c
sm501_template.h
smbios.c
smbios.h
smbus.c
smbus.h
smbus_eeprom.c
smc91c111.c
soc_dma.c
soc_dma.h
spapr.c pseries: More complete WIMG validation in H_ENTER code 2011-10-06 09:48:03 +02:00
spapr.h pseries: More complete WIMG validation in H_ENTER code 2011-10-06 09:48:03 +02:00
spapr_hcall.c pseries: More complete WIMG validation in H_ENTER code 2011-10-06 09:48:03 +02:00
spapr_llan.c
spapr_rtas.c
spapr_vio.c
spapr_vio.h
spapr_vscsi.c
spapr_vty.c
sparc32_dma.c
sparc32_dma.h
spitz.c
srp.h
ssd0303.c
ssd0323.c
ssi-sd.c
ssi.c
ssi.h
stellaris.c
stellaris_enet.c
stellaris_input.c
strongarm.c
strongarm.h
sun4c_intctl.c
sun4m.c
sun4m.h
sun4m_iommu.c
sun4u.c
syborg.c
syborg.h
syborg_fb.c
syborg_interrupt.c
syborg_keyboard.c
syborg_pointer.c
syborg_rtc.c
syborg_serial.c
syborg_timer.c
syborg_virtio.c
sysbus.c
sysbus.h
tc6393xb.c
tc6393xb_template.h
tc58128.c
tcx.c
tmp105.c
tosa.c
tsc210x.c
tsc2005.c
tusb6010.c
twl92230.c
unin_pci.c
usb-bt.c
usb-bus.c
usb-ccid.c
usb-desc.c
usb-desc.h
usb-ehci.c
usb-hid.c
usb-hub.c
usb-libhw.c
usb-msd.c
usb-musb.c
usb-net.c
usb-ohci.c
usb-ohci.h
usb-serial.c
usb-uhci.c
usb-uhci.h
usb-wacom.c
usb.c
usb.h
versatile_pci.c
versatilepb.c
vexpress.c
vga-isa-mm.c
vga-isa.c
vga-pci.c
vga.c
vga_int.h
vga_template.h
vhost.c
vhost.h
vhost_net.c
vhost_net.h
virtex_ml507.c
virtio-balloon.c
virtio-balloon.h
virtio-blk.c
virtio-blk.h
virtio-console.c
virtio-net.c
virtio-net.h
virtio-pci.c
virtio-pci.h
virtio-serial-bus.c
virtio-serial.h
virtio.c
virtio.h
vmmouse.c
vmport.c
vmware_vga.c
vmware_vga.h
vt82c686.c
vt82c686.h
watchdog.c
watchdog.h
wdt_i6300esb.c
wdt_ib700.c
wm8750.c
xen.h
xen_backend.c
xen_backend.h
xen_blkif.h
xen_common.h
xen_console.c
xen_devconfig.c
xen_disk.c
xen_domainbuild.c
xen_domainbuild.h
xen_machine_pv.c
xen_nic.c
xen_platform.c
xenfb.c
xics.c
xics.h
xilinx.h
xilinx_axidma.c
xilinx_axidma.h
xilinx_axienet.c
xilinx_ethlite.c
xilinx_intc.c
xilinx_timer.c
xilinx_uartlite.c
xio3130_downstream.c
xio3130_downstream.h
xio3130_upstream.c
xio3130_upstream.h
xtensa_dc232b.c
xtensa_pic.c
xtensa_sample.c
z2.c
zaurus.c