u-boot-brain/arch/mips/mach-octeon/include/mach/bootoct_cmd.h
Aaron Williams e602dd5238 mips: octeon: Add bootoctlinux command
Octeon needs a platform specific cmd to boot the Linux kernel, as
specific parameters need to be passed and special handling for the
multiple cores (SMP) is needed.

Co-developed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Aaron Williams <awilliams@marvell.com>
Signed-off-by: Stefan Roese <sr@denx.de>
[use gd->ram_base instead of gd->bd->bi_memstart]
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2020-10-07 20:25:58 +02:00

55 lines
1.5 KiB
C

/* 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__ */