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

📄 hvcall.s

📁 这个linux源代码是很全面的~基本完整了~使用c编译的~由于时间问题我没有亲自测试~但就算用来做参考资料也是非常好的
💻 S
字号:
/* * arch/ppc64/kernel/hvCall.S * * * This file contains the code to perform calls to the * iSeries LPAR hypervisor * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */#include "ppc_asm.h"#include <asm/processor.h>#include <linux/config.h>	.text/*  * Hypervisor call *  * Invoke the iSeries hypervisor via the System Call instruction * Parameters are passed to this routine in registers r3 - r10 *  * r3 contains the HV function to be called * r4-r10 contain the operands to the hypervisor function * */_GLOBAL(HvCall)_GLOBAL(HvCall0)_GLOBAL(HvCall1)_GLOBAL(HvCall2)_GLOBAL(HvCall3)_GLOBAL(HvCall4)_GLOBAL(HvCall5)_GLOBAL(HvCall6)_GLOBAL(HvCall7)	mfcr	r0	std	r0,-8(r1)	stdu	r1,-(STACK_FRAME_OVERHEAD+16)(r1)		/* r0 = 0xffffffffffffffff indicates a hypervisor call */		li	r0,-1		/* Invoke the hypervisor */	sc	ld	r1,0(r1)	ld	r0,-8(r1)	mtcrf	0xff,r0	/*  return to caller, return value in r3 */		blr_GLOBAL(HvCall0Ret16)_GLOBAL(HvCall1Ret16)_GLOBAL(HvCall2Ret16)_GLOBAL(HvCall3Ret16)_GLOBAL(HvCall4Ret16)_GLOBAL(HvCall5Ret16)_GLOBAL(HvCall6Ret16)_GLOBAL(HvCall7Ret16)	mfcr	r0	std	r0,-8(r1)	std	r31,-16(r1)	stdu	r1,-(STACK_FRAME_OVERHEAD+32)(r1)	mr	r31,r4	li	r0,-1	mr	r4,r5	mr	r5,r6	mr	r6,r7	mr	r7,r8	mr	r8,r9	mr	r9,r10	sc	std	r3,0(r31)	std	r4,8(r31)	mr	r3,r5	ld	r1,0(r1)	ld	r0,-8(r1)	mtcrf	0xff,r0	ld	r31,-16(r1)		blr

⌨️ 快捷键说明

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