Skip to content

Commit b3d8053

Browse files
committed
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
2 parents 272aa18 + efdaa61 commit b3d8053

File tree

3 files changed

+3
-33
lines changed

3 files changed

+3
-33
lines changed

arch/x86/include/asm/xen/hypercall.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,13 @@ DECLARE_STATIC_CALL(xen_hypercall, xen_hypercall_func);
9494
#ifdef MODULE
9595
#define __ADDRESSABLE_xen_hypercall
9696
#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);)
9899
#endif
99100

100101
#define __HYPERCALL \
101102
__ADDRESSABLE_xen_hypercall \
102-
"call __SCT__xen_hypercall"
103+
__stringify(call STATIC_CALL_TRAMP(xen_hypercall))
103104

104105
#define __HYPERCALL_ENTRY(x) "a" (x)
105106

drivers/xen/xenbus/xenbus_xs.c

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -718,36 +718,13 @@ int xs_watch_msg(struct xs_watch_event *event)
718718
return 0;
719719
}
720720

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-
}
741721
static void xs_reset_watches(void)
742722
{
743723
int err;
744724

745725
if (!xen_hvm_domain() || xen_initial_domain())
746726
return;
747727

748-
if (xen_strict_xenbus_quirk())
749-
return;
750-
751728
if (!xenbus_read_unsigned("control",
752729
"platform-feature-xs_reset_watches", 0))
753730
return;

include/linux/compiler.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -288,14 +288,6 @@ static inline void *offset_to_ptr(const int *off)
288288
#define __ADDRESSABLE(sym) \
289289
___ADDRESSABLE(sym, __section(".discard.addressable"))
290290

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-
299291
/*
300292
* This returns a constant expression while determining if an argument is
301293
* a constant expression, most importantly without evaluating the argument.

0 commit comments

Comments
 (0)