libpayload: Cache physical location of serial-console struct

In the presence of self-relocating payloads, it's safer to keep
physical addresses in `libsysinfo`.

Change-Id: Icd30e95c6b8115d16dd793914fb01a1a9da1854f
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/43577
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
diff --git a/payloads/libpayload/include/sysinfo.h b/payloads/libpayload/include/sysinfo.h
index c3d8c7f..188b2c3 100644
--- a/payloads/libpayload/include/sysinfo.h
+++ b/payloads/libpayload/include/sysinfo.h
@@ -41,8 +41,6 @@
 
 #include <coreboot_tables.h>
 
-struct cb_serial;
-
 /*
  * All pointers in here shall be virtual.
  *
@@ -51,7 +49,7 @@
  */
 struct sysinfo_t {
 	unsigned int cpu_khz;
-	struct cb_serial *serial;
+	uintptr_t cb_serial;
 	unsigned short ser_ioport;
 	unsigned long ser_base; // for mmapped serial