Path: blob/master/arch/mips/cavium-octeon/octeon_boot.h
26451 views
/* SPDX-License-Identifier: GPL-2.0-or-later */1/*2* (C) Copyright 2004, 2005 Cavium Networks3*/45#ifndef __OCTEON_BOOT_H__6#define __OCTEON_BOOT_H__78#include <linux/types.h>910struct boot_init_vector {11/* First stage address - in ram instead of flash */12uint64_t code_addr;13/* Setup code for application, NOT application entry point */14uint32_t app_start_func_addr;15/* k0 is used for global data - needs to be passed to other cores */16uint32_t k0_val;17/* Address of boot info block structure */18uint64_t boot_info_addr;19uint32_t flags; /* flags */20uint32_t pad;21};2223/* similar to bootloader's linux_app_boot_info but without global data */24struct linux_app_boot_info {25#ifdef __BIG_ENDIAN_BITFIELD26uint32_t labi_signature;27uint32_t start_core0_addr;28uint32_t avail_coremask;29uint32_t pci_console_active;30uint32_t icache_prefetch_disable;31uint32_t padding;32uint64_t InitTLBStart_addr;33uint32_t start_app_addr;34uint32_t cur_exception_base;35uint32_t no_mark_private_data;36uint32_t compact_flash_common_base_addr;37uint32_t compact_flash_attribute_base_addr;38uint32_t led_display_base_addr;39#else40uint32_t start_core0_addr;41uint32_t labi_signature;4243uint32_t pci_console_active;44uint32_t avail_coremask;4546uint32_t padding;47uint32_t icache_prefetch_disable;4849uint64_t InitTLBStart_addr;5051uint32_t cur_exception_base;52uint32_t start_app_addr;5354uint32_t compact_flash_common_base_addr;55uint32_t no_mark_private_data;5657uint32_t led_display_base_addr;58uint32_t compact_flash_attribute_base_addr;59#endif60};6162/* If not to copy a lot of bootloader's structures63here is only offset of requested member */64#define AVAIL_COREMASK_OFFSET_IN_LINUX_APP_BOOT_BLOCK 0x765c6566/* hardcoded in bootloader */67#define LABI_ADDR_IN_BOOTLOADER 0x7006869#define LINUX_APP_BOOT_BLOCK_NAME "linux-app-boot"7071#define LABI_SIGNATURE 0xAABBCC017273/* from uboot-headers/octeon_mem_map.h */74#define EXCEPTION_BASE_INCR (4 * 1024)75/* Increment size for exception base addresses (4k minimum) */76#define EXCEPTION_BASE_BASE 077#define BOOTLOADER_PRIV_DATA_BASE (EXCEPTION_BASE_BASE + 0x800)78#define BOOTLOADER_BOOT_VECTOR (BOOTLOADER_PRIV_DATA_BASE)7980#endif /* __OCTEON_BOOT_H__ */818283