[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.20
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
src
/
kernels
/
4.18.0-553.56.1.el8_10.x86_64
/
arch
/
x86
/
include
/
asm
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 crypto
SET
[ DEL ]
📁 e820
SET
[ DEL ]
📁 fpu
SET
[ DEL ]
📁 numachip
SET
[ DEL ]
📁 shared
SET
[ DEL ]
📁 trace
SET
[ DEL ]
📁 uv
SET
[ DEL ]
📁 vdso
SET
[ DEL ]
📁 xen
SET
[ DEL ]
📄 Kbuild
319 B
SET
[ EDIT ]
|
[ DEL ]
📄 a.out-core.h
1,931 B
SET
[ EDIT ]
|
[ DEL ]
📄 acenv.h
1,596 B
SET
[ EDIT ]
|
[ DEL ]
📄 acpi.h
5,225 B
SET
[ EDIT ]
|
[ DEL ]
📄 agp.h
1,070 B
SET
[ EDIT ]
|
[ DEL ]
📄 alternative.h
11,407 B
SET
[ EDIT ]
|
[ DEL ]
📄 amd-ibs.h
5,020 B
SET
[ EDIT ]
|
[ DEL ]
📄 amd_hsmp.h
364 B
SET
[ EDIT ]
|
[ DEL ]
📄 amd_nb.h
3,086 B
SET
[ EDIT ]
|
[ DEL ]
📄 apb_timer.h
1,466 B
SET
[ EDIT ]
|
[ DEL ]
📄 apic.h
14,661 B
SET
[ EDIT ]
|
[ DEL ]
📄 apic_flat_64.h
151 B
SET
[ EDIT ]
|
[ DEL ]
📄 apicdef.h
11,565 B
SET
[ EDIT ]
|
[ DEL ]
📄 apm.h
1,768 B
SET
[ EDIT ]
|
[ DEL ]
📄 arch_hweight.h
1,311 B
SET
[ EDIT ]
|
[ DEL ]
📄 archrandom.h
3,221 B
SET
[ EDIT ]
|
[ DEL ]
📄 asm-offsets.h
35 B
SET
[ EDIT ]
|
[ DEL ]
📄 asm-prototypes.h
946 B
SET
[ EDIT ]
|
[ DEL ]
📄 asm.h
5,186 B
SET
[ EDIT ]
|
[ DEL ]
📄 atomic.h
6,279 B
SET
[ EDIT ]
|
[ DEL ]
📄 atomic64_32.h
8,150 B
SET
[ EDIT ]
|
[ DEL ]
📄 atomic64_64.h
5,933 B
SET
[ EDIT ]
|
[ DEL ]
📄 audit.h
170 B
SET
[ EDIT ]
|
[ DEL ]
📄 barrier.h
2,471 B
SET
[ EDIT ]
|
[ DEL ]
📄 bios_ebda.h
914 B
SET
[ EDIT ]
|
[ DEL ]
📄 bitops.h
10,727 B
SET
[ EDIT ]
|
[ DEL ]
📄 boot.h
1,825 B
SET
[ EDIT ]
|
[ DEL ]
📄 bootparam_utils.h
2,907 B
SET
[ EDIT ]
|
[ DEL ]
📄 bug.h
2,117 B
SET
[ EDIT ]
|
[ DEL ]
📄 bugs.h
533 B
SET
[ EDIT ]
|
[ DEL ]
📄 cache.h
641 B
SET
[ EDIT ]
|
[ DEL ]
📄 cacheflush.h
306 B
SET
[ EDIT ]
|
[ DEL ]
📄 cacheinfo.h
209 B
SET
[ EDIT ]
|
[ DEL ]
📄 calgary.h
2,370 B
SET
[ EDIT ]
|
[ DEL ]
📄 ce4100.h
121 B
SET
[ EDIT ]
|
[ DEL ]
📄 checksum.h
133 B
SET
[ EDIT ]
|
[ DEL ]
📄 checksum_32.h
4,964 B
SET
[ EDIT ]
|
[ DEL ]
📄 checksum_64.h
5,541 B
SET
[ EDIT ]
|
[ DEL ]
📄 clocksource.h
480 B
SET
[ EDIT ]
|
[ DEL ]
📄 cmdline.h
302 B
SET
[ EDIT ]
|
[ DEL ]
📄 cmpxchg.h
7,891 B
SET
[ EDIT ]
|
[ DEL ]
📄 cmpxchg_32.h
3,247 B
SET
[ EDIT ]
|
[ DEL ]
📄 cmpxchg_64.h
552 B
SET
[ EDIT ]
|
[ DEL ]
📄 coco.h
482 B
SET
[ EDIT ]
|
[ DEL ]
📄 compat.h
4,861 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpu.h
2,607 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpu_device_id.h
8,109 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpu_entry_area.h
4,162 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpufeature.h
9,470 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpufeatures.h
32,633 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpuid.h
498 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpuidle_haltpoll.h
189 B
SET
[ EDIT ]
|
[ DEL ]
📄 cpumask.h
408 B
SET
[ EDIT ]
|
[ DEL ]
📄 crash.h
300 B
SET
[ EDIT ]
|
[ DEL ]
📄 current.h
443 B
SET
[ EDIT ]
|
[ DEL ]
📄 debugreg.h
3,411 B
SET
[ EDIT ]
|
[ DEL ]
📄 delay.h
275 B
SET
[ EDIT ]
|
[ DEL ]
📄 desc.h
12,274 B
SET
[ EDIT ]
|
[ DEL ]
📄 desc_defs.h
3,396 B
SET
[ EDIT ]
|
[ DEL ]
📄 device.h
328 B
SET
[ EDIT ]
|
[ DEL ]
📄 disabled-features.h
3,559 B
SET
[ EDIT ]
|
[ DEL ]
📄 div64.h
2,189 B
SET
[ EDIT ]
|
[ DEL ]
📄 dma-mapping.h
288 B
SET
[ EDIT ]
|
[ DEL ]
📄 dma.h
9,827 B
SET
[ EDIT ]
|
[ DEL ]
📄 dmi.h
556 B
SET
[ EDIT ]
|
[ DEL ]
📄 dwarf2.h
2,487 B
SET
[ EDIT ]
|
[ DEL ]
📄 edac.h
474 B
SET
[ EDIT ]
|
[ DEL ]
📄 efi.h
7,416 B
SET
[ EDIT ]
|
[ DEL ]
📄 elf.h
12,640 B
SET
[ EDIT ]
|
[ DEL ]
📄 emergency-restart.h
202 B
SET
[ EDIT ]
|
[ DEL ]
📄 emulate_prefix.h
484 B
SET
[ EDIT ]
|
[ DEL ]
📄 enclu.h
181 B
SET
[ EDIT ]
|
[ DEL ]
📄 entry_arch.h
1,922 B
SET
[ EDIT ]
|
[ DEL ]
📄 espfix.h
426 B
SET
[ EDIT ]
|
[ DEL ]
📄 exec.h
37 B
SET
[ EDIT ]
|
[ DEL ]
📄 export.h
120 B
SET
[ EDIT ]
|
[ DEL ]
📄 extable.h
1,300 B
SET
[ EDIT ]
|
[ DEL ]
📄 fb.h
540 B
SET
[ EDIT ]
|
[ DEL ]
📄 fixmap.h
6,381 B
SET
[ EDIT ]
|
[ DEL ]
📄 floppy.h
6,748 B
SET
[ EDIT ]
|
[ DEL ]
📄 frame.h
2,237 B
SET
[ EDIT ]
|
[ DEL ]
📄 fsgsbase.h
2,072 B
SET
[ EDIT ]
|
[ DEL ]
📄 ftrace.h
2,777 B
SET
[ EDIT ]
|
[ DEL ]
📄 futex.h
2,269 B
SET
[ EDIT ]
|
[ DEL ]
📄 gart.h
2,682 B
SET
[ EDIT ]
|
[ DEL ]
📄 genapic.h
22 B
SET
[ EDIT ]
|
[ DEL ]
📄 geode.h
842 B
SET
[ EDIT ]
|
[ DEL ]
📄 hardirq.h
2,207 B
SET
[ EDIT ]
|
[ DEL ]
📄 highmem.h
2,466 B
SET
[ EDIT ]
|
[ DEL ]
📄 hpet.h
3,461 B
SET
[ EDIT ]
|
[ DEL ]
📄 hugetlb.h
1,867 B
SET
[ EDIT ]
|
[ DEL ]
📄 hw_breakpoint.h
2,112 B
SET
[ EDIT ]
|
[ DEL ]
📄 hw_irq.h
4,126 B
SET
[ EDIT ]
|
[ DEL ]
📄 hyperv-tlfs.h
22,337 B
SET
[ EDIT ]
|
[ DEL ]
📄 hypervisor.h
1,975 B
SET
[ EDIT ]
|
[ DEL ]
📄 i8259.h
1,975 B
SET
[ EDIT ]
|
[ DEL ]
📄 ia32.h
1,789 B
SET
[ EDIT ]
|
[ DEL ]
📄 ia32_unistd.h
313 B
SET
[ EDIT ]
|
[ DEL ]
📄 imr.h
1,849 B
SET
[ EDIT ]
|
[ DEL ]
📄 inat.h
6,736 B
SET
[ EDIT ]
|
[ DEL ]
📄 inat_types.h
1,013 B
SET
[ EDIT ]
|
[ DEL ]
📄 init.h
632 B
SET
[ EDIT ]
|
[ DEL ]
📄 insn-eval.h
1,546 B
SET
[ EDIT ]
|
[ DEL ]
📄 insn.h
8,098 B
SET
[ EDIT ]
|
[ DEL ]
📄 inst.h
5,453 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel-family.h
5,168 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel-mid.h
5,025 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_ds.h
849 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_mid_vrtc.h
330 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_pconfig.h
1,545 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_pmc_ipc.h
2,267 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_pt.h
1,276 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_punit_ipc.h
4,666 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_scu_ipc.h
2,351 B
SET
[ EDIT ]
|
[ DEL ]
📄 intel_telemetry.h
4,060 B
SET
[ EDIT ]
|
[ DEL ]
📄 invpcid.h
1,604 B
SET
[ EDIT ]
|
[ DEL ]
📄 io.h
11,872 B
SET
[ EDIT ]
|
[ DEL ]
📄 io_apic.h
5,890 B
SET
[ EDIT ]
|
[ DEL ]
📄 iomap.h
1,228 B
SET
[ EDIT ]
|
[ DEL ]
📄 iommu.h
935 B
SET
[ EDIT ]
|
[ DEL ]
📄 iosf_mbi.h
7,354 B
SET
[ EDIT ]
|
[ DEL ]
📄 ipi.h
2,873 B
SET
[ EDIT ]
|
[ DEL ]
📄 irq.h
1,415 B
SET
[ EDIT ]
|
[ DEL ]
📄 irq_regs.h
683 B
SET
[ EDIT ]
|
[ DEL ]
📄 irq_remapping.h
2,865 B
SET
[ EDIT ]
|
[ DEL ]
📄 irq_vectors.h
4,105 B
SET
[ EDIT ]
|
[ DEL ]
📄 irq_work.h
465 B
SET
[ EDIT ]
|
[ DEL ]
📄 irqdomain.h
1,796 B
SET
[ EDIT ]
|
[ DEL ]
📄 irqflags.h
4,161 B
SET
[ EDIT ]
|
[ DEL ]
📄 ist.h
735 B
SET
[ EDIT ]
|
[ DEL ]
📄 jailhouse_para.h
449 B
SET
[ EDIT ]
|
[ DEL ]
📄 jump_label.h
2,529 B
SET
[ EDIT ]
|
[ DEL ]
📄 kasan.h
1,291 B
SET
[ EDIT ]
|
[ DEL ]
📄 kaslr.h
314 B
SET
[ EDIT ]
|
[ DEL ]
📄 kbdleds.h
454 B
SET
[ EDIT ]
|
[ DEL ]
📄 kdebug.h
1,042 B
SET
[ EDIT ]
|
[ DEL ]
📄 kexec-bzimage64.h
195 B
SET
[ EDIT ]
|
[ DEL ]
📄 kexec.h
5,843 B
SET
[ EDIT ]
|
[ DEL ]
📄 kgdb.h
2,143 B
SET
[ EDIT ]
|
[ DEL ]
📄 kprobes.h
3,701 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm-x86-ops.h
3,989 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm_host.h
63,925 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm_page_track.h
2,700 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm_para.h
4,422 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm_types.h
178 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvm_vcpu_regs.h
606 B
SET
[ EDIT ]
|
[ DEL ]
📄 kvmclock.h
506 B
SET
[ EDIT ]
|
[ DEL ]
📄 linkage.h
1,268 B
SET
[ EDIT ]
|
[ DEL ]
📄 livepatch.h
1,039 B
SET
[ EDIT ]
|
[ DEL ]
📄 local.h
3,925 B
SET
[ EDIT ]
|
[ DEL ]
📄 local64.h
33 B
SET
[ EDIT ]
|
[ DEL ]
📄 mach_timer.h
1,590 B
SET
[ EDIT ]
|
[ DEL ]
📄 mach_traps.h
1,013 B
SET
[ EDIT ]
|
[ DEL ]
📄 math_emu.h
395 B
SET
[ EDIT ]
|
[ DEL ]
📄 mc146818rtc.h
2,835 B
SET
[ EDIT ]
|
[ DEL ]
📄 mce.h
11,909 B
SET
[ EDIT ]
|
[ DEL ]
📄 mcsafe_test.h
1,418 B
SET
[ EDIT ]
|
[ DEL ]
📄 mem_encrypt.h
3,543 B
SET
[ EDIT ]
|
[ DEL ]
📄 memtype.h
815 B
SET
[ EDIT ]
|
[ DEL ]
📄 microcode.h
3,557 B
SET
[ EDIT ]
|
[ DEL ]
📄 microcode_amd.h
1,373 B
SET
[ EDIT ]
|
[ DEL ]
📄 microcode_intel.h
2,619 B
SET
[ EDIT ]
|
[ DEL ]
📄 misc.h
143 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmconfig.h
374 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmu.h
1,689 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmu_context.h
10,118 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmx.h
337 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmzone.h
129 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmzone_32.h
1,188 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmzone_64.h
430 B
SET
[ EDIT ]
|
[ DEL ]
📄 module.h
2,096 B
SET
[ EDIT ]
|
[ DEL ]
📄 mpspec.h
4,023 B
SET
[ EDIT ]
|
[ DEL ]
📄 mpspec_def.h
4,256 B
SET
[ EDIT ]
|
[ DEL ]
📄 mpx.h
3,125 B
SET
[ EDIT ]
|
[ DEL ]
📄 mshyperv.h
10,142 B
SET
[ EDIT ]
|
[ DEL ]
📄 msi.h
1,508 B
SET
[ EDIT ]
|
[ DEL ]
📄 msidef.h
1,814 B
SET
[ EDIT ]
|
[ DEL ]
📄 msr-index.h
42,400 B
SET
[ EDIT ]
|
[ DEL ]
📄 msr-trace.h
1,387 B
SET
[ EDIT ]
|
[ DEL ]
📄 msr.h
11,290 B
SET
[ EDIT ]
|
[ DEL ]
📄 mtrr.h
4,753 B
SET
[ EDIT ]
|
[ DEL ]
📄 mwait.h
4,968 B
SET
[ EDIT ]
|
[ DEL ]
📄 nmi.h
1,496 B
SET
[ EDIT ]
|
[ DEL ]
📄 nops.h
4,412 B
SET
[ EDIT ]
|
[ DEL ]
📄 nospec-branch.h
14,158 B
SET
[ EDIT ]
|
[ DEL ]
📄 numa.h
2,228 B
SET
[ EDIT ]
|
[ DEL ]
📄 numa_32.h
256 B
SET
[ EDIT ]
|
[ DEL ]
📄 olpc.h
3,240 B
SET
[ EDIT ]
|
[ DEL ]
📄 olpc_ofw.h
1,128 B
SET
[ EDIT ]
|
[ DEL ]
📄 orc_lookup.h
1,665 B
SET
[ EDIT ]
|
[ DEL ]
📄 orc_types.h
3,577 B
SET
[ EDIT ]
|
[ DEL ]
📄 page.h
2,517 B
SET
[ EDIT ]
|
[ DEL ]
📄 page_32.h
1,039 B
SET
[ EDIT ]
|
[ DEL ]
📄 page_32_types.h
1,691 B
SET
[ EDIT ]
|
[ DEL ]
📄 page_64.h
1,573 B
SET
[ EDIT ]
|
[ DEL ]
📄 page_64_types.h
2,208 B
SET
[ EDIT ]
|
[ DEL ]
📄 page_types.h
2,369 B
SET
[ EDIT ]
|
[ DEL ]
📄 paravirt.h
24,608 B
SET
[ EDIT ]
|
[ DEL ]
📄 paravirt_types.h
22,709 B
SET
[ EDIT ]
|
[ DEL ]
📄 parport.h
314 B
SET
[ EDIT ]
|
[ DEL ]
📄 pci-direct.h
740 B
SET
[ EDIT ]
|
[ DEL ]
📄 pci-functions.h
654 B
SET
[ EDIT ]
|
[ DEL ]
📄 pci.h
3,288 B
SET
[ EDIT ]
|
[ DEL ]
📄 pci_64.h
684 B
SET
[ EDIT ]
|
[ DEL ]
📄 pci_x86.h
6,283 B
SET
[ EDIT ]
|
[ DEL ]
📄 percpu.h
20,267 B
SET
[ EDIT ]
|
[ DEL ]
📄 perf_event.h
17,896 B
SET
[ EDIT ]
|
[ DEL ]
📄 perf_event_p4.h
26,731 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgalloc.h
6,591 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-2level.h
2,815 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-2level_types.h
867 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-3level.h
8,832 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-3level_types.h
1,007 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable-invert.h
1,091 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable.h
35,801 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable_32.h
3,159 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable_32_types.h
2,121 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable_64.h
7,474 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable_64_types.h
4,365 B
SET
[ EDIT ]
|
[ DEL ]
📄 pgtable_types.h
17,149 B
SET
[ EDIT ]
|
[ DEL ]
📄 pkeys.h
3,542 B
SET
[ EDIT ]
|
[ DEL ]
📄 pkru.h
1,346 B
SET
[ EDIT ]
|
[ DEL ]
📄 platform_sst_audio.h
3,290 B
SET
[ EDIT ]
|
[ DEL ]
📄 pm-trace.h
611 B
SET
[ EDIT ]
|
[ DEL ]
📄 posix_types.h
144 B
SET
[ EDIT ]
|
[ DEL ]
📄 preempt.h
3,217 B
SET
[ EDIT ]
|
[ DEL ]
📄 probe_roms.h
273 B
SET
[ EDIT ]
|
[ DEL ]
📄 processor-cyrix.h
879 B
SET
[ EDIT ]
|
[ DEL ]
📄 processor-flags.h
1,750 B
SET
[ EDIT ]
|
[ DEL ]
📄 processor.h
24,480 B
SET
[ EDIT ]
|
[ DEL ]
📄 prom.h
1,028 B
SET
[ EDIT ]
|
[ DEL ]
📄 proto.h
1,313 B
SET
[ EDIT ]
|
[ DEL ]
📄 pti.h
429 B
SET
[ EDIT ]
|
[ DEL ]
📄 ptrace.h
8,996 B
SET
[ EDIT ]
|
[ DEL ]
📄 purgatory.h
235 B
SET
[ EDIT ]
|
[ DEL ]
📄 pvclock-abi.h
1,530 B
SET
[ EDIT ]
|
[ DEL ]
📄 pvclock.h
2,702 B
SET
[ EDIT ]
|
[ DEL ]
📄 qrwlock.h
199 B
SET
[ EDIT ]
|
[ DEL ]
📄 qspinlock.h
2,598 B
SET
[ EDIT ]
|
[ DEL ]
📄 qspinlock_paravirt.h
1,908 B
SET
[ EDIT ]
|
[ DEL ]
📄 realmode.h
2,064 B
SET
[ EDIT ]
|
[ DEL ]
📄 reboot.h
898 B
SET
[ EDIT ]
|
[ DEL ]
📄 reboot_fixups.h
183 B
SET
[ EDIT ]
|
[ DEL ]
📄 refcount.h
2,911 B
SET
[ EDIT ]
|
[ DEL ]
📄 required-features.h
3,043 B
SET
[ EDIT ]
|
[ DEL ]
📄 resctrl.h
3,064 B
SET
[ EDIT ]
|
[ DEL ]
📄 rio.h
2,630 B
SET
[ EDIT ]
|
[ DEL ]
📄 rmwcc.h
2,259 B
SET
[ EDIT ]
|
[ DEL ]
📄 seccomp.h
510 B
SET
[ EDIT ]
|
[ DEL ]
📄 sections.h
916 B
SET
[ EDIT ]
|
[ DEL ]
📄 segment.h
11,184 B
SET
[ EDIT ]
|
[ DEL ]
📄 serial.h
1,137 B
SET
[ EDIT ]
|
[ DEL ]
📄 set_memory.h
5,381 B
SET
[ EDIT ]
|
[ DEL ]
📄 setup.h
3,751 B
SET
[ EDIT ]
|
[ DEL ]
📄 setup_arch.h
77 B
SET
[ EDIT ]
|
[ DEL ]
📄 sev-common.h
4,867 B
SET
[ EDIT ]
|
[ DEL ]
📄 sev.h
6,965 B
SET
[ EDIT ]
|
[ DEL ]
📄 sgx.h
13,157 B
SET
[ EDIT ]
|
[ DEL ]
📄 shmparam.h
193 B
SET
[ EDIT ]
|
[ DEL ]
📄 sigcontext.h
261 B
SET
[ EDIT ]
|
[ DEL ]
📄 sigframe.h
2,339 B
SET
[ EDIT ]
|
[ DEL ]
📄 sighandling.h
730 B
SET
[ EDIT ]
|
[ DEL ]
📄 signal.h
2,424 B
SET
[ EDIT ]
|
[ DEL ]
📄 simd.h
287 B
SET
[ EDIT ]
|
[ DEL ]
📄 smap.h
2,247 B
SET
[ EDIT ]
|
[ DEL ]
📄 smp.h
5,500 B
SET
[ EDIT ]
|
[ DEL ]
📄 sparsemem.h
994 B
SET
[ EDIT ]
|
[ DEL ]
📄 spec-ctrl.h
3,143 B
SET
[ EDIT ]
|
[ DEL ]
📄 special_insns.h
7,536 B
SET
[ EDIT ]
|
[ DEL ]
📄 spinlock.h
1,214 B
SET
[ EDIT ]
|
[ DEL ]
📄 spinlock_types.h
719 B
SET
[ EDIT ]
|
[ DEL ]
📄 sta2x11.h
352 B
SET
[ EDIT ]
|
[ DEL ]
📄 stackprotector.h
3,966 B
SET
[ EDIT ]
|
[ DEL ]
📄 stacktrace.h
2,619 B
SET
[ EDIT ]
|
[ DEL ]
📄 string.h
129 B
SET
[ EDIT ]
|
[ DEL ]
📄 string_32.h
7,929 B
SET
[ EDIT ]
|
[ DEL ]
📄 string_64.h
4,237 B
SET
[ EDIT ]
|
[ DEL ]
📄 suspend.h
503 B
SET
[ EDIT ]
|
[ DEL ]
📄 suspend_32.h
938 B
SET
[ EDIT ]
|
[ DEL ]
📄 suspend_64.h
1,838 B
SET
[ EDIT ]
|
[ DEL ]
📄 svm.h
14,672 B
SET
[ EDIT ]
|
[ DEL ]
📄 switch_to.h
3,258 B
SET
[ EDIT ]
|
[ DEL ]
📄 sync_bitops.h
3,503 B
SET
[ EDIT ]
|
[ DEL ]
📄 sync_core.h
3,138 B
SET
[ EDIT ]
|
[ DEL ]
📄 syscall.h
5,489 B
SET
[ EDIT ]
|
[ DEL ]
📄 syscall_wrapper.h
7,780 B
SET
[ EDIT ]
|
[ DEL ]
📄 syscalls.h
1,332 B
SET
[ EDIT ]
|
[ DEL ]
📄 sysfb.h
2,600 B
SET
[ EDIT ]
|
[ DEL ]
📄 tce.h
1,724 B
SET
[ EDIT ]
|
[ DEL ]
📄 tdx.h
2,360 B
SET
[ EDIT ]
|
[ DEL ]
📄 text-patching.h
4,812 B
SET
[ EDIT ]
|
[ DEL ]
📄 thermal.h
428 B
SET
[ EDIT ]
|
[ DEL ]
📄 thread_info.h
8,805 B
SET
[ EDIT ]
|
[ DEL ]
📄 time.h
331 B
SET
[ EDIT ]
|
[ DEL ]
📄 timer.h
1,027 B
SET
[ EDIT ]
|
[ DEL ]
📄 timex.h
305 B
SET
[ EDIT ]
|
[ DEL ]
📄 tlb.h
1,103 B
SET
[ EDIT ]
|
[ DEL ]
📄 tlbbatch.h
332 B
SET
[ EDIT ]
|
[ DEL ]
📄 tlbflush.h
17,814 B
SET
[ EDIT ]
|
[ DEL ]
📄 topology.h
6,654 B
SET
[ EDIT ]
|
[ DEL ]
📄 trace_clock.h
406 B
SET
[ EDIT ]
|
[ DEL ]
📄 trap_pf.h
709 B
SET
[ EDIT ]
|
[ DEL ]
📄 trapnr.h
1,316 B
SET
[ EDIT ]
|
[ DEL ]
📄 traps.h
5,374 B
SET
[ EDIT ]
|
[ DEL ]
📄 tsc.h
1,950 B
SET
[ EDIT ]
|
[ DEL ]
📄 uaccess.h
21,233 B
SET
[ EDIT ]
|
[ DEL ]
📄 uaccess_32.h
1,006 B
SET
[ EDIT ]
|
[ DEL ]
📄 uaccess_64.h
3,129 B
SET
[ EDIT ]
|
[ DEL ]
📄 umip.h
329 B
SET
[ EDIT ]
|
[ DEL ]
📄 unaligned.h
345 B
SET
[ EDIT ]
|
[ DEL ]
📄 unistd.h
1,482 B
SET
[ EDIT ]
|
[ DEL ]
📄 unwind.h
3,220 B
SET
[ EDIT ]
|
[ DEL ]
📄 unwind_hints.h
3,342 B
SET
[ EDIT ]
|
[ DEL ]
📄 uprobes.h
1,686 B
SET
[ EDIT ]
|
[ DEL ]
📄 user.h
2,257 B
SET
[ EDIT ]
|
[ DEL ]
📄 user32.h
2,156 B
SET
[ EDIT ]
|
[ DEL ]
📄 user_32.h
5,042 B
SET
[ EDIT ]
|
[ DEL ]
📄 user_64.h
5,339 B
SET
[ EDIT ]
|
[ DEL ]
📄 vdso.h
1,400 B
SET
[ EDIT ]
|
[ DEL ]
📄 vga.h
740 B
SET
[ EDIT ]
|
[ DEL ]
📄 vgtod.h
518 B
SET
[ EDIT ]
|
[ DEL ]
📄 virtext.h
3,102 B
SET
[ EDIT ]
|
[ DEL ]
📄 vm86.h
2,212 B
SET
[ EDIT ]
|
[ DEL ]
📄 vmware.h
1,942 B
SET
[ EDIT ]
|
[ DEL ]
📄 vmx.h
26,763 B
SET
[ EDIT ]
|
[ DEL ]
📄 vmxfeatures.h
6,049 B
SET
[ EDIT ]
|
[ DEL ]
📄 vsyscall.h
920 B
SET
[ EDIT ]
|
[ DEL ]
📄 vvar.h
1,603 B
SET
[ EDIT ]
|
[ DEL ]
📄 word-at-a-time.h
2,596 B
SET
[ EDIT ]
|
[ DEL ]
📄 x86_init.h
11,520 B
SET
[ EDIT ]
|
[ DEL ]
📄 xor.h
10,508 B
SET
[ EDIT ]
|
[ DEL ]
📄 xor_32.h
14,748 B
SET
[ EDIT ]
|
[ DEL ]
📄 xor_64.h
716 B
SET
[ EDIT ]
|
[ DEL ]
📄 xor_avx.h
4,610 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: msr.h
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _ASM_X86_MSR_H #define _ASM_X86_MSR_H #include "msr-index.h" #ifndef __ASSEMBLY__ #include <asm/asm.h> #include <asm/errno.h> #include <asm/cpumask.h> #include <uapi/asm/msr.h> #include <asm/shared/msr.h> struct msr_info { u32 msr_no; struct msr reg; struct msr *msrs; int err; }; struct msr_regs_info { u32 *regs; int err; }; struct saved_msr { bool valid; struct msr_info info; }; struct saved_msrs { unsigned int num; struct saved_msr *array; }; /* * both i386 and x86_64 returns 64-bit value in edx:eax, but gcc's "A" * constraint has different meanings. For i386, "A" means exactly * edx:eax, while for x86_64 it doesn't mean rdx:rax or edx:eax. Instead, * it means rax *or* rdx. */ #ifdef CONFIG_X86_64 /* Using 64-bit values saves one instruction clearing the high half of low */ #define DECLARE_ARGS(val, low, high) unsigned long low, high #define EAX_EDX_VAL(val, low, high) ((low) | (high) << 32) #define EAX_EDX_RET(val, low, high) "=a" (low), "=d" (high) #else #define DECLARE_ARGS(val, low, high) unsigned long long val #define EAX_EDX_VAL(val, low, high) (val) #define EAX_EDX_RET(val, low, high) "=A" (val) #endif #ifdef CONFIG_TRACEPOINTS /* * Be very careful with includes. This header is prone to include loops. */ #include <asm/atomic.h> #include <linux/tracepoint-defs.h> extern struct tracepoint __tracepoint_read_msr; extern struct tracepoint __tracepoint_write_msr; extern struct tracepoint __tracepoint_rdpmc; #define msr_tracepoint_active(t) static_key_false(&(t).key) extern void do_trace_write_msr(unsigned int msr, u64 val, int failed); extern void do_trace_read_msr(unsigned int msr, u64 val, int failed); extern void do_trace_rdpmc(unsigned int msr, u64 val, int failed); #else #define msr_tracepoint_active(t) false static inline void do_trace_write_msr(unsigned int msr, u64 val, int failed) {} static inline void do_trace_read_msr(unsigned int msr, u64 val, int failed) {} static inline void do_trace_rdpmc(unsigned int msr, u64 val, int failed) {} #endif /* * __rdmsr() and __wrmsr() are the two primitives which are the bare minimum MSR * accessors and should not have any tracing or other functionality piggybacking * on them - those are *purely* for accessing MSRs and nothing more. So don't even * think of extending them - you will be slapped with a stinking trout or a frozen * shark will reach you, wherever you are! You've been warned. */ static inline unsigned long long notrace __rdmsr(unsigned int msr) { DECLARE_ARGS(val, low, high); asm volatile("1: rdmsr\n" "2:\n" _ASM_EXTABLE_HANDLE(1b, 2b, ex_handler_rdmsr_unsafe) : EAX_EDX_RET(val, low, high) : "c" (msr)); return EAX_EDX_VAL(val, low, high); } static inline void notrace __wrmsr(unsigned int msr, u32 low, u32 high) { asm volatile("1: wrmsr\n" "2:\n" _ASM_EXTABLE_HANDLE(1b, 2b, ex_handler_wrmsr_unsafe) : : "c" (msr), "a"(low), "d" (high) : "memory"); } #define native_rdmsr(msr, val1, val2) \ do { \ u64 __val = __rdmsr((msr)); \ (void)((val1) = (u32)__val); \ (void)((val2) = (u32)(__val >> 32)); \ } while (0) #define native_wrmsr(msr, low, high) \ __wrmsr(msr, low, high) #define native_wrmsrl(msr, val) \ __wrmsr((msr), (u32)((u64)(val)), \ (u32)((u64)(val) >> 32)) static inline unsigned long long native_read_msr(unsigned int msr) { unsigned long long val; val = __rdmsr(msr); if (msr_tracepoint_active(__tracepoint_read_msr)) do_trace_read_msr(msr, val, 0); return val; } static inline unsigned long long native_read_msr_safe(unsigned int msr, int *err) { DECLARE_ARGS(val, low, high); asm volatile("2: rdmsr ; xor %[err],%[err]\n" "1:\n\t" ".section .fixup,\"ax\"\n\t" "3: mov %[fault],%[err]\n\t" "xorl %%eax, %%eax\n\t" "xorl %%edx, %%edx\n\t" "jmp 1b\n\t" ".previous\n\t" _ASM_EXTABLE(2b, 3b) : [err] "=r" (*err), EAX_EDX_RET(val, low, high) : "c" (msr), [fault] "i" (-EIO)); if (msr_tracepoint_active(__tracepoint_read_msr)) do_trace_read_msr(msr, EAX_EDX_VAL(val, low, high), *err); return EAX_EDX_VAL(val, low, high); } /* Can be uninlined because referenced by paravirt */ static inline void notrace native_write_msr(unsigned int msr, u32 low, u32 high) { __wrmsr(msr, low, high); if (msr_tracepoint_active(__tracepoint_write_msr)) do_trace_write_msr(msr, ((u64)high << 32 | low), 0); } /* Can be uninlined because referenced by paravirt */ static inline int notrace native_write_msr_safe(unsigned int msr, u32 low, u32 high) { int err; asm volatile("2: wrmsr ; xor %[err],%[err]\n" "1:\n\t" ".section .fixup,\"ax\"\n\t" "3: mov %[fault],%[err] ; jmp 1b\n\t" ".previous\n\t" _ASM_EXTABLE(2b, 3b) : [err] "=a" (err) : "c" (msr), "0" (low), "d" (high), [fault] "i" (-EIO) : "memory"); if (msr_tracepoint_active(__tracepoint_write_msr)) do_trace_write_msr(msr, ((u64)high << 32 | low), err); return err; } extern int rdmsr_safe_regs(u32 regs[8]); extern int wrmsr_safe_regs(u32 regs[8]); /** * rdtsc() - returns the current TSC without ordering constraints * * rdtsc() returns the result of RDTSC as a 64-bit integer. The * only ordering constraint it supplies is the ordering implied by * "asm volatile": it will put the RDTSC in the place you expect. The * CPU can and will speculatively execute that RDTSC, though, so the * results can be non-monotonic if compared on different CPUs. */ static __always_inline unsigned long long rdtsc(void) { DECLARE_ARGS(val, low, high); asm volatile("rdtsc" : EAX_EDX_RET(val, low, high)); return EAX_EDX_VAL(val, low, high); } /** * rdtsc_ordered() - read the current TSC in program order * * rdtsc_ordered() returns the result of RDTSC as a 64-bit integer. * It is ordered like a load to a global in-memory counter. It should * be impossible to observe non-monotonic rdtsc_unordered() behavior * across multiple CPUs as long as the TSC is synced. */ static __always_inline unsigned long long rdtsc_ordered(void) { /* * The RDTSC instruction is not ordered relative to memory * access. The Intel SDM and the AMD APM are both vague on this * point, but empirically an RDTSC instruction can be * speculatively executed before prior loads. An RDTSC * immediately after an appropriate barrier appears to be * ordered as a normal load, that is, it provides the same * ordering guarantees as reading from a global memory location * that some other imaginary CPU is updating continuously with a * time stamp. */ barrier_nospec(); return rdtsc(); } static inline unsigned long long native_read_pmc(int counter) { DECLARE_ARGS(val, low, high); asm volatile("rdpmc" : EAX_EDX_RET(val, low, high) : "c" (counter)); if (msr_tracepoint_active(__tracepoint_rdpmc)) do_trace_rdpmc(counter, EAX_EDX_VAL(val, low, high), 0); return EAX_EDX_VAL(val, low, high); } #ifdef CONFIG_PARAVIRT #include <asm/paravirt.h> #else #include <linux/errno.h> /* * Access to machine-specific registers (available on 586 and better only) * Note: the rd* operations modify the parameters directly (without using * pointer indirection), this allows gcc to optimize better */ #define rdmsr(msr, low, high) \ do { \ u64 __val = native_read_msr((msr)); \ (void)((low) = (u32)__val); \ (void)((high) = (u32)(__val >> 32)); \ } while (0) static inline void wrmsr(unsigned int msr, u32 low, u32 high) { native_write_msr(msr, low, high); } #define rdmsrl(msr, val) \ ((val) = native_read_msr((msr))) static inline void wrmsrl(unsigned int msr, u64 val) { native_write_msr(msr, (u32)(val & 0xffffffffULL), (u32)(val >> 32)); } /* wrmsr with exception handling */ static inline int wrmsr_safe(unsigned int msr, u32 low, u32 high) { return native_write_msr_safe(msr, low, high); } /* rdmsr with exception handling */ #define rdmsr_safe(msr, low, high) \ ({ \ int __err; \ u64 __val = native_read_msr_safe((msr), &__err); \ (*low) = (u32)__val; \ (*high) = (u32)(__val >> 32); \ __err; \ }) static inline int rdmsrl_safe(unsigned int msr, unsigned long long *p) { int err; *p = native_read_msr_safe(msr, &err); return err; } #define rdpmc(counter, low, high) \ do { \ u64 _l = native_read_pmc((counter)); \ (low) = (u32)_l; \ (high) = (u32)(_l >> 32); \ } while (0) #define rdpmcl(counter, val) ((val) = native_read_pmc(counter)) #endif /* !CONFIG_PARAVIRT */ /* * 64-bit version of wrmsr_safe(): */ static inline int wrmsrl_safe(u32 msr, u64 val) { return wrmsr_safe(msr, (u32)val, (u32)(val >> 32)); } #define write_tsc(low, high) wrmsr(MSR_IA32_TSC, (low), (high)) #define write_rdtscp_aux(val) wrmsr(MSR_TSC_AUX, (val), 0) struct msr *msrs_alloc(void); void msrs_free(struct msr *msrs); int msr_set_bit(u32 msr, u8 bit); int msr_clear_bit(u32 msr, u8 bit); #ifdef CONFIG_SMP int rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h); int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h); int rdmsrl_on_cpu(unsigned int cpu, u32 msr_no, u64 *q); int wrmsrl_on_cpu(unsigned int cpu, u32 msr_no, u64 q); void rdmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr *msrs); void wrmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr *msrs); int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h); int wrmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h); int rdmsrl_safe_on_cpu(unsigned int cpu, u32 msr_no, u64 *q); int wrmsrl_safe_on_cpu(unsigned int cpu, u32 msr_no, u64 q); int rdmsr_safe_regs_on_cpu(unsigned int cpu, u32 regs[8]); int wrmsr_safe_regs_on_cpu(unsigned int cpu, u32 regs[8]); #else /* CONFIG_SMP */ static inline int rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h) { rdmsr(msr_no, *l, *h); return 0; } static inline int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h) { wrmsr(msr_no, l, h); return 0; } static inline int rdmsrl_on_cpu(unsigned int cpu, u32 msr_no, u64 *q) { rdmsrl(msr_no, *q); return 0; } static inline int wrmsrl_on_cpu(unsigned int cpu, u32 msr_no, u64 q) { wrmsrl(msr_no, q); return 0; } static inline void rdmsr_on_cpus(const struct cpumask *m, u32 msr_no, struct msr *msrs) { rdmsr_on_cpu(0, msr_no, &(msrs[0].l), &(msrs[0].h)); } static inline void wrmsr_on_cpus(const struct cpumask *m, u32 msr_no, struct msr *msrs) { wrmsr_on_cpu(0, msr_no, msrs[0].l, msrs[0].h); } static inline int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h) { return rdmsr_safe(msr_no, l, h); } static inline int wrmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h) { return wrmsr_safe(msr_no, l, h); } static inline int rdmsrl_safe_on_cpu(unsigned int cpu, u32 msr_no, u64 *q) { return rdmsrl_safe(msr_no, q); } static inline int wrmsrl_safe_on_cpu(unsigned int cpu, u32 msr_no, u64 q) { return wrmsrl_safe(msr_no, q); } static inline int rdmsr_safe_regs_on_cpu(unsigned int cpu, u32 regs[8]) { return rdmsr_safe_regs(regs); } static inline int wrmsr_safe_regs_on_cpu(unsigned int cpu, u32 regs[8]) { return wrmsr_safe_regs(regs); } #endif /* CONFIG_SMP */ #endif /* __ASSEMBLY__ */ #endif /* _ASM_X86_MSR_H */