psb-bootinfo.h 3.3 KB

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