libpayload/arch/x86: Introduce pacc pointer in sysinfo_t struct

Currently, the PCI bus gets scanned multiple times for various reasons
(e.g. to read the device class). Therefore, and in preparation to
CB:46416, introduce the pacc pointer in the sysinfo_t struct and scan
the PCI bus while gathering system information.

Change-Id: I496c5a3d78c7fb5d7c9f119a0c9a0314d54e729f
Signed-off-by: Felix Singer <felix.singer@secunet.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/46348
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
diff --git a/payloads/libpayload/include/sysinfo.h b/payloads/libpayload/include/sysinfo.h
index fe3d330..a3f61e7 100644
--- a/payloads/libpayload/include/sysinfo.h
+++ b/payloads/libpayload/include/sysinfo.h
@@ -29,6 +29,7 @@
 #ifndef _SYSINFO_H
 #define _SYSINFO_H
 
+#include <pci/pci.h>
 #include <stdint.h>
 
 /* Maximum number of memory range definitions. */
@@ -130,6 +131,10 @@
 
 	/* Pointer to FMAP cache in CBMEM */
 	uintptr_t fmap_cache;
+
+#if CONFIG(LP_PCI)
+	struct pci_access pacc;
+#endif
 };
 
 extern struct sysinfo_t lib_sysinfo;