qemu-e2k/include/hw
Peter Maydell f8add62c0c hw/display/bcm2835_fb: Validate config settings
Validate the config settings that the guest tries to set.

The wiki page documentation is not really accurate here:
generally rather than failing requests to set bad parameters,
the hardware will just clip them to something sensible.

Validate the most important parameters: sizes and
the viewport offsets. This prevents the framebuffer
code from trying to read out-of-range memory.

In the property handling code, we validate the new parameters every
time we encounter a tag that sets them. This means we validate the
config multiple times if the request includes multiple config-setting
tags, but the code would require significant restructuring to do a
validation only once but still return the clipped settings for
get-parameter tags and the buffer allocation tag.

Validation of settings made via the older bcm2835_fb_mbox_push()
function will be done in the next commit.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20180814144436.679-8-peter.maydell@linaro.org
2018-08-24 13:17:50 +01:00
..
acpi hw/tpm: Use the IEC binary prefix definitions 2018-07-02 15:41:13 +02:00
adc
arm hw/arm/iotkit: Wire up the lines for MSCs 2018-08-24 13:17:44 +01:00
audio
block block: Remove deprecated -drive option serial 2018-08-15 12:50:39 +02:00
char imx_serial: Generate interrupt on receive data ready if enabled 2018-08-20 11:24:31 +01:00
core
cpu
cris
display hw/display/bcm2835_fb: Validate config settings 2018-08-24 13:17:50 +01:00
dma hw/dma/pl080: Don't use CPU address space for DMA accesses 2018-08-20 11:24:33 +01:00
gpio
i2c i2c: pm_smbus: Add the ability to force block transfer enable 2018-08-23 18:46:25 +02:00
i386 i386: do not migrate MSR_SMI_COUNT on machine types <2.12 2018-07-30 14:00:11 +02:00
ide
input
intc intc/arm_gic: Add the virtualization extensions to the GIC state 2018-08-14 17:17:20 +01:00
ipack
ipmi
isa
kvm
lm32
m68k
mem pc-dimm: assign and verify the "addr" property during pre_plug 2018-08-23 18:46:25 +02:00
mips hw/mips: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
misc hw/misc/iotkit-secctl: Wire up registers for controlling MSCs 2018-08-24 13:17:44 +01:00
net hw/net: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
nvram fw_cfg: import & use linux/qemu_fw_cfg.h 2018-08-23 18:46:25 +02:00
pci
pci-bridge
pci-host
ppc spapr: introduce a IRQ controller backend to the machine 2018-08-21 14:28:45 +10:00
riscv hw/riscv/sifive_u: Connect the Cadence GEM Ethernet device 2018-07-05 15:24:25 -07:00
s390x s390x: remove 's390-squash-mcss' option 2018-08-20 14:18:49 +02:00
scsi Block layer patches: 2018-06-29 18:29:15 +01:00
sd
sh4
smbios
sparc
ssi hw/ssi/pl022: Allow use as embedded-struct device 2018-08-24 13:17:44 +01:00
timer hw/timer/cmsdk-apb-dualtimer: Implement CMSDK dual timer module 2018-08-24 13:17:41 +01:00
tricore
unicore32
usb
vfio vfio/spapr: Allow backing bigger guest IOMMU pages with smaller physical pages 2018-08-21 14:28:45 +10:00
virtio vhost-user-scsi: move host_features into VHostSCSICommon 2018-08-23 18:46:25 +02:00
watchdog hw/watchdog/cmsdk_apb_watchdog: Implement CMSDK APB watchdog module 2018-08-20 11:24:33 +01:00
xen
xtensa
boards.h fw_cfg: ignore suffixes in the bootdevice list dependent on machine class 2018-08-16 22:27:43 -03:00
bt.h
compat.h s390x: introduce 3.1 compat machine 2018-08-20 14:18:49 +02:00
devices.h
elf_ops.h
empty_slot.h
fw-path-provider.h
hotplug.h qdev: add HotplugHandler->post_plug() callback 2018-07-16 16:58:16 +02:00
hw.h
ide.h
irq.h
loader-fit.h
loader.h loader: Implement .hex file loader 2018-08-16 14:05:28 +01:00
nmi.h
or-irq.h
pcmcia.h
platform-bus.h
ptimer.h ptimer: Add TRIGGER_ONLY_ON_DECREMENT policy option 2018-07-09 14:51:34 +01:00
qdev-core.h
qdev-dma.h
qdev-properties.h
qdev.h
register.h
registerfields.h
stream.h
sysbus.h hw/core/sysbus: Add a function for creating and attaching an object 2018-07-17 13:12:49 +01:00
usb.h