Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'for-linus-6.17-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull xen fixes from Juergen Gross:
"Two small cleanups which are both relevant only when running as a Xen
guest"

* tag 'for-linus-6.17-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
drivers/xen/xenbus: remove quirk for Xen 3.x
compiler: remove __ADDRESSABLE_ASM{_STR,}() again

+3 -33
+3 -2
arch/x86/include/asm/xen/hypercall.h
··· 94 94 #ifdef MODULE 95 95 #define __ADDRESSABLE_xen_hypercall 96 96 #else 97 - #define __ADDRESSABLE_xen_hypercall __ADDRESSABLE_ASM_STR(__SCK__xen_hypercall) 97 + #define __ADDRESSABLE_xen_hypercall \ 98 + __stringify(.global STATIC_CALL_KEY(xen_hypercall);) 98 99 #endif 99 100 100 101 #define __HYPERCALL \ 101 102 __ADDRESSABLE_xen_hypercall \ 102 - "call __SCT__xen_hypercall" 103 + __stringify(call STATIC_CALL_TRAMP(xen_hypercall)) 103 104 104 105 #define __HYPERCALL_ENTRY(x) "a" (x) 105 106
-23
drivers/xen/xenbus/xenbus_xs.c
··· 718 718 return 0; 719 719 } 720 720 721 - /* 722 - * Certain older XenBus toolstack cannot handle reading values that are 723 - * not populated. Some Xen 3.4 installation are incapable of doing this 724 - * so if we are running on anything older than 4 do not attempt to read 725 - * control/platform-feature-xs_reset_watches. 726 - */ 727 - static bool xen_strict_xenbus_quirk(void) 728 - { 729 - #ifdef CONFIG_X86 730 - uint32_t eax, ebx, ecx, edx, base; 731 - 732 - base = xen_cpuid_base(); 733 - cpuid(base + 1, &eax, &ebx, &ecx, &edx); 734 - 735 - if ((eax >> 16) < 4) 736 - return true; 737 - #endif 738 - return false; 739 - 740 - } 741 721 static void xs_reset_watches(void) 742 722 { 743 723 int err; 744 724 745 725 if (!xen_hvm_domain() || xen_initial_domain()) 746 - return; 747 - 748 - if (xen_strict_xenbus_quirk()) 749 726 return; 750 727 751 728 if (!xenbus_read_unsigned("control",
-8
include/linux/compiler.h
··· 288 288 #define __ADDRESSABLE(sym) \ 289 289 ___ADDRESSABLE(sym, __section(".discard.addressable")) 290 290 291 - #define __ADDRESSABLE_ASM(sym) \ 292 - .pushsection .discard.addressable,"aw"; \ 293 - .align ARCH_SEL(8,4); \ 294 - ARCH_SEL(.quad, .long) __stringify(sym); \ 295 - .popsection; 296 - 297 - #define __ADDRESSABLE_ASM_STR(sym) __stringify(__ADDRESSABLE_ASM(sym)) 298 - 299 291 /* 300 292 * This returns a constant expression while determining if an argument is 301 293 * a constant expression, most importantly without evaluating the argument.