Replace AML template patching with direct composing of PCI device entries in C. It allows to simplify PCI tree generation further and saves us about 400LOC scattered through different files, confining tree generation to one C function which is much easier to deal with. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
35 lines
1.4 KiB
Makefile
35 lines
1.4 KiB
Makefile
obj-$(CONFIG_KVM) += kvm/
|
|
obj-y += multiboot.o smbios.o
|
|
obj-y += pc.o pc_piix.o pc_q35.o
|
|
obj-y += pc_sysfw.o
|
|
obj-y += intel_iommu.o
|
|
obj-$(CONFIG_XEN) += ../xenpv/ xen/
|
|
|
|
obj-y += kvmvapic.o
|
|
obj-y += acpi-build.o
|
|
hw/i386/acpi-build.o: hw/i386/acpi-build.c \
|
|
hw/i386/acpi-dsdt.hex hw/i386/q35-acpi-dsdt.hex \
|
|
hw/i386/ssdt-tpm.hex
|
|
|
|
iasl-option=$(shell if test -z "`$(1) $(2) 2>&1 > /dev/null`" \
|
|
; then echo "$(2)"; else echo "$(3)"; fi ;)
|
|
|
|
ifdef IASL
|
|
#IASL Present. Generate hex files from .dsl
|
|
hw/i386/%.hex: $(SRC_PATH)/hw/i386/%.dsl $(SRC_PATH)/scripts/acpi_extract_preprocess.py $(SRC_PATH)/scripts/acpi_extract.py
|
|
$(call quiet-command, $(CPP) -x c -P $(QEMU_DGFLAGS) $(QEMU_INCLUDES) $< -o $*.dsl.i.orig, " CPP $(TARGET_DIR)$*.dsl.i.orig")
|
|
$(call quiet-command, $(PYTHON) $(SRC_PATH)/scripts/acpi_extract_preprocess.py $*.dsl.i.orig > $*.dsl.i, " ACPI_PREPROCESS $(TARGET_DIR)$*.dsl.i")
|
|
$(call quiet-command, $(IASL) $(call iasl-option,$(IASL),-Pn,) -vs -l -tc -p $* $*.dsl.i $(if $(V), , > /dev/null) 2>&1 ," IASL $(TARGET_DIR)$*.dsl.i")
|
|
$(call quiet-command, $(PYTHON) $(SRC_PATH)/scripts/acpi_extract.py $*.lst > $*.off, " ACPI_EXTRACT $(TARGET_DIR)$*.off")
|
|
$(call quiet-command, cat $*.off > $@, " CAT $(TARGET_DIR)$@")
|
|
else
|
|
#IASL Not present. Restore pre-generated hex files.
|
|
hw/i386/%.hex: $(SRC_PATH)/hw/i386/%.hex.generated
|
|
$(call quiet-command, cp -f $< $@, " CP $(TARGET_DIR)$@")
|
|
endif
|
|
|
|
.PHONY: cleanhex
|
|
cleanhex:
|
|
rm -f hw/i386/*hex
|
|
clean: cleanhex
|