]> git.proxmox.com Git - qemu.git/commit
qemu/pci: make default_write_config use mask table
authorMichael S. Tsirkin <mst@redhat.com>
Sun, 21 Jun 2009 16:45:18 +0000 (19:45 +0300)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 24 Jun 2009 14:09:14 +0000 (09:09 -0500)
commitb7ee1603c16c1feb0d439d2ddf6cf824119d0aab
treee48541b3e3a0b1ef984ca3d2e4a88d4539c19b46
parent1b64fcae87d120335b16feaa8ab2887ab9d7591a
qemu/pci: make default_write_config use mask table

Change much of hw/pci to use symbolic constants and a table-driven
design: add a mask table with writable bits set and readonly bits unset.
Detect change by comparing original and new registers.

This makes it easy to support capabilities where read-only/writeable
bit layout differs between devices, depending on capabilities present.

As a result, writing a single byte in BAR registers now works as
it should. Writing to upper limit registers in the bridge
also works as it should. Code is also shorter.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/pci.c
hw/pci.h