Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 94896
Collapse All | Expand All

(-)/usr/include/asm/system.h.orig (-4 / +4 lines)
Lines 299-305 Link Here
299
 */
299
 */
300
#define alternative(oldinstr, newinstr, feature) 	\
300
#define alternative(oldinstr, newinstr, feature) 	\
301
	asm volatile ("661:\n\t" oldinstr "\n662:\n" 		     \
301
	asm volatile ("661:\n\t" oldinstr "\n662:\n" 		     \
302
		      ".section .altinstructions,\"a\"\n"     	     \
302
		      ".section .altinstructions,\"aw\"\n"     	     \
303
		      "  .align 4\n"				       \
303
		      "  .align 4\n"				       \
304
		      "  .long 661b\n"            /* label */          \
304
		      "  .long 661b\n"            /* label */          \
305
		      "  .long 663f\n"		  /* new instruction */ 	\
305
		      "  .long 663f\n"		  /* new instruction */ 	\
Lines 307-313 Link Here
307
		      "  .byte 662b-661b\n"       /* sourcelen */      \
307
		      "  .byte 662b-661b\n"       /* sourcelen */      \
308
		      "  .byte 664f-663f\n"       /* replacementlen */ \
308
		      "  .byte 664f-663f\n"       /* replacementlen */ \
309
		      ".previous\n"						\
309
		      ".previous\n"						\
310
		      ".section .altinstr_replacement,\"ax\"\n"			\
310
		      ".section .altinstr_replacement,\"awx\"\n"			\
311
		      "663:\n\t" newinstr "\n664:\n"   /* replacement */    \
311
		      "663:\n\t" newinstr "\n664:\n"   /* replacement */    \
312
		      ".previous" :: "i" (feature) : "memory")  
312
		      ".previous" :: "i" (feature) : "memory")  
313
313
Lines 323-329 Link Here
323
 */
323
 */
324
#define alternative_input(oldinstr, newinstr, feature, input)			\
324
#define alternative_input(oldinstr, newinstr, feature, input)			\
325
	asm volatile ("661:\n\t" oldinstr "\n662:\n"				\
325
	asm volatile ("661:\n\t" oldinstr "\n662:\n"				\
326
		      ".section .altinstructions,\"a\"\n"			\
326
		      ".section .altinstructions,\"aw\"\n"			\
327
		      "  .align 4\n"						\
327
		      "  .align 4\n"						\
328
		      "  .long 661b\n"            /* label */			\
328
		      "  .long 661b\n"            /* label */			\
329
		      "  .long 663f\n"		  /* new instruction */ 	\
329
		      "  .long 663f\n"		  /* new instruction */ 	\
Lines 331-337 Link Here
331
		      "  .byte 662b-661b\n"       /* sourcelen */		\
331
		      "  .byte 662b-661b\n"       /* sourcelen */		\
332
		      "  .byte 664f-663f\n"       /* replacementlen */ 		\
332
		      "  .byte 664f-663f\n"       /* replacementlen */ 		\
333
		      ".previous\n"						\
333
		      ".previous\n"						\
334
		      ".section .altinstr_replacement,\"ax\"\n"			\
334
		      ".section .altinstr_replacement,\"awx\"\n"			\
335
		      "663:\n\t" newinstr "\n664:\n"   /* replacement */ 	\
335
		      "663:\n\t" newinstr "\n664:\n"   /* replacement */ 	\
336
		      ".previous" :: "i" (feature), input)  
336
		      ".previous" :: "i" (feature), input)  
337
337

Return to bug 94896