diff options
author | David Daney <ddaney@caviumnetworks.com> | 2010-07-23 13:57:51 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-08-05 08:26:12 -0400 |
commit | babba4f11379fb3804de802a3d0bc6b96c59d547 (patch) | |
tree | d64a578bc2999c286518158d738e7c9d909f469f /arch/mips/cavium-octeon/octeon_boot.h | |
parent | 442f201286bfbbcd5ba5acb616914004be3e6268 (diff) |
MIPS: Octeon: HOTPLUG_CPU fixes.
* Rename camel-case InitTLBStart_addr to octeon_bootloader_entry_addr.
* Convert calls to cvmx_read64_uint32(), to simple pointer
dereferences.
* Set proper ebase.
* Don't confuse coreid and cpu numbers.
* Try to maintain consistent bootloader coremask.
* Update the signature and boot_init_vector of supported bootloaders.
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1491/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/cavium-octeon/octeon_boot.h')
-rw-r--r-- | arch/mips/cavium-octeon/octeon_boot.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/mips/cavium-octeon/octeon_boot.h b/arch/mips/cavium-octeon/octeon_boot.h index 0f7f84accf9a..428864b2ba41 100644 --- a/arch/mips/cavium-octeon/octeon_boot.h +++ b/arch/mips/cavium-octeon/octeon_boot.h | |||
@@ -23,14 +23,16 @@ | |||
23 | #include <linux/types.h> | 23 | #include <linux/types.h> |
24 | 24 | ||
25 | struct boot_init_vector { | 25 | struct boot_init_vector { |
26 | uint32_t stack_addr; | 26 | /* First stage address - in ram instead of flash */ |
27 | uint32_t code_addr; | 27 | uint64_t code_addr; |
28 | /* Setup code for application, NOT application entry point */ | ||
28 | uint32_t app_start_func_addr; | 29 | uint32_t app_start_func_addr; |
30 | /* k0 is used for global data - needs to be passed to other cores */ | ||
29 | uint32_t k0_val; | 31 | uint32_t k0_val; |
30 | uint32_t flags; | 32 | /* Address of boot info block structure */ |
31 | uint32_t boot_info_addr; | 33 | uint64_t boot_info_addr; |
34 | uint32_t flags; /* flags */ | ||
32 | uint32_t pad; | 35 | uint32_t pad; |
33 | uint32_t pad2; | ||
34 | }; | 36 | }; |
35 | 37 | ||
36 | /* similar to bootloader's linux_app_boot_info but without global data */ | 38 | /* similar to bootloader's linux_app_boot_info but without global data */ |
@@ -40,7 +42,7 @@ struct linux_app_boot_info { | |||
40 | uint32_t avail_coremask; | 42 | uint32_t avail_coremask; |
41 | uint32_t pci_console_active; | 43 | uint32_t pci_console_active; |
42 | uint32_t icache_prefetch_disable; | 44 | uint32_t icache_prefetch_disable; |
43 | uint32_t InitTLBStart_addr; | 45 | uint64_t InitTLBStart_addr; |
44 | uint32_t start_app_addr; | 46 | uint32_t start_app_addr; |
45 | uint32_t cur_exception_base; | 47 | uint32_t cur_exception_base; |
46 | uint32_t no_mark_private_data; | 48 | uint32_t no_mark_private_data; |
@@ -58,7 +60,7 @@ struct linux_app_boot_info { | |||
58 | 60 | ||
59 | #define LINUX_APP_BOOT_BLOCK_NAME "linux-app-boot" | 61 | #define LINUX_APP_BOOT_BLOCK_NAME "linux-app-boot" |
60 | 62 | ||
61 | #define LABI_SIGNATURE 0xAABBCCDD | 63 | #define LABI_SIGNATURE 0xAABBCC01 |
62 | 64 | ||
63 | /* from uboot-headers/octeon_mem_map.h */ | 65 | /* from uboot-headers/octeon_mem_map.h */ |
64 | #define EXCEPTION_BASE_INCR (4 * 1024) | 66 | #define EXCEPTION_BASE_INCR (4 * 1024) |