/openbmc/linux/arch/riscv/boot/dts/sifive/ |
H A D | fu540-c000.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 /* Copyright (c) 2018-2019 SiFive, Inc */ 4 /dts-v1/; 6 #include <dt-bindings/clock/sifive-fu540-prci.h> 9 #address-cells = <2>; 10 #size-cells = <2>; 11 compatible = "sifive,fu540-c000", "sifive,fu540"; 23 #address-cells = <1>; 24 #size-cells = <0>; 28 i-cache-block-size = <64>; [all …]
|
H A D | fu740-c000.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 4 /dts-v1/; 6 #include <dt-bindings/clock/sifive-fu740-prci.h> 9 #address-cells = <2>; 10 #size-cells = <2>; 11 compatible = "sifive,fu740-c000", "sifive,fu740"; 23 #address-cells = <1>; 24 #size-cells = <0>; 28 i-cache-block-size = <64>; 29 i-cache-sets = <128>; [all …]
|
/openbmc/linux/arch/riscv/boot/dts/microchip/ |
H A D | mpfs.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 /* Copyright (c) 2020-2021 Microchip Technology Inc */ 4 /dts-v1/; 5 #include "dt-bindings/clock/microchip,mpfs-clock.h" 8 #address-cells = <2>; 9 #size-cells = <2>; 14 #address-cells = <1>; 15 #size-cells = <0>; 20 i-cache-block-size = <64>; 21 i-cache-sets = <128>; [all …]
|
/openbmc/linux/arch/riscv/boot/dts/starfive/ |
H A D | jh7100.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 7 /dts-v1/; 8 #include <dt-bindings/clock/starfive-jh7100.h> 9 #include <dt-bindings/reset/starfive-jh7100.h> 13 #address-cells = <2>; 14 #size-cells = <2>; 17 #address-cells = <1>; 18 #size-cells = <0>; 21 compatible = "sifive,u74-mc", "riscv"; 23 d-cache-block-size = <64>; [all …]
|
H A D | jh7110.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 7 /dts-v1/; 8 #include <dt-bindings/clock/starfive,jh7110-crg.h> 9 #include <dt-bindings/power/starfive,jh7110-pmu.h> 10 #include <dt-bindings/reset/starfive,jh7110-crg.h> 11 #include <dt-bindings/thermal/thermal.h> 15 #address-cells = <2>; 16 #size-cells = <2>; 19 #address-cells = <1>; 20 #size-cells = <0>; [all …]
|
/openbmc/linux/arch/powerpc/boot/dts/ |
H A D | microwatt.dts | 1 /dts-v1/; 4 #size-cells = <0x02>; 5 #address-cells = <0x02>; 6 model-name = "microwatt"; 7 compatible = "microwatt-soc"; 13 reserved-memory { 14 #size-cells = <0x02>; 15 #address-cells = <0x02>; 26 #clock-cells = <0>; 27 compatible = "fixed-clock"; [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/riscv/ |
H A D | cpus.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR MIT) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: RISC-V CPUs 10 - Paul Walmsley <paul.walmsley@sifive.com> 11 - Palmer Dabbelt <palmer@sifive.com> 12 - Conor Dooley <conor@kernel.org> 15 This document uses some terminology common to the RISC-V community 19 mandated by the RISC-V ISA: a PC and some registers. This 27 - $ref: /schemas/cpu.yaml# [all …]
|
/openbmc/qemu/target/xtensa/core-dsp3400/ |
H A D | core-matmap.h | 2 * xtensa/config/core-matmap.h -- Memory access and translation mapping 10 * information contained in the core-isa.h header file. 19 * XCHAL_ICACHE_SIZE (presence of I-cache) 20 * XCHAL_DCACHE_SIZE (presence of D-cache) 25 /* Copyright (c) 1999-2010 Tensilica Inc. 49 /*---------------------------------------------------------------------- 51 ----------------------------------------------------------------------*/ 54 /* Cache Attribute encodings -- lists of access modes for each cache attribute: */ 112 #define XCHAL_CA_WRITETHRU 1 /* cache enabled (write-through) mode */ 113 #define XCHAL_CA_WRITEBACK 4 /* cache enabled (write-back) mode */ [all …]
|
/openbmc/u-boot/doc/ |
H A D | README.mpc85xx | 2 ---------------------- 7 - MSR[DE] must be set 8 - A valid opcode must be fetchable, through the MMU, from the debug 11 To maximize the time during which this requirement is met, U-Boot sets MSR[DE] 12 immediately on entry and keeps it set. It also uses a temporary TLB to keep a 15 where U-Boot currently executes from. 21 ---------------- 26 ---------------------------------------------- 40 TLB Entries during u-boot execution 41 ----------------------------------- [all …]
|
/openbmc/linux/arch/arc/mm/ |
H A D | tlb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * TLB Management (flush/create/diagnostics) for MMUv3 and MMUv4 5 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) 22 unsigned int ver, pg_sz_k, s_pg_sz_m, pae, sets, ways; member 26 * Utility Routine to erase a J-TLB entry 63 /* Locate the TLB entry for this vaddr + ASID */ in tlb_entry_erase() 82 * This also sets up PD0 (vaddr, ASID..) for final commit in tlb_entry_insert() 89 * with existing location. This will cause Write CMD to over-write in tlb_entry_insert() 95 /* setup the other half of TLB entry (pfn, rwx..) */ in tlb_entry_insert() 101 * which doesn't flush uTLBs. I'd rather be safe than sorry. in tlb_entry_insert() [all …]
|
/openbmc/linux/arch/powerpc/kernel/ |
H A D | setup_64.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 37 #include <asm/asm-prototypes.h> 63 #include <asm/code-patching.h> 68 #include <asm/feature-fixups.h> 101 * If we boot via kdump on a non-primary thread, in setup_tlb_core_data() 103 * set up this TLB. in setup_tlb_core_data() 108 paca_ptrs[cpu]->tcd_ptr = &paca_ptrs[first]->tcd; in setup_tlb_core_data() 112 * or e6500 tablewalk mode, or else TLB handlers in setup_tlb_core_data() 127 /* Look for ibm,smt-enabled OF option */ 154 smt_option = of_get_property(dn, "ibm,smt-enabled", in check_smt_enabled() [all …]
|
/openbmc/qemu/target/s390x/ |
H A D | mmu_helper.c | 19 #include "qemu/error-report.h" 20 #include "exec/address-spaces.h" 22 #include "s390x-internal.h" 26 #include "exec/exec-all.h" 27 #include "exec/page-protection.h" 29 #include "hw/s390x/storage-keys.h" 46 stq_phys(cs->as, env->psa + offsetof(LowCore, trans_exc_code), tec); in trigger_access_exception() 52 /* check whether the address would be proteted by Low-Address Protection */ 58 /* check whether Low-Address Protection is enabled for mmu_translate() */ 61 if (!(env->cregs[0] & CR0_LOWPROT)) { in lowprot_enabled() [all …]
|
/openbmc/linux/arch/powerpc/include/asm/nohash/32/ |
H A D | pte-44x.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 9 * Because of the 3 word TLB entries to support 36-bit addressing, 11 * are easily loaded during exception processing. I decided to 16 * ERPN fields in the TLB. -Matt 19 * easier to move into the TLB from the PTE. -BenH. 25 * PPC 440 core has following TLB attribute fields; 29 * RPN................................. - - - - - - ERPN....... 33 * - - - - - - U0 U1 U2 U3 W I M G E - UX UW UR SX SW SR 43 * into TLB entry. 45 * - PRESENT *must* be in the bottom three bits because swap cache [all …]
|
/openbmc/linux/arch/mips/kvm/ |
H A D | tlb.c | 6 * KVM/MIPS TLB handling, this file is part of the Linux host kernel so that 7 * TLB handlers run from KSEG0 26 #include <asm/tlb.h> 42 struct mm_struct *gpa_mm = &vcpu->kvm->arch.gpa_mm; in kvm_mips_get_root_asid() 79 * clear_root_gid() - Set GuestCtl1.RID for normal root operation. 90 * set_root_gid_to_guest_gid() - Set GuestCtl1.RID to match GuestCtl1.ID. 92 * Sets the root GuestID to match the current guest GuestID, for TLB operation 93 * on the GPA->RPA mappings in the root TLB. 96 * possibly longer if TLB registers are modified. 121 /* Set root GuestID for root probe and write of guest TLB entry */ in kvm_vz_host_tlb_inv() [all …]
|
/openbmc/linux/include/asm-generic/ |
H A D | tlb.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* include/asm-generic/tlb.h 4 * Generic TLB shootdown code 32 * Generic MMU-gather implementation. 35 * correct and efficient ordering of freeing pages and TLB invalidations. 40 * 2) TLB invalidate page 49 * - tlb_gather_mmu() / tlb_gather_mmu_fullmm() / tlb_finish_mmu() 53 * Finish in particular will issue a (final) TLB invalidate and free 56 * - tlb_start_vma() / tlb_end_vma(); marks the start / end of a VMA 61 * - tlb_remove_table() [all …]
|
/openbmc/linux/arch/parisc/include/asm/ |
H A D | ropes.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 #include <asm/parisc-device.h> 8 /* "low end" PA8800 machines use ZX1 chipset: PAT PDC and only run 64-bit */ 30 void __iomem *ioc_hpa; /* I/O MMU base address */ 33 unsigned long ibase; /* pdir IOV Space base - shared w/lba_pci */ 34 unsigned long imask; /* pdir IOV Space mask - shared w/lba_pci */ 38 unsigned long *res_hint; /* next avail IOVP - circular search */ 85 unsigned int num_ioc; /* number of on-board IOC's */ 99 return d->id.hversion == ASTRO_RUNWAY_PORT; in IS_ASTRO() 103 return d->id.hversion == IKE_MERCED_PORT; in IS_IKE() [all …]
|
/openbmc/linux/arch/powerpc/mm/ |
H A D | init_32.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 9 * PPC44x/36-bit changes by Matt Porter (mporter@mvista.com) 37 #include <asm/tlb.h> 46 /* The amount of lowmem must be within 0xF0000000 - KERNELBASE. */ 47 #if (CONFIG_LOWMEM_SIZE > (0xF0000000 - PAGE_OFFSET)) 76 * MMU_init sets up the basic memory mappings for the kernel, 77 * including both RAM and possibly some I/O regions, 78 * and sets up the page tables and the MMU hardware ready to go. 85 total_lowmem = total_memory = memblock_end_of_DRAM() - memstart_addr; in MMU_init() [all …]
|
/openbmc/linux/arch/openrisc/mm/ |
H A D | tlb.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * OpenRISC tlb.c 11 * Copyright (C) 2010-2011 Julius Baxter <julius.baxter@orsoc.se> 12 * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> 29 #define NO_CONTEXT -1 35 #define DTLB_OFFSET(addr) (((addr) >> PAGE_SHIFT) & (NUM_DTLB_SETS-1)) 36 #define ITLB_OFFSET(addr) (((addr) >> PAGE_SHIFT) & (NUM_ITLB_SETS-1)) 38 * Invalidate all TLB entries. 48 int i; in local_flush_tlb_all() local 51 /* Determine number of sets for IMMU. */ in local_flush_tlb_all() [all …]
|
/openbmc/qemu/include/exec/ |
H A D | exec-all.h | 28 #include "exec/mmu-access-type.h" 29 #include "exec/translation-block.h" 30 #include "qemu/clang-tsa.h" 46 return (int32_t)qatomic_read(&cpu->neg.icount_decr.u32) < 0; in cpu_loop_exit_requested() 52 * tlb_init - initialize a CPU's TLB 53 * @cpu: CPU whose TLB should be initialized 57 * tlb_destroy - destroy a CPU's TLB 58 * @cpu: CPU whose TLB should be destroyed 63 * @cpu: CPU whose TLB should be flushed 66 * Flush one page from the TLB of the specified CPU, for all [all …]
|
/openbmc/linux/arch/powerpc/mm/book3s64/ |
H A D | radix_tlb.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * TLB flush routines for radix kernels. 5 * Copyright 2015-2016, Aneesh Kumar K.V, IBM Corporation. 15 #include <asm/ppc-opcode.h> 16 #include <asm/tlb.h> 26 * i.e., r=1 and is=01 or is=10 or is=11 39 : : "r"(rb), "r"(rs), "i"(ric), "i"(prs) in tlbiel_radix_set_isa300() 50 * Flush the first set of the TLB, and the entire Page Walk Cache in tlbiel_all_isa300() 51 * and partition table entries. Then flush the remaining sets of the in tlbiel_all_isa300() 52 * TLB. in tlbiel_all_isa300() [all …]
|
/openbmc/linux/arch/arm/mm/ |
H A D | proc-arm720.S | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * linux/arch/arm/mm/proc-arm720.S: MMU functions for ARM720 8 * hacked for non-paged-MM by Hyok S. Choi, 2004. 10 * These are the low level assembler for performing cache and TLB 15 * 05-09-2000 SJH Created by moving 720 specific functions 16 * out of 'proc-arm6,7.S' per RMK discussion 17 * 07-25-2000 SJH Added idle function. 18 * 08-25-2000 DBS Updated for integration of ARM Ltd version. 19 * 04-20-2004 HSC modified for non-paged memory management mode. 25 #include <asm/asm-offsets.h> [all …]
|
/openbmc/linux/arch/powerpc/kvm/ |
H A D | e500_mmu_host.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2008-2013 Freescale Semiconductor, Inc. All rights reserved. 30 #include <asm/pte-walk.h> 38 #define to_htlb1_esel(esel) (host_tlb_params[1].entries - (esel) - 1) 45 return host_tlb_params[1].entries - tlbcam_index - in tlb1_max_shadow_size() 280 int i; clear_tlb_privs() local [all...] |
/openbmc/linux/arch/x86/mm/ |
H A D | pgtable.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <asm/tlb.h> 11 phys_addr_t physical_mask __ro_after_init = (1ULL << __PHYSICAL_MASK_SHIFT) - 1; 23 void paravirt_tlb_remove_table(struct mmu_gather *tlb, void *table) in paravirt_tlb_remove_table() argument 25 tlb_remove_page(tlb, table); in paravirt_tlb_remove_table() 39 return -EINVAL; in setup_userpte() 48 return -EINVAL; in setup_userpte() 53 void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte) in ___pte_free_tlb() argument 57 paravirt_tlb_remove_table(tlb, pte); in ___pte_free_tlb() 61 void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd) in ___pmd_free_tlb() argument [all …]
|
/openbmc/libcper/generator/sections/ |
H A D | gen-section-arm.c | 2 * Functions for generating pseudo-random CPER ARM processor sections. 11 #include <libcper/generator/gen-utils.h> 12 #include <libcper/generator/sections/gen-section.h> 18 //Generates a single pseudo-random ARM processor section, saving the resulting address to the given 31 for (int i = 0; i < error_structure_num; i++) { in generate_section_arm() local 32 error_structures[i] = generate_arm_error_info(validBitsType); in generate_section_arm() 34 for (int i = 0; i < context_structure_num; i++) { in generate_section_arm() local 35 context_structure_lengths[i] = in generate_section_arm() 36 generate_arm_context_info(context_structures + i); in generate_section_arm() 44 for (int i = 0; i < context_structure_num; i++) { in generate_section_arm() local [all …]
|
/openbmc/linux/Documentation/arch/x86/x86_64/ |
H A D | boot-options.rst | 1 .. SPDX-License-Identifier: GPL-2.0 22 due to the shared banks, i.e. you might get duplicated 39 Do not opt-in to Local MCE delivery. Use legacy method 52 Sets the time in us to wait for other CPUs on machine checks. 0 55 Don't overwrite the bios-set CMCI threshold. This boot option 57 bios. Without this option, Linux always sets the CMCI 59 analysis less effective if the bios sets thresholds for memory 62 Force-enable recoverable machine check code paths 73 Use IO-APIC. Default 76 Don't use the IO-APIC. [all …]
|