⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asm-xsi-offsets.c

📁 xen虚拟机源代码安装包
💻 C
字号:
/* -*-  Mode:C; c-basic-offset:4; tab-width:4; indent-tabs-mode:nil -*- *//* * asm-xsi-offsets.c_ * Copyright (c) 2005, Intel Corporation. *      Kun Tian (Kevin Tian) <kevin.tian@intel.com> *      Eddie Dong  <eddie.dong@intel.com> *      Fred Yang <fred.yang@intel.com> * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place - Suite 330, Boston, MA 02111-1307 USA. * *//* * Generate definitions needed by assembly language modules. * This code generates raw asm output which is post-processed * to extract and format the required data. */#include <xen/config.h>#include <xen/sched.h>#include <asm/processor.h>#include <asm/ptrace.h>#include <public/xen.h>#include <asm/tlb.h>#include <asm/regs.h>#define task_struct vcpu#define DEFINE(sym, val) \        asm volatile("\n->" #sym " (%0) " #val : : "i" (val))#define BLANK() asm volatile("\n->" : : )#define DEFINE_MAPPED_REG_OFS(sym, field) \	DEFINE(sym, (XMAPPEDREGS_OFS + offsetof(mapped_regs_t, field)))void foo(void){	DEFINE_MAPPED_REG_OFS(XSI_PSR_I_ADDR_OFS, interrupt_mask_addr);	DEFINE_MAPPED_REG_OFS(XSI_IPSR_OFS, ipsr);	DEFINE_MAPPED_REG_OFS(XSI_IIP_OFS, iip);	DEFINE_MAPPED_REG_OFS(XSI_IFS_OFS, ifs);	DEFINE_MAPPED_REG_OFS(XSI_PRECOVER_IFS_OFS, precover_ifs);	DEFINE_MAPPED_REG_OFS(XSI_ISR_OFS, isr);	DEFINE_MAPPED_REG_OFS(XSI_IFA_OFS, ifa);	DEFINE_MAPPED_REG_OFS(XSI_IIPA_OFS, iipa);	DEFINE_MAPPED_REG_OFS(XSI_IIM_OFS, iim);	DEFINE_MAPPED_REG_OFS(XSI_TPR_OFS, tpr);	DEFINE_MAPPED_REG_OFS(XSI_IHA_OFS, iha);	DEFINE_MAPPED_REG_OFS(XSI_ITIR_OFS, itir);	DEFINE_MAPPED_REG_OFS(XSI_ITV_OFS, itv);	DEFINE_MAPPED_REG_OFS(XSI_PTA_OFS, pta);	DEFINE_MAPPED_REG_OFS(XSI_VPSR_DFH_OFS, vpsr_dfh);	DEFINE_MAPPED_REG_OFS(XSI_HPSR_DFH_OFS, hpsr_dfh);	DEFINE_MAPPED_REG_OFS(XSI_PSR_IC_OFS, interrupt_collection_enabled);	DEFINE_MAPPED_REG_OFS(XSI_VPSR_PP_OFS, vpsr_pp);	DEFINE_MAPPED_REG_OFS(XSI_METAPHYS_OFS, metaphysical_mode);	DEFINE_MAPPED_REG_OFS(XSI_BANKNUM_OFS, banknum);	DEFINE_MAPPED_REG_OFS(XSI_BANK0_R16_OFS, bank0_regs[0]);	DEFINE_MAPPED_REG_OFS(XSI_BANK1_R16_OFS, bank1_regs[0]);	DEFINE_MAPPED_REG_OFS(XSI_B0NATS_OFS, vbnat);	DEFINE_MAPPED_REG_OFS(XSI_B1NATS_OFS, vnat);	DEFINE_MAPPED_REG_OFS(XSI_RR0_OFS, rrs[0]);	DEFINE_MAPPED_REG_OFS(XSI_KR0_OFS, krs[0]);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -