pci: Add PCI device infrastructure

Add generic PCI packages:

o HW.PCI containing basic definitions for PCI devices and
  configuration space headers,
o HW.PCI.MMConf that provides access to memory mapped confi-
  guration space of a PCI device, and
o HW.PCI.Dev adding a method to map resources of a PCI device.

Change-Id: I266ea35e273ff49fdb3176d617bb0b4ab1f13f93
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/20258
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
diff --git a/common/Makefile.inc b/common/Makefile.inc
index 8759664..cc88032 100644
--- a/common/Makefile.inc
+++ b/common/Makefile.inc
@@ -3,6 +3,9 @@
 hw-y += hw-mmio_range.ads
 hw-y += hw-mmio_regs.adb
 hw-y += hw-mmio_regs.ads
+hw-y += hw-pci.ads
+hw-y += hw-pci-mmconf.adb
+hw-y += hw-pci-mmconf.ads
 hw-y += hw-port_io.adb
 hw-y += hw-port_io.ads
 hw-y += hw-sub_regs.ads
@@ -16,6 +19,7 @@
 $(hw-config-ads): $(dir)/hw-config.ads.template $(cnf)
 	printf "    GENERATE   $(patsubst /%,%,$(subst $(obj)/,,$@))\n"
 	sed \
+	    -e's/<<DEFAULT_MMCONF_BASE>>/$(CONFIG_HWBASE_DEFAULT_MMCONF)/' \
 	    -e's/<<DYNAMIC_MMIO>>/$(if $(filter y,$(CONFIG_HWBASE_DYNAMIC_MMIO)),True,False)/' \
 	    $< >$@
 hw-gen-y += $(hw-config-ads)