Messages in this thread | | | Subject | Re: [patch 3/3] x86/paravirt: Replace paravirt patch asm magic | From | Juergen Gross <> | Date | Thu, 25 Apr 2019 09:46:15 +0200 |
| |
On 25/04/2019 09:22, Thomas Gleixner wrote: > On Thu, 25 Apr 2019, Ingo Molnar wrote: >>> +# else >>> + .irq_restore_fl = { 0x50, 0x9d }, // push %eax; popf >>> + .mmu_write_cr3 = { 0x0f, 0x22, 0xd8 }, // mov %eax, %cr3 >>> + .cpu_iret = { 0xcf }, // iret >>> +# endif >> >> I think these open-coded hexa versions are somewhat fragile as well, how >> about putting these into a .S file and controlling the sections in an LTO >> safe manner there? >> >> That will also allow us to write proper asm, and global labels can be >> used to extract the patchlets and their length? > > We are not changing these any other day and I really don't see a reason to > have these things global just because.
What about generating the hex values from the Makefile using a temporary .S file? This would make the result easy verifiable and I don't think setting this up is too complicated.
Juergen
| |