[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6da95feb-e8ea-0c9b-d4c1-fa3556d6026a@suse.com>
Date: Thu, 25 Apr 2019 09:46:15 +0200
From: Juergen Gross <jgross@...e.com>
To: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...nel.org>
Cc: LKML <linux-kernel@...r.kernel.org>, x86@...nel.org,
Andi Kleen <ak@...ux.intel.com>
Subject: Re: [patch 3/3] x86/paravirt: Replace paravirt patch asm magic
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
Powered by blists - more mailing lists