forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'parisc-4.20-1' of git://git.kernel.org/pub/scm/linux/ke…
…rnel/git/deller/parisc-linux Pull parisc updates from Helge Deller: "Lots of small fixes and enhancements, most noteably: - Many TLB and cache flush optimizations (Dave) - Fixed HPMC/crash handler on 64-bit kernel (Dave and myself) - Added alternative infrastructre. The kernel now live-patches itself for various situations, e.g. replace SMP code when running on one CPU only or drop cache flushes when system has no cache installed. - vmlinuz now contains a full copy of the compressed vmlinux file. This simplifies debugging the currently booted kernel. - Unused driver removal (Christoph) - Reduced warnings of Dino PCI bridge when running in qemu - Removed gcc version check (Masahiro)" * 'parisc-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: (23 commits) parisc: Retrieve and display the PDC PAT capabilities parisc: Optimze cache flush algorithms parisc: Remove pte_inserted define parisc: Add PDC PAT cell_info() and pd_get_pdc_revisions() functions parisc: Drop two instructions from pte lookup code parisc: Use zdep for shlw macro on PA1.1 and PA2.0 parisc: Add alternative coding infrastructure parisc: Include compressed vmlinux file in vmlinuz boot kernel extract-vmlinux: Check for uncompressed image as fallback parisc: Fix address in HPMC IVA parisc: Fix exported address of os_hpmc handler parisc: Fix map_pages() to not overwrite existing pte entries parisc: Purge TLB entries after updating page table entry and set page accessed flag in TLB handler parisc: Release spinlocks using ordered store parisc: Ratelimit dino stuck interrupt warnings parisc: dino: Utilize DINO_MASK_IRQ() macro parisc: Clean up crash header output parisc: Add SYSTEM_INFO and REGISTER TOC PAT functions parisc: Remove PTE load and fault check from L2_ptep macro parisc: Reorder TLB flush timing calculation ...
- Loading branch information
Showing
32 changed files
with
721 additions
and
414 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
#ifndef __ASM_PARISC_ALTERNATIVE_H | ||
#define __ASM_PARISC_ALTERNATIVE_H | ||
|
||
#define ALT_COND_NO_SMP 0x01 /* when running UP instead of SMP */ | ||
#define ALT_COND_NO_DCACHE 0x02 /* if system has no d-cache */ | ||
#define ALT_COND_NO_ICACHE 0x04 /* if system has no i-cache */ | ||
#define ALT_COND_NO_SPLIT_TLB 0x08 /* if split_tlb == 0 */ | ||
#define ALT_COND_NO_IOC_FDC 0x10 /* if I/O cache does not need flushes */ | ||
|
||
#define INSN_PxTLB 0x02 /* modify pdtlb, pitlb */ | ||
#define INSN_NOP 0x08000240 /* nop */ | ||
|
||
#ifndef __ASSEMBLY__ | ||
|
||
#include <linux/init.h> | ||
#include <linux/types.h> | ||
#include <linux/stddef.h> | ||
#include <linux/stringify.h> | ||
|
||
struct alt_instr { | ||
s32 orig_offset; /* offset to original instructions */ | ||
u32 len; /* end of original instructions */ | ||
u32 cond; /* see ALT_COND_XXX */ | ||
u32 replacement; /* replacement instruction or code */ | ||
}; | ||
|
||
void set_kernel_text_rw(int enable_read_write); | ||
|
||
/* Alternative SMP implementation. */ | ||
#define ALTERNATIVE(cond, replacement) "!0:" \ | ||
".section .altinstructions, \"aw\" !" \ | ||
".word (0b-4-.), 1, " __stringify(cond) "," \ | ||
__stringify(replacement) " !" \ | ||
".previous" | ||
|
||
#else | ||
|
||
#define ALTERNATIVE(from, to, cond, replacement)\ | ||
.section .altinstructions, "aw" ! \ | ||
.word (from - .), (to - from)/4 ! \ | ||
.word cond, replacement ! \ | ||
.previous | ||
|
||
#endif /* __ASSEMBLY__ */ | ||
|
||
#endif /* __ASM_PARISC_ALTERNATIVE_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.