/linux/Documentation/devicetree/bindings/interrupt-controller/ |
H A D | intel,ce4100-ioapic.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/interrupt-controller/intel,ce4100-ioapic.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Rahul Tanwar <rtanwar@maxlinear.com> 13 Intel's Advanced Programmable Interrupt Controller (APIC) is a 14 family of interrupt controllers. The APIC is a split 15 architecture design, with a local component (LAPIC) integrated 28 [1] https://pdos.csail.mit.edu/6.828/2008/readings/ia32/IA32-3A.pdf 32 const: intel,ce4100-ioapic [all …]
|
H A D | intel,ce4100-lapic.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/interrupt-controller/intel,ce4100-lapic.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Rahul Tanwar <rtanwar@maxlinear.com> 13 Intel's Advanced Programmable Interrupt Controller (APIC) is a 14 family of interrupt controllers. The APIC is a split 15 architecture design, with a local component (LAPIC) integrated 28 [1] https://pdos.csail.mit.edu/6.828/2008/readings/ia32/IA32-3A.pdf 32 const: intel,ce4100-lapic [all …]
|
/linux/arch/x86/include/asm/ |
H A D | ftrace.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 39 if (is_endbr((void*)(fentry_ip - ENDBR_INSN_SIZE))) in arch_ftrace_get_symaddr() 40 fentry_ip -= ENDBR_INSN_SIZE; in arch_ftrace_get_symaddr() 54 if (!arch_ftrace_regs(fregs)->regs.cs) in arch_ftrace_get_regs() 56 return &arch_ftrace_regs(fregs)->regs; in arch_ftrace_get_regs() 60 (_regs)->ip = arch_ftrace_regs(fregs)->regs.ip; \ 61 (_regs)->sp = arch_ftrace_regs(fregs)->regs.sp; \ 62 (_regs)->cs = __KERNEL_CS; \ 63 (_regs)->flags = 0; \ 67 do { arch_ftrace_regs(fregs)->regs.ip = (_ip); } while (0) [all …]
|
H A D | entry-common.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 6 #include <linux/user-return-notifier.h> 8 #include <asm/nospec-branch.h> 18 * Make sure that the entry code gave us a sensible EFLAGS in arch_enter_from_user_mode() 74 * handling, because syscall restart has a fixup for compat in arch_exit_to_user_mode_prepare() 78 * We also need to clear TS_REGS_POKED_I386: the 32-bit tracer in arch_exit_to_user_mode_prepare() 82 current_thread_info()->status &= ~(TS_COMPAT | TS_I386_REGS_POKED); in arch_exit_to_user_mode_prepare() 89 * arch/x86/Makefile), which will remove the 3 (x86_64) or 2 (ia32) in arch_exit_to_user_mode_prepare() 93 * 8 (ia32) bits. in arch_exit_to_user_mode_prepare()
|
H A D | elf.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 #include <asm/ia32.h> 28 #define R_386_GOT32 3 47 /* x86-64 relocation types */ 51 #define R_X86_64_GOT32 3 /* 32 bit GOT entry */ 66 #define R_X86_64_PC64 24 /* Place relative 64-bit signed */ 86 (((x)->e_machine == EM_386) || ((x)->e_machine == EM_486)) 95 /* SVR4/i386 ABI (pages 3-31, 3-32) says that when the program starts %edx 96 contains a pointer to a function which might be registered using `atexit'. 97 This provides a mean for the dynamic linker to call DT_FINI functions for [all …]
|
H A D | cpufeatures.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 #define NCAPINTS 22 /* N 32-bit words worth of info */ 9 #define NBUGINTS 2 /* N 32-bit bug flags */ 12 * Note: If the comment begins with a quoted string, that string is used 17 * please update the table in kernel/cpu/cpuid-deps.c as well. 20 /* Intel-defined CPU features, CPUID level 0x00000001 (EDX), word 0 */ 24 #define X86_FEATURE_PSE ( 0*32+ 3) /* "pse" Page Size Extensions */ 26 #define X86_FEATURE_MSR ( 0*32+ 5) /* "msr" Model-Specific Registers */ 37 #define X86_FEATURE_PSE36 ( 0*32+17) /* "pse36" 36-bit PSEs */ 47 #define X86_FEATURE_HT ( 0*32+28) /* "ht" Hyper-Threading */ [all …]
|
/linux/arch/x86/mm/ |
H A D | pf_in.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 18 /* IA32 Manual 3, 2-1 */ 23 /* IA32 Manual 3, 3-432*/ 29 /* IA32 Manual 3, 3-432*/ 46 /* AMD64 Manual 3, Appendix A*/ 77 prf->shorted = 0; in skip_prefix() 78 prf->enlarged = 0; in skip_prefix() 79 prf->rexr = 0; in skip_prefix() 80 prf->rex = 0; in skip_prefix() 86 prf->shorted = 1; in skip_prefix() [all …]
|
/linux/include/linux/ |
H A D | cper.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 29 * handling of a memory error in userspace (we don't carry all the fields 31 * Currently, a length of 256 should be more than enough. 80 /* Non-Maskable Interrupt */ 100 * CXL rev 3.0 Section 8.2.9.2.1.1; Table 8-43 107 * CXL rev 3.0 section 8.2.9.2.1.2; Table 8-44 114 * CXL rev 3.0 section 8.2.9.2.1.3; Table 8-45 157 /* If set, the component must be re-initialized or re-enabled prior to use */ 208 /* PCI/PCI-X Bus */ 282 #define CPER_PCIE_SLOT_SHIFT 3 [all …]
|
/linux/drivers/firmware/efi/ |
H A D | cper.c | 1 // SPDX-License-Identifier: GPL-2.0 32 * multiple boot may co-exist in ERST. 43 * but just in case, let's use a few more bits for timestamps in cper_next_record_id() 73 * cper_print_bits - print strings for set bits 103 len += scnprintf(buf+len, sizeof(buf)-len, ", %s", str); in cper_print_bits() 110 "IA32/X64", 116 "IA32", 127 "micro-architectural error", 147 if (proc->validation_bits & CPER_PROC_VALID_TYPE) in cper_print_proc_generic() 148 printk("%s""processor_type: %d, %s\n", pfx, proc->proc_type, in cper_print_proc_generic() [all …]
|
/linux/include/linux/netfilter/ |
H A D | nf_conntrack_h323_asn1.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 9 * necessary objects in a signal for Linux kernel NAT module use, so don't 10 * expect it to be a full ASN.1 library. 14 * 1. Small. The total size of code plus data is less than 20 KB (IA32). 15 * 2. Fast. Decoding Netmeeting's Setup signal 1 million times on a PIII 866 17 * 3. No memory allocation. It uses a static object. No need to initialize or 26 * If a Setup signal contains more than 30 faststart, the packet size will 28 * don't know how to handle this in a Netfilter module. Anybody can help? 83 #define H323_ERROR_BOUND -1 84 #define H323_ERROR_RANGE -2
|
/linux/include/acpi/ |
H A D | actbl1.h | 1 /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */ 4 * Name: actbl1.h - Additional ACPI table definitions 6 * Copyright (C) 2000 - 2025, Intel Corp. 71 * All tables must be byte-packed to match the ACPI specification, since 81 * essentially useless for dealing with packed data in on-disk formats or 83 * this decision was a design error in C. Ritchie could have picked an order 85 * See http://stackoverflow.com/a/1053662/41661 113 /* https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/acpitabl/ns-acpitabl-aspt_table */ 144 u8 reserved[3]; 167 * ASF - Alert Standard Format table (Signature "ASF!") [all …]
|
/linux/Documentation/ |
H A D | Changes | 9 This document is designed to provide a list of the minimum levels of 21 encountered a bug! If you're unsure what version you're currently 25 running a Linux kernel. Also, not all tools are necessary on all 32 GNU C 8.1 gcc --version 33 Clang/LLVM (optional) 15.0.0 clang --version 34 Rust (optional) 1.78.0 rustc --version 35 bindgen (optional) 0.65.1 bindgen - [all...] |
/linux/arch/x86/kernel/ |
H A D | idt.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include <asm/ia32.h> 53 G(_vector, NULL, DEFAULT_STACK, GATE_TASK, DPL0, _gdt << 3) 69 * Not possible on 64-bit. See idt_setup_early_pf() for details. 172 /* Must be page-aligned because the real IDT is used in the cpu entry area */ 176 .size = IDT_TABLE_SIZE - 1, 189 return ((address - idt_descr.address) >> 3) == 6; in idt_is_f00f_address() 198 for (; size > 0; t++, size--) { in idt_setup_from_table() 200 write_idt_entry(idt, t->vector, &desc); in idt_setup_from_table() 202 set_bit(t->vector, system_vectors); in idt_setup_from_table() [all …]
|
H A D | signal_32.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * 1997-11-28 Modified for POSIX.1b signals by Richard Henderson 6 * 2000-06-20 Pentium III FXSR, SSE support by Gareth Hughes 7 * 2000-12-* x86-64 compatibility mode signal handling by Andi Kleen 38 * and 1 of a segment selector, i.e., the RPL bits, are NOT used to index 39 * GDT, selector values 0~3 all point to the NULL descriptor, thus values 40 * 0, 1, 2 and 3 are all valid NULL selector values. 44 * userspace in pre-FRED systems to spot any interrupt/exception by loading 45 * a nonzero NULL selector and waiting for it to become zero. Before FRED 52 * As such, leave NULL selector values 0~3 unchanged. [all …]
|
H A D | process_64.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 * X86-64 port 11 * CPU hotplug support - ashok.raj@intel.com 15 * This file handles the architecture-dependent parts of process handling.. 51 #include <asm/ia32.h> 79 if (regs->orig_ax != -1) in __show_regs() 80 pr_cont(" ORIG_RAX: %016lx\n", regs->orig_ax); in __show_regs() 85 log_lvl, regs->ax, regs->bx, regs->cx); in __show_regs() 87 log_lvl, regs->dx, regs->si, regs->di); in __show_regs() 89 log_lvl, regs->bp, regs->r8, regs->r9); in __show_regs() [all …]
|
H A D | ptrace.c | 1 // SPDX-License-Identifier: GPL-2.0-only 119 * regs_query_register_offset() - query register offset from its name 120 * @name: the name of a register 122 * regs_query_register_offset() returns the offset of a register in struct 123 * pt_regs from its name. If the name is invalid, this returns -EINVAL; 128 for (roff = regoffset_table; roff->name != NULL; roff++) in regs_query_register_offset() 129 if (!strcmp(roff->name, name)) in regs_query_register_offset() 130 return roff->offset; in regs_query_register_offset() 131 return -EINVAL; in regs_query_register_offset() 135 * regs_query_register_name() - query register name from its offset [all …]
|
/linux/arch/x86/net/ |
H A D | bpf_jit_comp32.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Just-In-Time compiler for eBPF filters on IA32 (32bit x86) 17 #include <asm/nospec-branch.h> 18 #include <asm/asm-prototypes.h> 25 * original ESP => +-----+ 27 * +-----+ 29 * BPF_FP,IA32_EBP => +-----+ 31 * +-----+ 33 * current ESP => +-----+ 37 * +-----+ [all …]
|
/linux/Documentation/core-api/ |
H A D | cachetlb.rst | 12 The side effects described below are stated for a uniprocessor 14 SMP cases are a simple extension, in that you just extend the 15 definition such that the side effect for a particular interface occurs 19 if it can be proven that a user address space has never executed 20 on a cpu (see mm_cpumask()), one need not perform a flush 25 virtual-->physical address translations obtained from the software 53 3) ``void flush_tlb_range(struct vm_area_struct *vma, 56 Here we are flushing a specific range of (user) virtual 59 modifications for the address space 'vma->vm_mm' in the range 60 'start' to 'end-1' will be visible to the cpu. That is, after [all …]
|
/linux/sound/core/ |
H A D | control_compat.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 31 return -EFAULT; in snd_ctl_elem_list_compat() 33 if (get_user(ptr, &data32->pids)) in snd_ctl_elem_list_compat() 34 return -EFAULT; in snd_ctl_elem_list_compat() 41 return -EFAULT; in snd_ctl_elem_list_compat() 82 struct snd_card *card = ctl->card; in snd_ctl_elem_info_compat() 88 return -ENOMEM; in snd_ctl_elem_info_compat() 91 if (copy_from_user(&data->id, &data32->id, sizeof(data->id))) in snd_ctl_elem_info_compat() 92 return -EFAULT; in snd_ctl_elem_info_compat() 96 if (get_user(data->value.enumerated.item, &data32->value.enumerated.item)) in snd_ctl_elem_info_compat() [all …]
|
/linux/tools/arch/x86/include/asm/ |
H A D | cpufeatures.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 #define NCAPINTS 22 /* N 32-bit words worth of info */ 9 #define NBUGINTS 2 /* N 32-bit bug flags */ 12 * Note: If the comment begins with a quoted string, that string is used 17 * please update the table in kernel/cpu/cpuid-deps.c as well. 20 /* Intel-defined CPU features, CPUID level 0x00000001 (EDX), word 0 */ 24 #define X86_FEATURE_PSE ( 0*32+ 3) /* "pse" Page Size Extensions */ 26 #define X86_FEATURE_MSR ( 0*32+ 5) /* "msr" Model-Specific Registers */ 37 #define X86_FEATURE_PSE36 ( 0*32+17) /* "pse36" 36-bit PSEs */ 47 #define X86_FEATURE_HT ( 0*32+28) /* "ht" Hyper-Threading */ [all …]
|
/linux/drivers/misc/lkdtm/ |
H A D | bugs.c | 1 // SPDX-License-Identifier: GPL-2.0 28 * a compiler warning when CONFIG_FRAME_WARN is set. Then make sure we 44 * - function marked noinline 45 * - stack variables are marked volatile 46 * - stack variables are written (memset()) and read (buf[..] passed as arg) 47 * - function may have external effects (memzero_explicit()) 48 * - no tail recursion possible 59 ret = recursive_loop((int)buf[remaining % sizeof(buf)] - 1); in recursive_loop() 84 * have interrupts disabled and cannot take a regular IPI. in panic_stop_irqoff_fn() 86 * The last CPU which enters here will trigger a panic, and as all CPUs in panic_stop_irqoff_fn() [all …]
|
/linux/drivers/platform/x86/ |
H A D | intel_scu_ipc.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * (C) Copyright 2008-2010,2015 Intel Corporation 10 * SCU has two IPC mechanism IPC-1 and IPC-2. IPC-1 is used between IA32 and 11 * SCU where IPC-2 is used between P-Unit and SCU. This driver delas with 12 * IPC-1 Driver provides an API for power control unit registers (e.g. MSIC) 35 #define IPC_CMD_PCNTRL_M 2 /* Register read-modify-write */ 41 * To read or write information to the SCU, driver writes to IPC-1 memory 44 * 1. IA core cDMI interface claims this transaction and converts it to a 48 * the IPC-1 register block, causing an interrupt to the SCU 50 * 3. SCU firmware decodes this interrupt and IPC message and the appropriate [all …]
|
/linux/arch/x86/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 4 bool "64-bit kernel" if "$(ARCH)" = "x86" 7 Say yes to build a 64-bit kernel - formerly known as x86_64 8 Say no to build a 32-bit kernel - formerly known as i386 13 # Options that are inherently 32-bit kernel only: 26 # Options that are inherently 64-bit kernel only: 56 # ported to 32-bit as well. ) 158 # Word-size accesses may read uninitialized data past the trailing \0 342 default "elf32-i386" if X86_32 343 default "elf64-x86-64" if X86_64 [all …]
|
/linux/arch/x86/coco/tdx/ |
H A D | tdx.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright (C) 2021-2022 Intel Corporation */ 14 #include <asm/ia32.h> 16 #include <asm/insn-eval.h> 31 #define VE_IS_IO_IN(e) ((e) & BIT(3)) 37 #define TDCALL_RETURN_CODE(a) ((a) >> 32) argument 80 /* Read TD-scoped metadata */ 94 /* Write TD-scoped metadata */ 107 * tdx_mcall_get_report0() - Wrapper to get TDREPORT0 (a.k.a. TDREPORT 109 * @reportdata: Address of the input buffer which contains user-defined [all …]
|
/linux/arch/x86/events/ |
H A D | core.c | 5 * Copyright (C) 2008-2009 Red Hat, Inc., Ingo Molnar 8 * Copyright (C) 2008-2009 Red Hat, Inc., Peter Zijlstra 12 * For licencing details see kernel-base/COPYING 63 * This here uses DEFINE_STATIC_CALL_NULL() to get a static_call defined 64 * from just a typename, as opposed to an actual function. 126 struct hw_perf_event *hwc = &event->hw; in x86_perf_event_update() 127 int shift = 64 - x86_pmu.cntval_bits; in x86_perf_event_update() 131 if (unlikely(!hwc->event_base)) in x86_perf_event_update() 138 * exchange a new raw count - then add that new-prev delta in x86_perf_event_update() 141 prev_raw_count = local64_read(&hwc->prev_count); in x86_perf_event_update() [all …]
|