#ifndef CRYPTO_H #define CRYPTO_H #include "taia.h" #include "crypto_verify_32.h" #include "crypto_hash_sha512.h" #include "crypto_box_curve25519xsalsa20poly1305.h" #include "crypto_scalarmult_curve25519.h" #include "crypto_auth_hmacsha512256.h" #define crypto_box_zerobytes crypto_box_curve25519xsalsa20poly1305_ZEROBYTES #define crypto_box_boxzerobytes crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES #define crypto_box_noncebytes crypto_box_curve25519xsalsa20poly1305_NONCEBYTES #define crypto_box_beforenmbytes crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES #define crypto_box_beforenm crypto_box_curve25519xsalsa20poly1305_beforenm #define crypto_box_afternm crypto_box_curve25519xsalsa20poly1305_afternm #define crypto_box_open_afternm crypto_box_curve25519xsalsa20poly1305_open_afternm #define crypto_box_pub_key_size crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES #define crypto_box_sec_key_size crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES #define NONCE_LENGTH (sizeof(struct taia)) #define NONCE_RND_LENGTH (crypto_box_boxzerobytes - NONCE_LENGTH) #define NONCE_ALL_LENGTH (crypto_box_boxzerobytes + NONCE_LENGTH) #define NONCE_OFFSET (crypto_box_noncebytes - NONCE_LENGTH) #define NONCE_EDN_OFFSET(x) ((x) + NONCE_OFFSET) #define NONCE_PKT_OFFSET(x) ((x) + NONCE_RND_LENGTH) #endif /* CRYPTO_H */ net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2016-09-13 13:08:40 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2016-09-23 07:54:20 +1000
commita24553dd02dc6c7d2912af0b4b9c7f833c90e561 (patch)
tree942dc65a35f5e6df44d9ffb5fe62a2b955f9eb20 /arch
parent40e1b1cfb529891307b21f6e336d6375d4662cb7 (diff)
powerpc/pseries: Remove unnecessary syscall trampoline
When we originally added the ability to split the exception vectors from the kernel (commit 1f6a93e4c35e ("powerpc: Make it possible to move the interrupt handlers away from the kernel" 2008-09-15)), the LOAD_HANDLER() macro used an addi instruction to compute the offset of the common handler from the kernel base address. Using addi meant the handler had to be within 32K of the kernel base address, due to the addi instruction taking a signed immediate value. That necessitated creating a trampoline for the system call handler, because system_call_common (in entry64.S) is not linked within 32K of the kernel base address. Later in commit 61e2390ede3c ("powerpc: Make load_hander handle upto 64k offset" 2012-11-15) we changed LOAD_HANDLER to take a 64K offset, by changing it to use ori. Although system_call_common is not in head_64.S or exceptions-64s.S, it is included in head-y, which causes it to be linked early in the kernel text, so in practice it ends up below 64K. Additionally if it can't be placed below 64K the linker will fail to build with a "relocation truncated to fit" error. So remove the trampoline. Newer toolchains are able to work out that the ori in LOAD_HANDLER only takes a 16 bit offset, and so they generate a 16 bit relocation. Older toolchains (binutils 2.22 at least) are not so smart, so we have to add the @l annotation to tell the assembler to generate a 16 bit relocation. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch')