hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/arch/x86/kernel/asm-offsets.c
....@@ -29,16 +29,13 @@
2929 # include "asm-offsets_64.c"
3030 #endif
3131
32
-void common(void) {
32
+static void __used common(void)
33
+{
3334 BLANK();
3435 OFFSET(TASK_threadsp, task_struct, thread.sp);
3536 #ifdef CONFIG_STACKPROTECTOR
3637 OFFSET(TASK_stack_canary, task_struct, stack_canary);
3738 #endif
38
-
39
- BLANK();
40
- OFFSET(TASK_TI_flags, task_struct, thread_info.flags);
41
- OFFSET(TASK_addr_limit, task_struct, thread.addr_limit);
4239
4340 BLANK();
4441 OFFSET(crypto_tfm_ctx_offset, crypto_tfm, __crt_ctx);
....@@ -64,21 +61,19 @@
6461 OFFSET(IA32_RT_SIGFRAME_sigcontext, rt_sigframe_ia32, uc.uc_mcontext);
6562 #endif
6663
67
-#ifdef CONFIG_PARAVIRT
64
+#ifdef CONFIG_PARAVIRT_XXL
6865 BLANK();
69
- OFFSET(PARAVIRT_PATCH_pv_cpu_ops, paravirt_patch_template, pv_cpu_ops);
70
- OFFSET(PARAVIRT_PATCH_pv_irq_ops, paravirt_patch_template, pv_irq_ops);
71
- OFFSET(PV_IRQ_irq_disable, pv_irq_ops, irq_disable);
72
- OFFSET(PV_IRQ_irq_enable, pv_irq_ops, irq_enable);
73
- OFFSET(PV_CPU_iret, pv_cpu_ops, iret);
74
- OFFSET(PV_CPU_read_cr0, pv_cpu_ops, read_cr0);
75
- OFFSET(PV_MMU_read_cr2, pv_mmu_ops, read_cr2);
66
+ OFFSET(PV_IRQ_irq_disable, paravirt_patch_template, irq.irq_disable);
67
+ OFFSET(PV_IRQ_irq_enable, paravirt_patch_template, irq.irq_enable);
68
+ OFFSET(PV_CPU_iret, paravirt_patch_template, cpu.iret);
69
+ OFFSET(PV_MMU_read_cr2, paravirt_patch_template, mmu.read_cr2);
7670 #endif
7771
7872 #ifdef CONFIG_XEN
7973 BLANK();
8074 OFFSET(XEN_vcpu_info_mask, vcpu_info, evtchn_upcall_mask);
8175 OFFSET(XEN_vcpu_info_pending, vcpu_info, evtchn_upcall_pending);
76
+ OFFSET(XEN_vcpu_info_arch_cr2, vcpu_info, arch.cr2);
8277 #endif
8378
8479 BLANK();
....@@ -90,7 +85,6 @@
9085 OFFSET(BP_kernel_alignment, boot_params, hdr.kernel_alignment);
9186 OFFSET(BP_init_size, boot_params, hdr.init_size);
9287 OFFSET(BP_pref_address, boot_params, hdr.pref_address);
93
- OFFSET(BP_code32_start, boot_params, hdr.code32_start);
9488
9589 BLANK();
9690 DEFINE(PTREGS_SIZE, sizeof(struct pt_regs));
....@@ -99,13 +93,12 @@
9993 OFFSET(TLB_STATE_user_pcid_flush_mask, tlb_state, user_pcid_flush_mask);
10094
10195 /* Layout info for cpu_entry_area */
102
- OFFSET(CPU_ENTRY_AREA_tss, cpu_entry_area, tss);
103
- OFFSET(CPU_ENTRY_AREA_entry_trampoline, cpu_entry_area, entry_trampoline);
10496 OFFSET(CPU_ENTRY_AREA_entry_stack, cpu_entry_area, entry_stack_page);
10597 DEFINE(SIZEOF_entry_stack, sizeof(struct entry_stack));
10698 DEFINE(MASK_entry_stack, (~(sizeof(struct entry_stack) - 1)));
10799
108
- /* Offset for sp0 and sp1 into the tss_struct */
100
+ /* Offset for fields in tss_struct */
109101 OFFSET(TSS_sp0, tss_struct, x86_tss.sp0);
110102 OFFSET(TSS_sp1, tss_struct, x86_tss.sp1);
103
+ OFFSET(TSS_sp2, tss_struct, x86_tss.sp2);
111104 }