console/post: Split parts to arch/

Both IO port and cmos are currently arch/x86 only features.

Change-Id: I010af3f645c0be38dd856657874c36103aebbdc2
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38187
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc
index 6ed93e5..534f2ce 100644
--- a/src/arch/x86/Makefile.inc
+++ b/src/arch/x86/Makefile.inc
@@ -99,6 +99,7 @@
 all-y += memcpy.c
 all-y += memset.c
 all-y += cpu_common.c
+all-y += post.c
 
 endif
 
diff --git a/src/arch/x86/post.c b/src/arch/x86/post.c
new file mode 100644
index 0000000..0a20bab
--- /dev/null
+++ b/src/arch/x86/post.c
@@ -0,0 +1,26 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <stdint.h>
+#include <console/console.h>
+#include <arch/io.h>
+
+void arch_post_code(uint8_t value)
+{
+	if (CONFIG(POST_IO))
+		outb(value, CONFIG_POST_IO_PORT);
+
+	if (CONFIG(CMOS_POST))
+		cmos_post_code(value);
+}