| /kernel/linux/linux-5.10/arch/x86/kvm/svm/ |
| D | nested.c | 100 kvm_init_shadow_npt_mmu(vcpu, X86_CR0_PG, hsave->save.cr4, hsave->save.efer, in nested_svm_init_mmu_context() 259 * to avoid TOC/TOU races. For these save area checks in nested_vmcb_check_save() 264 if ((vmcb12->save.efer & EFER_SVME) == 0) in nested_vmcb_check_save() 267 if (((vmcb12->save.cr0 & X86_CR0_CD) == 0) && (vmcb12->save.cr0 & X86_CR0_NW)) in nested_vmcb_check_save() 270 if (!kvm_dr6_valid(vmcb12->save.dr6) || !kvm_dr7_valid(vmcb12->save.dr7)) in nested_vmcb_check_save() 273 vmcb12_lma = (vmcb12->save.efer & EFER_LME) && (vmcb12->save.cr0 & X86_CR0_PG); in nested_vmcb_check_save() 276 if (!(vmcb12->save.cr4 & X86_CR4_PAE) || in nested_vmcb_check_save() 277 !(vmcb12->save.cr0 & X86_CR0_PE) || in nested_vmcb_check_save() 278 (vmcb12->save.cr3 & vcpu->arch.cr3_lm_rsvd_bits)) in nested_vmcb_check_save() 281 if (kvm_valid_cr4(&svm->vcpu, vmcb12->save.cr4)) in nested_vmcb_check_save() [all …]
|
| D | svm.c | 177 /* enable/disable Next RIP Save */ 303 svm->vmcb->save.efer = efer | EFER_SVME; in svm_set_efer() 370 svm->int3_rip = rip + svm->vmcb->save.cs.base; in svm_queue_exception() 793 svm->vmcb->save.rflags &= ~X86_EFLAGS_TF; in disable_nmi_singlestep() 795 svm->vmcb->save.rflags &= ~X86_EFLAGS_RF; in disable_nmi_singlestep() 1104 struct vmcb_save_area *save = &svm->vmcb->save; in init_vmcb() local 1170 init_seg(&save->es); in init_vmcb() 1171 init_seg(&save->ss); in init_vmcb() 1172 init_seg(&save->ds); in init_vmcb() 1173 init_seg(&save->fs); in init_vmcb() [all …]
|
| /kernel/linux/linux-5.10/drivers/soc/samsung/ |
| D | s3c-pm-debug.c | 49 struct pm_uart_save *save = &uart_save; in s3c_pm_save_uarts() local 51 save->ulcon = __raw_readl(regs + S3C2410_ULCON); in s3c_pm_save_uarts() 52 save->ucon = __raw_readl(regs + S3C2410_UCON); in s3c_pm_save_uarts() 53 save->ufcon = __raw_readl(regs + S3C2410_UFCON); in s3c_pm_save_uarts() 54 save->umcon = __raw_readl(regs + S3C2410_UMCON); in s3c_pm_save_uarts() 55 save->ubrdiv = __raw_readl(regs + S3C2410_UBRDIV); in s3c_pm_save_uarts() 58 save->udivslot = __raw_readl(regs + S3C2443_DIVSLOT); in s3c_pm_save_uarts() 61 regs, save->ulcon, save->ucon, save->ufcon, save->ubrdiv); in s3c_pm_save_uarts() 67 struct pm_uart_save *save = &uart_save; in s3c_pm_restore_uarts() local 69 s3c_pm_arch_update_uart(regs, save); in s3c_pm_restore_uarts() [all …]
|
| /kernel/linux/linux-6.6/arch/x86/kvm/svm/ |
| D | nested.c | 97 kvm_init_shadow_npt_mmu(vcpu, X86_CR0_PG, svm->vmcb01.ptr->save.cr4, in nested_svm_init_mmu_context() 98 svm->vmcb01.ptr->save.efer, in nested_svm_init_mmu_context() 156 if (!(svm->vmcb01.ptr->save.rflags & X86_EFLAGS_IF)) in recalc_intercepts() 283 struct vmcb_save_area_cached *save) in __nested_vmcb_check_save() argument 285 if (CC(!(save->efer & EFER_SVME))) in __nested_vmcb_check_save() 288 if (CC((save->cr0 & X86_CR0_CD) == 0 && (save->cr0 & X86_CR0_NW)) || in __nested_vmcb_check_save() 289 CC(save->cr0 & ~0xffffffffULL)) in __nested_vmcb_check_save() 292 if (CC(!kvm_dr6_valid(save->dr6)) || CC(!kvm_dr7_valid(save->dr7))) in __nested_vmcb_check_save() 300 if ((save->efer & EFER_LME) && (save->cr0 & X86_CR0_PG)) { in __nested_vmcb_check_save() 301 if (CC(!(save->cr4 & X86_CR4_PAE)) || in __nested_vmcb_check_save() [all …]
|
| D | svm.c | 206 /* enable/disable Next RIP Save */ 344 svm->vmcb->save.efer = efer | EFER_SVME; in svm_set_efer() 400 old_rflags = svm->vmcb->save.rflags; in __svm_skip_emulated_instruction() 406 svm->vmcb->save.rflags = old_rflags; in __svm_skip_emulated_instruction() 446 * Save the injection information, even when using next_rip, as the in svm_update_soft_interrupt_rip() 455 svm->soft_int_csbase = svm->vmcb->save.cs.base; in svm_update_soft_interrupt_rip() 823 * save it. in msr_write_intercepted() 827 * save it. in msr_write_intercepted() 1003 to_vmcb->save.dbgctl = from_vmcb->save.dbgctl; in svm_copy_lbrs() 1004 to_vmcb->save.br_from = from_vmcb->save.br_from; in svm_copy_lbrs() [all …]
|
| /kernel/linux/linux-6.6/drivers/pci/ |
| D | vc.c | 19 * pci_vc_save_restore_dwords - Save or restore a series of dwords 22 * @buf: buffer to save to or restore from 23 * @dwords: number of dwords to save/restore 24 * @save: whether to save or restore 27 u32 *buf, int dwords, bool save) in pci_vc_save_restore_dwords() argument 32 if (save) in pci_vc_save_restore_dwords() 171 * pci_vc_do_save_buffer - Size, save, or restore VC state 174 * @save_state: buffer for save/restore 175 * @save: if provided a buffer, this indicates what to do with it 177 * Walking Virtual Channel config space to size, save, or restore it [all …]
|
| /kernel/linux/linux-5.10/drivers/pci/ |
| D | vc.c | 19 * pci_vc_save_restore_dwords - Save or restore a series of dwords 22 * @buf: buffer to save to or restore from 23 * @dwords: number of dwords to save/restore 24 * @save: whether to save or restore 27 u32 *buf, int dwords, bool save) in pci_vc_save_restore_dwords() argument 32 if (save) in pci_vc_save_restore_dwords() 171 * pci_vc_do_save_buffer - Size, save, or restore VC state 174 * @save_state: buffer for save/restore 175 * @save: if provided a buffer, this indicates what to do with it 177 * Walking Virtual Channel config space to size, save, or restore it [all …]
|
| /kernel/linux/linux-6.6/tools/testing/selftests/kvm/lib/x86_64/ |
| D | svm.c | 67 struct vmcb_save_area *save = &vmcb->save; in generic_svm_setup() local 81 vmcb_set_seg(&save->es, get_es(), 0, -1U, data_seg_attr); in generic_svm_setup() 82 vmcb_set_seg(&save->cs, get_cs(), 0, -1U, code_seg_attr); in generic_svm_setup() 83 vmcb_set_seg(&save->ss, get_ss(), 0, -1U, data_seg_attr); in generic_svm_setup() 84 vmcb_set_seg(&save->ds, get_ds(), 0, -1U, data_seg_attr); in generic_svm_setup() 85 vmcb_set_seg(&save->gdtr, 0, get_gdt().address, get_gdt().size, 0); in generic_svm_setup() 86 vmcb_set_seg(&save->idtr, 0, get_idt().address, get_idt().size, 0); in generic_svm_setup() 89 save->cpl = 0; in generic_svm_setup() 90 save->efer = rdmsr(MSR_EFER); in generic_svm_setup() 91 asm volatile ("mov %%cr4, %0" : "=r"(save->cr4) : : "memory"); in generic_svm_setup() [all …]
|
| /kernel/linux/linux-5.10/tools/testing/selftests/kvm/lib/x86_64/ |
| D | svm.c | 76 struct vmcb_save_area *save = &vmcb->save; in generic_svm_setup() local 90 vmcb_set_seg(&save->es, get_es(), 0, -1U, data_seg_attr); in generic_svm_setup() 91 vmcb_set_seg(&save->cs, get_cs(), 0, -1U, code_seg_attr); in generic_svm_setup() 92 vmcb_set_seg(&save->ss, get_ss(), 0, -1U, data_seg_attr); in generic_svm_setup() 93 vmcb_set_seg(&save->ds, get_ds(), 0, -1U, data_seg_attr); in generic_svm_setup() 94 vmcb_set_seg(&save->gdtr, 0, get_gdt().address, get_gdt().size, 0); in generic_svm_setup() 95 vmcb_set_seg(&save->idtr, 0, get_idt().address, get_idt().size, 0); in generic_svm_setup() 98 save->cpl = 0; in generic_svm_setup() 99 save->efer = rdmsr(MSR_EFER); in generic_svm_setup() 100 asm volatile ("mov %%cr4, %0" : "=r"(save->cr4) : : "memory"); in generic_svm_setup() [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/platforms/cell/spufs/ |
| D | spu_save.c | 7 * SPU-side context save sequence outlined in 29 /* Save, Step 2: in save_event_mask() 30 * Read the SPU_RdEventMsk channel and save to the LSCSA. in save_event_mask() 40 /* Save, Step 3: in save_tag_mask() 41 * Read the SPU_RdTagMsk channel and save to the LSCSA. in save_tag_mask() 55 /* Save, Step 7: in save_upper_240kb() 72 /* Save, Step 9: in save_fpcr() 74 * read instruction, and save to the LSCSA. in save_fpcr() 84 /* Save, Step 10: in save_decr() 85 * Read and save the SPU_RdDec channel data to in save_decr() [all …]
|
| D | switch.c | 17 * save, and then later (optionally) restore the context of a 66 /* Save, Step 1: in acquire_spu_lock() 86 /* Save, Step 2: in check_spu_isolate() 87 * Save, Step 6: in check_spu_isolate() 99 /* Save, Step 3: in disable_interrupts() 101 * Save INT_Mask_class0 in CSA. in disable_interrupts() 103 * Save INT_Mask_class1 in CSA. in disable_interrupts() 105 * Save INT_Mask_class2 in CSA. in disable_interrupts() 136 /* Save, Step 4: in set_watchdog_timer() 139 * maximum allowable time for a context save sequence. in set_watchdog_timer() [all …]
|
| /kernel/linux/linux-6.6/arch/powerpc/platforms/cell/spufs/ |
| D | spu_save.c | 7 * SPU-side context save sequence outlined in 29 /* Save, Step 2: in save_event_mask() 30 * Read the SPU_RdEventMsk channel and save to the LSCSA. in save_event_mask() 40 /* Save, Step 3: in save_tag_mask() 41 * Read the SPU_RdTagMsk channel and save to the LSCSA. in save_tag_mask() 55 /* Save, Step 7: in save_upper_240kb() 72 /* Save, Step 9: in save_fpcr() 74 * read instruction, and save to the LSCSA. in save_fpcr() 84 /* Save, Step 10: in save_decr() 85 * Read and save the SPU_RdDec channel data to in save_decr() [all …]
|
| D | switch.c | 17 * save, and then later (optionally) restore the context of a 66 /* Save, Step 1: in acquire_spu_lock() 86 /* Save, Step 2: in check_spu_isolate() 87 * Save, Step 6: in check_spu_isolate() 99 /* Save, Step 3: in disable_interrupts() 101 * Save INT_Mask_class0 in CSA. in disable_interrupts() 103 * Save INT_Mask_class1 in CSA. in disable_interrupts() 105 * Save INT_Mask_class2 in CSA. in disable_interrupts() 136 /* Save, Step 4: in set_watchdog_timer() 139 * maximum allowable time for a context save sequence. in set_watchdog_timer() [all …]
|
| /kernel/linux/linux-6.6/arch/arm/mach-sa1100/ |
| D | pm.c | 15 * Save more value for the resume function! Support 22 * 2002-05-27: Nicolas Pitre Killed sleep.h and the kmalloced save array. 40 #define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x macro 63 /* save vital registers */ in sa11x0_pm_enter() 64 SAVE(GPDR); in sa11x0_pm_enter() 65 SAVE(GAFR); in sa11x0_pm_enter() 67 SAVE(PPDR); in sa11x0_pm_enter() 68 SAVE(PPSR); in sa11x0_pm_enter() 69 SAVE(PPAR); in sa11x0_pm_enter() 70 SAVE(PSDR); in sa11x0_pm_enter() [all …]
|
| /kernel/linux/linux-5.10/arch/arm/mach-sa1100/ |
| D | pm.c | 15 * Save more value for the resume function! Support 22 * 2002-05-27: Nicolas Pitre Killed sleep.h and the kmalloced save array. 38 #define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x macro 61 /* save vital registers */ in sa11x0_pm_enter() 62 SAVE(GPDR); in sa11x0_pm_enter() 63 SAVE(GAFR); in sa11x0_pm_enter() 65 SAVE(PPDR); in sa11x0_pm_enter() 66 SAVE(PPSR); in sa11x0_pm_enter() 67 SAVE(PPAR); in sa11x0_pm_enter() 68 SAVE(PSDR); in sa11x0_pm_enter() [all …]
|
| /kernel/linux/linux-5.10/include/linux/soc/samsung/ |
| D | s3c-pm.h | 18 * struct pm_uart_save - save block for core UART 19 * @ulcon: Save value for S3C2410_ULCON 20 * @ucon: Save value for S3C2410_UCON 21 * @ufcon: Save value for S3C2410_UFCON 22 * @umcon: Save value for S3C2410_UMCON 23 * @ubrdiv: Save value for S3C2410_UBRDIV 25 * Save block for UART registers to be held over sleep and restored if they 55 struct pm_uart_save *save); 58 s3c_pm_arch_update_uart(void __iomem *regs, struct pm_uart_save *save) in s3c_pm_arch_update_uart() argument
|
| /kernel/linux/linux-6.6/arch/ia64/lib/ |
| D | xor.S | 14 .save ar.pfs, r31 16 .save ar.lc, r30 18 .save pr, r29 52 .save ar.pfs, r31 54 .save ar.lc, r30 56 .save pr, r29 93 .save ar.pfs, r31 95 .save ar.lc, r30 97 .save pr, r29 137 .save ar.pfs, r31 [all …]
|
| /kernel/linux/linux-5.10/arch/ia64/lib/ |
| D | xor.S | 14 .save ar.pfs, r31 16 .save ar.lc, r30 18 .save pr, r29 52 .save ar.pfs, r31 54 .save ar.lc, r30 56 .save pr, r29 93 .save ar.pfs, r31 95 .save ar.lc, r30 97 .save pr, r29 137 .save ar.pfs, r31 [all …]
|
| /kernel/linux/linux-5.10/arch/x86/kernel/ |
| D | ftrace_64.S | 18 /* Save parent and function stack frames (rip and rbp) */ 21 /* No need to save a stack frame */ 25 /* Size of stack used to save mcount regs in save_mcount_regs */ 56 /* Save the original rbp */ 61 * is not set up properly. If fentry is used, we need to save a frame 67 /* Save the parent pointer (skip orig rbp and our return address) */ 71 /* Save the return address (now skip orig rbp, rbp and parent) */ 78 * We add enough stack to save all regs. 90 * Save the original RBP. Even though the mcount ABI does not 115 .macro restore_mcount_regs save=0 argument [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/kernel/trace/ |
| D | ftrace_64_mprofile.S | 32 * Our job is to save the register state into a struct pt_regs (on the stack) 36 /* Save the original return address in A's stack frame */ 45 /* Save all gprs to pt_regs */ 57 /* Save previous stack pointer (r1) */ 61 /* Load special regs for save below */ 69 /* Save it as pt_regs->nip */ 71 /* Also save it in B's stackframe header for proper unwind */ 73 /* Save the read LR in pt_regs->link */ 76 /* Save callee's TOC in the ABI compliant location */ 93 /* Save special regs */ [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/lib/ |
| D | test_emulate_step_exec_instr.S | 32 * Save non-volatile GPRs on stack. This includes TOC pointer (GPR2) 44 * Save LR on stack to ensure that the return address is available 51 * Save CR on stack. For simplicity, the entire register is saved 93 * save it to pt_regs. 98 /* Save resulting GPR state to pt_regs */ 106 /* Save resulting LR to pt_regs */ 110 /* Save resulting CR to pt_regs */ 114 /* Save resulting XER to pt_regs */ 118 /* Restore resulting GPR3 from scratch space and save it to pt_regs */
|
| /kernel/linux/linux-6.6/arch/powerpc/lib/ |
| D | test_emulate_step_exec_instr.S | 32 * Save non-volatile GPRs on stack. This includes TOC pointer (GPR2) 44 * Save LR on stack to ensure that the return address is available 51 * Save CR on stack. For simplicity, the entire register is saved 92 * save it to pt_regs. 97 /* Save resulting GPR state to pt_regs */ 104 /* Save resulting LR to pt_regs */ 108 /* Save resulting CR to pt_regs */ 112 /* Save resulting XER to pt_regs */ 116 /* Restore resulting GPR3 from scratch space and save it to pt_regs */
|
| /kernel/linux/linux-6.6/arch/sparc/kernel/ |
| D | wuf.S | 60 * T == the trap itself has save'd us into this 113 save %g0, %g0, %g0 114 save %g0, %g0, %g0 144 /* Place a pt_regs frame on the kernel stack, save back 157 /* Save current in a global while we change windows. */ 160 save %g0, %g0, %g0 165 mov %fp, %g4 /* Save bogus frame pointer. */ 167 save %g0, %g0, %g0 182 /* Fix users window mask and buffer save count. */ 205 save %g0, %g0, %g0 /* Save to window 'O' */ [all …]
|
| /kernel/linux/linux-6.6/arch/x86/kernel/ |
| D | ftrace_64.S | 20 /* Save parent and function stack frames (rip and rbp) */ 23 /* No need to save a stack frame */ 27 /* Size of stack used to save mcount regs in save_mcount_regs */ 58 /* Save the original rbp */ 63 * is not set up properly. If fentry is used, we need to save a frame 69 /* Save the parent pointer (skip orig rbp and our return address) */ 73 /* Save the return address (now skip orig rbp, rbp and parent) */ 80 * We add enough stack to save all regs. 92 * Save the original RBP. Even though the mcount ABI does not 117 .macro restore_mcount_regs save=0 argument [all …]
|
| /kernel/linux/linux-5.10/arch/sparc/kernel/ |
| D | wuf.S | 60 * T == the trap itself has save'd us into this 113 save %g0, %g0, %g0 114 save %g0, %g0, %g0 144 /* Place a pt_regs frame on the kernel stack, save back 157 /* Save current in a global while we change windows. */ 160 save %g0, %g0, %g0 165 mov %fp, %g4 /* Save bogus frame pointer. */ 167 save %g0, %g0, %g0 182 /* Fix users window mask and buffer save count. */ 205 save %g0, %g0, %g0 /* Save to window 'O' */ [all …]
|