Commit fe22bc43 authored by Hou Wenlong's avatar Hou Wenlong Committed by Borislav Petkov (AMD)
Browse files

x86/paravirt: Make the struct paravirt_patch_site packed



Similar to struct alt_instr, make the struct paravirt_patch_site packed
and get rid of all the .align directives and save 2 bytes for one
PARA_SITE entry on X86_64.

  [ bp: Massage commit message. ]

Suggested-by: default avatarNadav Amit <namit@vmware.com>
Signed-off-by: default avatarHou Wenlong <houwenlong.hwl@antgroup.com>
Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/6dcb20159ded36586c5f7f2ae159e4e030256627.1686301237.git.houwenlong.hwl@antgroup.com
parent 5c22c472
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -748,11 +748,9 @@ void native_pv_lock_init(void) __init;
	ops;					\
772:;						\
	.pushsection .parainstructions,"a";	\
	 .align	4;				\
	 .long 771b-.;				\
	 .byte ptype;				\
	 .byte 772b-771b;			\
	 .align 4;				\
	.popsection


+1 −3
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ struct paravirt_patch_site {
	s32 instr_offset;	/* original instructions */
	u8 type;		/* type of this instruction */
	u8 len;			/* length of original instruction */
};
} __packed;
#endif

#ifdef CONFIG_PARAVIRT
@@ -263,11 +263,9 @@ extern struct paravirt_patch_template pv_ops;
#define _paravirt_alt(insn_string, type)		\
	"771:\n\t" insn_string "\n" "772:\n"		\
	".pushsection .parainstructions,\"a\"\n"	\
	"  .align 4\n"					\
	"  .long 771b-.\n"				\
	"  .byte " type "\n"				\
	"  .byte 772b-771b\n"				\
	"  .align 4\n"					\
	".popsection\n"

/* Generate patchable code, with the default asm parameters. */