aboutsummaryrefslogtreecommitdiff
path: root/src/vendorcode/cavium/include/bdk/bdk-minimal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vendorcode/cavium/include/bdk/bdk-minimal.h')
-rw-r--r--src/vendorcode/cavium/include/bdk/bdk-minimal.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/vendorcode/cavium/include/bdk/bdk-minimal.h b/src/vendorcode/cavium/include/bdk/bdk-minimal.h
new file mode 100644
index 0000000000..3ecf5a700a
--- /dev/null
+++ b/src/vendorcode/cavium/include/bdk/bdk-minimal.h
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (c) 2003-2017 Cavium Inc. (support@cavium.com). All rights
+ * reserved.
+ * Copyright 2017-present Facebook, Inc.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ * bdk-minimal.h: Subset of bdk.h used by coreboot
+ */
+
+#ifndef __SOC_CAVIUM_COMMON_BDK_MINIMAL_H__
+#define __SOC_CAVIUM_COMMON_BDK_MINIMAL_H__
+
+#include <console/console.h> /* for printk */
+#include <endian.h>
+#include <stddef.h> /* for NULL */
+#include <libbdk-hal/bdk-access.h>
+
+#define bdk_le16_to_cpu(x) le16_to_cpu(x)
+#define bdk_le32_to_cpu(x) le32_to_cpu(x)
+#define bdk_le64_to_cpu(x) le64_to_cpu(x)
+#define bdk_be16_to_cpu(x) be16_to_cpu(x)
+#define bdk_be32_to_cpu(x) be32_to_cpu(x)
+#define bdk_be64_to_cpu(x) be64_to_cpu(x)
+#define bdk_cpu_to_le16(x) cpu_to_le16(x)
+#define bdk_cpu_to_le32(x) cpu_to_le32(x)
+#define bdk_cpu_to_le64(x) cpu_to_le64(x)
+
+#define __BYTE_ORDER __BYTE_ORDER__
+/* Watch out for __BIG_ENDIAN. coreboot usually checks if it's defined at all
+ * but the Cavium BDK checks its value. */
+#define __BIG_ENDIAN 4321
+
+#define printf(format, ...) printk(BIOS_DEBUG, format, ##__VA_ARGS__)
+#define puts(str) printk(BIOS_INFO, str)
+#define fflush(x) /* output gets flushed automatically */
+
+/* careful, the ordering matters for some headers */
+#include <libbdk-arch/bdk-warn.h>
+#include <libbdk-arch/bdk-asm.h>
+#include <libbdk-arch/bdk-model.h>
+#include <libbdk-arch/bdk-numa.h>
+
+#include <libbdk-arch/bdk-require.h>
+#include <libbdk-arch/bdk-csr.h>
+
+#include <libbdk-os/bdk-thread.h>
+
+/* FIXME: experiment to see if including the universe here will solve some
+ * current build issues... */
+#include <libbdk-arch/bdk-arch.h>
+#include <libbdk-boot/bdk-boot.h>
+#include <libbdk-dram/bdk-dram.h>
+#include <libdram/libdram.h>
+
+static inline char *getenv(const char *name) { return NULL; }
+
+#endif /* !__SOC_CAVIUM_COMMON_BDK_MINIMAL_H__ */