Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | /* * Copyright 2003-2011 NetLogic Microsystems, Inc. (NetLogic). All rights * reserved. * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU * General Public License (GPL) Version 2, available from the file * COPYING in the main directory of this source tree, or the NetLogic * license below: * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * THIS SOFTWARE IS PROVIDED BY NETLOGIC ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _ASM_NETLOGIC_BOOTINFO_H #define _ASM_NETLOGIC_BOOTINFO_H struct psb_info { uint64_t boot_level; uint64_t io_base; uint64_t output_device; uint64_t uart_print; uint64_t led_output; uint64_t init; uint64_t exit; uint64_t warm_reset; uint64_t wakeup; uint64_t online_cpu_map; uint64_t master_reentry_sp; uint64_t master_reentry_gp; uint64_t master_reentry_fn; uint64_t slave_reentry_fn; uint64_t magic_dword; uint64_t uart_putchar; uint64_t size; uint64_t uart_getchar; uint64_t nmi_handler; uint64_t psb_version; uint64_t mac_addr; uint64_t cpu_frequency; uint64_t board_version; uint64_t malloc; uint64_t free; uint64_t global_shmem_addr; uint64_t global_shmem_size; uint64_t psb_os_cpu_map; uint64_t userapp_cpu_map; uint64_t wakeup_os; uint64_t psb_mem_map; uint64_t board_major_version; uint64_t board_minor_version; uint64_t board_manf_revision; uint64_t board_serial_number; uint64_t psb_physaddr_map; uint64_t xlr_loaderip_config; uint64_t bldr_envp; uint64_t avail_mem_map; }; enum { NETLOGIC_IO_SPACE = 0x10, PCIX_IO_SPACE, PCIX_CFG_SPACE, PCIX_MEMORY_SPACE, HT_IO_SPACE, HT_CFG_SPACE, HT_MEMORY_SPACE, SRAM_SPACE, FLASH_CONTROLLER_SPACE }; #define NLM_MAX_ARGS 64 #define NLM_MAX_ENVS 32 /* This is what netlboot passes and linux boot_mem_map is subtly different */ #define NLM_BOOT_MEM_MAP_MAX 32 struct nlm_boot_mem_map { int nr_map; struct nlm_boot_mem_map_entry { uint64_t addr; /* start of memory segment */ uint64_t size; /* size of memory segment */ uint32_t type; /* type of memory segment */ } map[NLM_BOOT_MEM_MAP_MAX]; }; /* Pointer to saved boot loader info */ extern struct psb_info nlm_prom_info; #endif |