Re: [PATCHv7 05/14] x86/boot: Add infrastructure required for unaccepted memory support

Kirill A. Shutemov
2022-06-15T15:03:31Z

On Wed, Jun 15, 2022 at 12:19:45PM +0200, Peter Zijlstra wrote:
> On Tue, Jun 14, 2022 at 03:02:22PM +0300, Kirill A. Shutemov wrote:
> > Pull functionality from the main kernel headers and lib/ that is
> > required for unaccepted memory support.
> >
> > This is preparatory patch. The users for the functionality will come in
> > following patches.
> >
> > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > ---
> > arch/x86/boot/bitops.h | 40 ++++++++++++
> > arch/x86/boot/compressed/align.h | 14 +++++
> > arch/x86/boot/compressed/bitmap.c | 43 +++++++++++++
> > arch/x86/boot/compressed/bitmap.h | 49 +++++++++++++++
> > arch/x86/boot/compressed/bits.h | 36 +++++++++++
> > arch/x86/boot/compressed/compiler.h | 9 +++
> > arch/x86/boot/compressed/find.c | 54 ++++++++++++++++
> > arch/x86/boot/compressed/find.h | 80 ++++++++++++++++++++++++
> > arch/x86/boot/compressed/math.h | 37 +++++++++++
> > arch/x86/boot/compressed/minmax.h | 61 ++++++++++++++++++
> > arch/x86/boot/compressed/pgtable_types.h | 25 ++++++++
>
> That's quite a lot of duplicated code; is there really no way so share
> this?

Code duplication also make me uncomfortable. But that what Borislav wanted
to see. efi.h in the boot stub which copies bulk of <linux/efi.h> also
sets the trend in the direction.

Alternative is creating a subset of headers that can be used in both in
main kernel and boot stub. It is more complex and doesn't allow for short
cuts that can be made on copy if you know the context it is used in.

It also sounds painfully similar to uapi/ project. I'm not sure we want to
go this path.

--
Kirill A. Shutemov