summaryrefslogtreecommitdiff
path: root/arch/mips/mach-octeon/include/mach/bootoct_cmd.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/mach-octeon/include/mach/bootoct_cmd.h')
-rw-r--r--arch/mips/mach-octeon/include/mach/bootoct_cmd.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/arch/mips/mach-octeon/include/mach/bootoct_cmd.h b/arch/mips/mach-octeon/include/mach/bootoct_cmd.h
new file mode 100644
index 0000000000..657698ba54
--- /dev/null
+++ b/arch/mips/mach-octeon/include/mach/bootoct_cmd.h
@@ -0,0 +1,54 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2020 Marvell International Ltd.
+ */
+
+#ifndef __BOOTOCT_CMD_H__
+#define __BOOTOCT_CMD_H__
+
+#include "cvmx-coremask.h"
+
+enum octeon_boot_cmd_type {
+ BOOTOCT,
+ BOOTOCTLINUX,
+ BOOTOCTELF
+};
+
+/** Structure to contain results of command line argument parsing */
+struct octeon_boot_args {
+ struct cvmx_coremask coremask; /** Parsed coremask */
+ int num_cores[CVMX_MAX_NODES]; /** number of cores */
+ int num_skipped[CVMX_MAX_NODES];/** number of skipped cores */
+ const char *app_name; /** Application name */
+ const char *named_block; /** Named block to load Linux into */
+ u32 stack_size; /** stack size */
+ u32 heap_size; /** heap size */
+ u32 boot_flags; /** boot flags */
+ int node_mask; /** Node mask to use */
+ int console_uart; /** serial console number */
+ bool forceboot; /** force booting if core 0 not set */
+ bool coremask_set; /** set if coremask was set */
+ bool num_cores_set; /** Set if num_cores was set */
+ bool num_skipped_set; /** Set if num_skipped was set */
+ /** Set if endbootargs parameter was passed. */
+ bool endbootargs;
+};
+
+/**
+ * Parse command line arguments
+ *
+ * @param argc number of arguments
+ * @param[in] argv array of argument strings
+ * @param cmd command type
+ * @param[out] boot_args parsed values
+ *
+ * @return number of arguments parsed
+ */
+int octeon_parse_bootopts(int argc, char *const argv[],
+ enum octeon_boot_cmd_type cmd,
+ struct octeon_boot_args *boot_args);
+
+void nmi_bootvector(void);
+extern u64 nmi_handler_para[];
+
+#endif /* __BOOTOCT_CMD_H__ */