Messages in this thread | | | From | Juergen Gross <> | Subject | Re: [PATCH v2 23/24] x86/xen: Rework the xen_{cpu,irq,mmu}_ops[] arrays | Date | Thu, 24 Jun 2021 14:12:51 +0200 |
| |
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] | |