/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (C) 2010 Imagination Technologies */ #ifndef __ASM_METAG_USER_GATEWAY_H #define __ASM_METAG_USER_GATEWAY_H #include <asm/page.h> /* Page of kernel code accessible to userspace. */ #define USER_GATEWAY_PAGE 0x6ffff000 /* Offset of TLS pointer array in gateway page. */ #define USER_GATEWAY_TLS 0x100 #ifndef __ASSEMBLY__ extern char __user_gateway_start; extern char __user_gateway_end; /* Kernel mapping of the gateway page. */ extern void *gateway_page;
static inline void set_gateway_tls(void __user *tls_ptr) { void **gateway_tls = (void **)(gateway_page + USER_GATEWAY_TLS + hard_processor_id() * 4); *gateway_tls = (__force void *)tls_ptr; #ifdef CONFIG_METAG_META12 /* Avoid cache aliases on virtually tagged cache. */ __builtin_dcache_flush((void *)USER_GATEWAY_PAGE + USER_GATEWAY_TLS + hard_processor_id() * sizeof(void *)); #endif }Contributors
Person | Tokens | Prop | Commits | CommitProp |
James Hogan | 69 | 100.00% | 1 | 100.00% |
Total | 69 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
James Hogan | 142 | 99.30% | 1 | 50.00% |
Greg Kroah-Hartman | 1 | 0.70% | 1 | 50.00% |
Total | 143 | 100.00% | 2 | 100.00% |