|
@@ -11,10 +11,12 @@
|
|
# define __ASM_FORM_COMMA(x) " " #x ","
|
|
# define __ASM_FORM_COMMA(x) " " #x ","
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-#ifdef CONFIG_X86_32
|
|
|
|
|
|
+#ifndef __x86_64__
|
|
|
|
+/* 32 bit */
|
|
# define __ASM_SEL(a,b) __ASM_FORM(a)
|
|
# define __ASM_SEL(a,b) __ASM_FORM(a)
|
|
# define __ASM_SEL_RAW(a,b) __ASM_FORM_RAW(a)
|
|
# define __ASM_SEL_RAW(a,b) __ASM_FORM_RAW(a)
|
|
#else
|
|
#else
|
|
|
|
+/* 64 bit */
|
|
# define __ASM_SEL(a,b) __ASM_FORM(b)
|
|
# define __ASM_SEL(a,b) __ASM_FORM(b)
|
|
# define __ASM_SEL_RAW(a,b) __ASM_FORM_RAW(b)
|
|
# define __ASM_SEL_RAW(a,b) __ASM_FORM_RAW(b)
|
|
#endif
|
|
#endif
|
|
@@ -139,7 +141,7 @@
|
|
* gets set up by the containing function. If you forget to do this, objtool
|
|
* gets set up by the containing function. If you forget to do this, objtool
|
|
* may print a "call without frame pointer save/setup" warning.
|
|
* may print a "call without frame pointer save/setup" warning.
|
|
*/
|
|
*/
|
|
-register unsigned int __asm_call_sp asm("esp");
|
|
|
|
|
|
+register unsigned long __asm_call_sp asm(_ASM_SP);
|
|
#define ASM_CALL_CONSTRAINT "+r" (__asm_call_sp)
|
|
#define ASM_CALL_CONSTRAINT "+r" (__asm_call_sp)
|
|
#endif
|
|
#endif
|
|
|
|
|