From 8f361453d8e9a67c85b2cf9b93c642c2d8fe0462 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Thu, 13 Dec 2007 06:13:38 -0800 Subject: [SPARC64]: Fix two kernel linear mapping setup bugs. This was caught and identified by Greg Onufer. Since we setup the 256M/4M bitmap table after taking over the trap table, it's possible for some 4M mapping to get loaded in the TLB beforhand which later will be 256M mappings. This can cause illegal TLB multiple-match conditions. Fix this by setting up the bitmap before we take over the trap table. Next, __flush_tlb_all() was not doing anything on hypervisor platforms. Fix by adding sun4v_mmu_demap_all() and calling it. Signed-off-by: David S. Miller --- include/asm-sparc64/hypervisor.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/asm-sparc64/hypervisor.h b/include/asm-sparc64/hypervisor.h index 524d49835df..3ad45dff52f 100644 --- a/include/asm-sparc64/hypervisor.h +++ b/include/asm-sparc64/hypervisor.h @@ -709,6 +709,10 @@ extern unsigned long sun4v_mmu_tsb_ctx0(unsigned long num_descriptions, */ #define HV_FAST_MMU_DEMAP_ALL 0x24 +#ifndef __ASSEMBLY__ +extern void sun4v_mmu_demap_all(void); +#endif + /* mmu_map_perm_addr() * TRAP: HV_FAST_TRAP * FUNCTION: HV_FAST_MMU_MAP_PERM_ADDR -- cgit v1.2.3 From e6e0a94573fb33e6e62b848a24864e6864c45464 Mon Sep 17 00:00:00 2001 From: Martin Habets Date: Fri, 14 Dec 2007 10:59:50 -0800 Subject: [SPARC32]: Silence sparc32 warnings on missing syscalls. Silence sparc32 warnings on missing syscalls, these won't be added. This patch is based on this mail: http://www.mail-archive.com/linux-arch@vger.kernel.org/msg02571.html Signed-off-by: Martin Habets Signed-off-by: David S. Miller --- include/asm-sparc/unistd.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include') diff --git a/include/asm-sparc/unistd.h b/include/asm-sparc/unistd.h index 029b3e0d5e4..0decdf76371 100644 --- a/include/asm-sparc/unistd.h +++ b/include/asm-sparc/unistd.h @@ -333,6 +333,15 @@ #define NR_SYSCALLS 315 +/* Sparc 32-bit only has the "setresuid32", "getresuid32" variants, + * it never had the plain ones and there is no value to adding those + * old versions into the syscall table. + */ +#define __IGNORE_setresuid +#define __IGNORE_getresuid +#define __IGNORE_setresgid +#define __IGNORE_getresgid + #ifdef __KERNEL__ #define __ARCH_WANT_IPC_PARSE_VERSION #define __ARCH_WANT_OLD_READDIR -- cgit v1.2.3