diff options
author | Chris Metcalf <cmetcalf@tilera.com> | 2013-08-08 00:03:08 +0400 |
---|---|---|
committer | Chris Metcalf <cmetcalf@tilera.com> | 2013-08-14 00:26:31 +0400 |
commit | 9ae09838470a68edf0245cd60c623df2d5993a8f (patch) | |
tree | f5b71e4c830d729900b10035f0f525b85ca634ed /arch/tile/kernel/head_64.S | |
parent | fad052dc4be7b1d9e7ff40ccd8ba2b8216823b51 (diff) | |
download | linux-9ae09838470a68edf0245cd60c623df2d5993a8f.tar.xz |
tile: provide traceability for hypervisor calls
This change adds infrastructure (CONFIG_TILE_HVGLUE_TRACE) that
provides C code wrappers for the calls the kernel makes to the Tilera
hypervisor. This allows standard kernel infrastructure like FTRACE to
be able to instrument hypervisor calls.
To allow direct calls to the true API, we export their names with a
leading underscore as well. This is important for the few contexts
where we need to make hypervisor calls without touching the stack.
As part of this change, we also switch from creating the symbols
with linker magic to creating them with assembler magic. This lets
us provide a symbol type and generally make them appear more as symbols
and less as just random values in the Elf namespace.
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Diffstat (limited to 'arch/tile/kernel/head_64.S')
-rw-r--r-- | arch/tile/kernel/head_64.S | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/tile/kernel/head_64.S b/arch/tile/kernel/head_64.S index ed51320847ce..969e4f81f3b3 100644 --- a/arch/tile/kernel/head_64.S +++ b/arch/tile/kernel/head_64.S @@ -55,11 +55,11 @@ ENTRY(_start) movei r2, TILE_CHIP_REV movei r3, KERNEL_PL } - jal hv_init + jal _hv_init /* Get a reasonable default ASID in r0 */ { move r0, zero - jal hv_inquire_asid + jal _hv_inquire_asid } /* @@ -130,7 +130,7 @@ ENTRY(_start) } { moveli r3, CTX_PAGE_FLAG - j hv_install_context + j _hv_install_context } 1: @@ -141,7 +141,7 @@ ENTRY(_start) mtspr SPR_INTERRUPT_VECTOR_BASE_K, r0 /* Get our processor number and save it away in SAVE_K_0. */ - jal hv_inquire_topology + jal _hv_inquire_topology { GET_FIRST_INT(r5, r1) /* r5 = width */ GET_SECOND_INT(r4, r0) /* r4 = y */ |