Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c66b31f3 authored by Tony Luck's avatar Tony Luck Committed by Tony Luck
Browse files

Pull pvops into release branch

parents 50fbe56c 7120569c
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -202,7 +202,11 @@ extern long ia64_cmpxchg_called_with_bad_pointer (void);

#ifndef __ASSEMBLY__
#if defined(CONFIG_PARAVIRT) && defined(__KERNEL__)
#ifdef ASM_SUPPORTED
# define IA64_INTRINSIC_API(name)	paravirt_ ## name
#else
# define IA64_INTRINSIC_API(name)	pv_cpu_ops.name
#endif
#define IA64_INTRINSIC_MACRO(name)	paravirt_ ## name
#else
#define IA64_INTRINSIC_API(name)	ia64_native_ ## name
+6 −0
Original line number Diff line number Diff line
@@ -16,6 +16,12 @@ struct mod_arch_specific {
	struct elf64_shdr *got;		/* global offset table */
	struct elf64_shdr *opd;		/* official procedure descriptors */
	struct elf64_shdr *unwind;	/* unwind-table section */
#ifdef CONFIG_PARAVIRT
	struct elf64_shdr *paravirt_bundles;
					/* paravirt_alt_bundle_patch table */
	struct elf64_shdr *paravirt_insts;
					/* paravirt_alt_inst_patch table */
#endif
	unsigned long gp;		/* global-pointer for module */

	void *core_unw_table;		/* core unwind-table cookie returned by unwinder */
+13 −0
Original line number Diff line number Diff line
@@ -30,6 +30,9 @@
#define __paravirt_work_processed_syscall_target \
						ia64_work_processed_syscall

#define paravirt_fsyscall_table			ia64_native_fsyscall_table
#define paravirt_fsys_bubble_down		ia64_native_fsys_bubble_down

#ifdef CONFIG_PARAVIRT_GUEST_ASM_CLOBBER_CHECK
# define PARAVIRT_POISON	0xdeadbeefbaadf00d
# define CLOBBER(clob)				\
@@ -74,6 +77,11 @@
(pred)	mov reg = psr			\
	CLOBBER(clob)

#define MOV_FROM_ITC(pred, pred_clob, reg, clob)	\
(pred)	mov reg = ar.itc				\
	CLOBBER(clob)					\
	CLOBBER_PRED(pred_clob)

#define MOV_TO_IFA(reg, clob)	\
	mov cr.ifa = reg	\
	CLOBBER(clob)
@@ -158,6 +166,11 @@
#define RSM_PSR_DT		\
	rsm psr.dt

#define RSM_PSR_BE_I(clob0, clob1)	\
	rsm psr.be | psr.i		\
	CLOBBER(clob0)			\
	CLOBBER(clob1)

#define SSM_PSR_DT_AND_SRLZ_I	\
	ssm psr.dt		\
	;;			\
+38 −0
Original line number Diff line number Diff line
/******************************************************************************
 * arch/ia64/include/asm/native/inst.h
 *
 * Copyright (c) 2008 Isaku Yamahata <yamahata at valinux co jp>
 *                    VA Linux Systems Japan K.K.
 *
 * 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.
 *
 * This program is distributed in the hope that 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
 *
 */

#define __paravirt_start_gate_fsyscall_patchlist		\
	__ia64_native_start_gate_fsyscall_patchlist
#define __paravirt_end_gate_fsyscall_patchlist			\
	__ia64_native_end_gate_fsyscall_patchlist
#define __paravirt_start_gate_brl_fsys_bubble_down_patchlist	\
	__ia64_native_start_gate_brl_fsys_bubble_down_patchlist
#define __paravirt_end_gate_brl_fsys_bubble_down_patchlist	\
	__ia64_native_end_gate_brl_fsys_bubble_down_patchlist
#define __paravirt_start_gate_vtop_patchlist			\
	__ia64_native_start_gate_vtop_patchlist
#define __paravirt_end_gate_vtop_patchlist			\
	__ia64_native_end_gate_vtop_patchlist
#define __paravirt_start_gate_mckinley_e9_patchlist		\
	__ia64_native_start_gate_mckinley_e9_patchlist
#define __paravirt_end_gate_mckinley_e9_patchlist		\
	__ia64_native_end_gate_mckinley_e9_patchlist
+8 −0
Original line number Diff line number Diff line
@@ -180,6 +180,11 @@
	IS_PRED_IN(pred)			\
	IS_RREG_OUT(reg)			\
	IS_RREG_CLOB(clob)
#define MOV_FROM_ITC(pred, pred_clob, reg, clob)	\
	IS_PRED_IN(pred)				\
	IS_PRED_CLOB(pred_clob)				\
	IS_RREG_OUT(reg)				\
	IS_RREG_CLOB(clob)
#define MOV_TO_IFA(reg, clob)			\
	IS_RREG_IN(reg)				\
	IS_RREG_CLOB(clob)
@@ -246,6 +251,9 @@
	IS_RREG_CLOB(clob2)
#define RSM_PSR_DT				\
	nop 0
#define RSM_PSR_BE_I(clob0, clob1)		\
	IS_RREG_CLOB(clob0)			\
	IS_RREG_CLOB(clob1)
#define SSM_PSR_DT_AND_SRLZ_I			\
	nop 0
#define BSW_0(clob0, clob1, clob2)		\
Loading