lkml.org 
[lkml]   [2021]   [Jun]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH v2 23/24] x86/xen: Rework the xen_{cpu,irq,mmu}_ops[] arrays
    Date
    On 24.06.21 11:41, Peter Zijlstra wrote:
    > In order to allow objtool to make sense of all the various paravirt
    > functions, it needs to either parse whole pv_ops[] tables, or observe
    > individual assignments in the form:
    >
    > bf87: 48 c7 05 00 00 00 00 00 00 00 00 movq $0x0,0x0(%rip)
    > bf92 <xen_init_spinlocks+0x5f>
    > bf8a: R_X86_64_PC32 pv_ops+0x268
    >
    > As is, xen_cpu_ops[] is at offset +0 in pv_ops[] and could thus be
    > parsed as a 'normal' pv_ops[] table, however xen_irq_ops[] and
    > xen_mmu_ops[] are not.
    >
    > Worse, both the latter two are compiled into the individual assignment
    > for by current GCC, but that's not something one can rely on.
    >
    > Therefore, convert all three into full pv_ops[] tables. This has the
    > benefit of not needing to teach objtool about the offsets and
    > resulting in more conservative code-gen.
    >
    > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>

    First I was worried by the additional memory consumption, but as the
    modified tables are all tagged to be __init I don't think this matters.

    So:

    Reviewed-by: Juergen Gross <jgross@suse.com>


    Juergen
    [unhandled content-type:application/pgp-keys][unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2021-06-24 14:13    [W:6.148 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site