ACIL FM
Dark
Refresh
Current DIR:
/usr/src/kernels/5.14.0-611.34.1.el9_7.x86_64/tools/arch/x86/include/asm
/
usr
src
kernels
5.14.0-611.34.1.el9_7.x86_64
tools
arch
x86
include
asm
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
amd-ibs.h
4.9 MB
chmod
View
DL
Edit
Rename
Delete
asm.h
4.88 MB
chmod
View
DL
Edit
Rename
Delete
atomic.h
1.77 MB
chmod
View
DL
Edit
Rename
Delete
barrier.h
1.32 MB
chmod
View
DL
Edit
Rename
Delete
cmpxchg.h
2.56 MB
chmod
View
DL
Edit
Rename
Delete
cpufeatures.h
36.77 MB
chmod
View
DL
Edit
Rename
Delete
disabled-features.h
4.25 MB
chmod
View
DL
Edit
Rename
Delete
emulate_prefix.h
484 B
chmod
View
DL
Edit
Rename
Delete
inat.h
6.36 MB
chmod
View
DL
Edit
Rename
Delete
inat_types.h
341 B
chmod
View
DL
Edit
Rename
Delete
insn.h
8.37 MB
chmod
View
DL
Edit
Rename
Delete
msr-index.h
45.47 MB
chmod
View
DL
Edit
Rename
Delete
nops.h
2.24 MB
chmod
View
DL
Edit
Rename
Delete
orc_types.h
2.13 MB
chmod
View
DL
Edit
Rename
Delete
pvclock-abi.h
1.49 MB
chmod
View
DL
Edit
Rename
Delete
pvclock.h
2.48 MB
chmod
View
DL
Edit
Rename
Delete
required-features.h
2.89 MB
chmod
View
DL
Edit
Rename
Delete
rmwcc.h
603 B
chmod
View
DL
Edit
Rename
Delete
Edit file: /usr/src/kernels/5.14.0-611.34.1.el9_7.x86_64/tools/arch/x86/include/asm/pvclock.h
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _ASM_X86_PVCLOCK_H #define _ASM_X86_PVCLOCK_H #include <asm/barrier.h> #include <asm/pvclock-abi.h> /* some helper functions for xen and kvm pv clock sources */ u64 pvclock_clocksource_read(struct pvclock_vcpu_time_info *src); u8 pvclock_read_flags(struct pvclock_vcpu_time_info *src); void pvclock_set_flags(u8 flags); unsigned long pvclock_tsc_khz(struct pvclock_vcpu_time_info *src); void pvclock_resume(void); void pvclock_touch_watchdogs(void); static __always_inline unsigned pvclock_read_begin(const struct pvclock_vcpu_time_info *src) { unsigned version = src->version & ~1; /* Make sure that the version is read before the data. */ rmb(); return version; } static __always_inline bool pvclock_read_retry(const struct pvclock_vcpu_time_info *src, unsigned version) { /* Make sure that the version is re-read after the data. */ rmb(); return version != src->version; } /* * Scale a 64-bit delta by scaling and multiplying by a 32-bit fraction, * yielding a 64-bit result. */ static inline u64 pvclock_scale_delta(u64 delta, u32 mul_frac, int shift) { u64 product; #ifdef __i386__ u32 tmp1, tmp2; #else unsigned long tmp; #endif if (shift < 0) delta >>= -shift; else delta <<= shift; #ifdef __i386__ __asm__ ( "mul %5 ; " "mov %4,%%eax ; " "mov %%edx,%4 ; " "mul %5 ; " "xor %5,%5 ; " "add %4,%%eax ; " "adc %5,%%edx ; " : "=A" (product), "=r" (tmp1), "=r" (tmp2) : "a" ((u32)delta), "1" ((u32)(delta >> 32)), "2" (mul_frac) ); #elif defined(__x86_64__) __asm__ ( "mulq %[mul_frac] ; shrd $32, %[hi], %[lo]" : [lo]"=a"(product), [hi]"=d"(tmp) : "0"(delta), [mul_frac]"rm"((u64)mul_frac)); #else #error implement me! #endif return product; } static __always_inline u64 __pvclock_read_cycles(const struct pvclock_vcpu_time_info *src, u64 tsc) { u64 delta = tsc - src->tsc_timestamp; u64 offset = pvclock_scale_delta(delta, src->tsc_to_system_mul, src->tsc_shift); return src->system_time + offset; } struct pvclock_vsyscall_time_info { struct pvclock_vcpu_time_info pvti; } __attribute__((__aligned__(64))); #define PVTI_SIZE sizeof(struct pvclock_vsyscall_time_info) #ifdef CONFIG_PARAVIRT_CLOCK void pvclock_set_pvti_cpu0_va(struct pvclock_vsyscall_time_info *pvti); struct pvclock_vsyscall_time_info *pvclock_get_pvti_cpu0_va(void); #else static inline struct pvclock_vsyscall_time_info *pvclock_get_pvti_cpu0_va(void) { return NULL; } #endif #endif /* _ASM_X86_PVCLOCK_H */
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply