This patch is a major overhaul of the device properties. The properties are saved directly in the device state struct now, the linked list of property values is gone. Advantages: * We don't have to maintain the list with the property values. * The value in the property list and the value actually used by the device can't go out of sync any more (used to happen for the pci.devfn == -1 case) because there is only one place where the value is stored. * A record describing the property is required now, you can't set random properties any more. There are bus-specific and device-specific properties. The former should be used for properties common to all bus drivers. Typical use case is bus addressing, i.e. pci.devfn and i2c.address. Properties have a PropertyInfo struct attached with name, size and function pointers to parse and print properties. A few common property types have PropertyInfos defined in qdev-properties.c. Drivers are free to implement their own very special property parsers if needed. Properties can have default values. If unset they are zero-filled. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
42 lines
827 B
Makefile
42 lines
827 B
Makefile
# Makefile for qemu target independent devices.
|
|
|
|
include config.mak
|
|
include ../config-host.mak
|
|
include $(SRC_PATH)/rules.mak
|
|
|
|
.PHONY: all
|
|
|
|
VPATH=$(SRC_PATH):$(SRC_PATH)/hw
|
|
|
|
CFLAGS += $(OS_CFLAGS) $(ARCH_CFLAGS)
|
|
LDFLAGS += $(OS_LDFLAGS) $(ARCH_LDFLAGS)
|
|
|
|
CPPFLAGS += -I. -I.. -I$(SRC_PATH) -MMD -MP -MT $@
|
|
CPPFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
|
|
CPPFLAGS+=-I$(SRC_PATH)/fpu
|
|
|
|
obj-y =
|
|
obj-y += virtio.o virtio-pci.o
|
|
obj-y += fw_cfg.o
|
|
obj-y += watchdog.o
|
|
obj-y += nand.o ecc.o
|
|
|
|
obj-y += m48t59.o escc.o
|
|
|
|
# SCSI layer
|
|
obj-y += lsi53c895a.o esp.o
|
|
|
|
obj-y += dma-helpers.o sysbus.o qdev-addr.o
|
|
|
|
all: $(HWLIB)
|
|
# Dummy command so that make thinks it has done something
|
|
@true
|
|
|
|
$(HWLIB): $(obj-y)
|
|
|
|
clean:
|
|
rm -f *.o *.d *.a *~
|
|
|
|
# Include automatically generated dependency files
|
|
-include $(wildcard *.d */*.d)
|