All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jan Beulich" <JBeulich@suse.com>
To: Roy Franz <roy.franz@linaro.org>
Cc: keir <keir@xen.org>, Ian Campbell <ian.campbell@citrix.com>,
	tim <tim@xen.org>, xen-devel <xen-devel@lists.xen.org>,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	Fu Wei <fu.wei@linaro.org>
Subject: Re: [PATCH V5 02/15] Move x86 specific funtions/variables to arch header
Date: Tue, 23 Sep 2014 13:24:13 +0100	[thread overview]
Message-ID: <5421828D0200007800037982@mail.emea.novell.com> (raw)
In-Reply-To: <CAFECyb_BK7oA3CmkdqxGeDnsNLsgUbj6ynAshb3UG-jieXk3Jw@mail.gmail.com>

>>> On 23.09.14 at 04:08, <roy.franz@linaro.org> wrote:
> On Mon, Sep 22, 2014 at 5:54 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>> On 19.09.14 at 00:49, <roy.franz@linaro.org> wrote:
>>> --- /dev/null
>>> +++ b/xen/include/asm-x86/efi-boot.h
>>> @@ -0,0 +1,135 @@
>>> +/*
>>> + * Architecture specific implementation for EFI boot code.  This file
>>> + * is intended to be included by XXX _only_, and therefore can define
>>> + * arch specific global variables.
>>> + */
>>> +#include <asm/e820.h>
>>> +#include <asm/edd.h>
>>> +#define __ASSEMBLY__ /* avoid pulling in ACPI stuff (conflicts with EFI) */
>>> +#include <asm/fixmap.h>
>>> +#undef __ASSEMBLY__
>>> +#include <asm/msr.h>
>>> +#include <asm/processor.h>
>>> +
>>> +static struct file __initdata ucode;
>>> +static multiboot_info_t __initdata mbi = {
>>> +    .flags = MBI_MODULES | MBI_LOADERNAME
>>> +};
>>> +static module_t __initdata mb_modules[3];
>>> +
>>> +extern char start[];
>>> +extern u32 cpuid_ext_features;
>>
>> I don't think these (and other extern-s) are valid to be put here.
> 
> Why not, and where should they go??
> 
> cpuid_ext_features is x86 architecture specific, and start[] is only
> used by the x86 code by the place_string() allocator.  The extern
> declaration is in the file in which the variables are referenced.

I'm sorry, I only now realized they're both currently being declared
in boot.c, so moving them here is kind of okay. Nevertheless it
would seem better to find them a more appropriate home: start[]
could likely go alongside _start[] in xen/kernel.h, and
cpuid_ext_features would seem to fit into either
asm-x86/cpufeature.h or asm-x86/processor.h.

> extern l4_pgentry_t *efi_l4_pgtable;
> maybe should be moved back to boot.c for now, but this is an x86
> specific structure that is only referenced there due to the
> runtime code being #ifdef'ed out.

It's currently being declared in xen/arch/x86/efi/efi.h, and I
can't really see why this isn't sufficient.

Speaking of which - putting the new header under asm-x86/ instead
of in x86/efi/ seems bogus with the changed symlinking model too.
The header should be as private as possible. Perhaps what you put
there could even go into said efi.h (possibly inside a suitable #if)?

Jan

  reply	other threads:[~2014-09-23 12:24 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-18 22:49 [PATCH V5 00/15] arm64 EFI stub Roy Franz
2014-09-18 22:49 ` [PATCH V5 01/15] move x86 EFI boot/runtime code to common/efi Roy Franz
2014-09-19  8:49   ` Jan Beulich
2014-09-22 10:51     ` Ian Campbell
2014-09-18 22:49 ` [PATCH V5 02/15] Move x86 specific funtions/variables to arch header Roy Franz
2014-09-19  8:37   ` Jan Beulich
2014-09-22 10:52     ` Ian Campbell
2014-09-22 10:56       ` Jan Beulich
2014-09-22 11:09         ` Ian Campbell
2014-09-22 11:31           ` Jan Beulich
2014-09-22 12:54   ` Jan Beulich
2014-09-23  2:08     ` Roy Franz
2014-09-23 12:24       ` Jan Beulich [this message]
2014-09-24  2:35         ` Roy Franz
2014-09-24  8:12           ` Jan Beulich
2014-09-18 22:49 ` [PATCH V5 03/15] create arch functions to allocate memory for and process EFI memory map Roy Franz
2014-09-19  8:47   ` Jan Beulich
2014-09-23  1:14     ` Roy Franz
2014-09-18 22:49 ` [PATCH V5 04/15] Add architecture functions for pre/post ExitBootServices Roy Franz
2014-09-22 12:11   ` Jan Beulich
2014-09-18 22:49 ` [PATCH V5 05/15] Add efi_arch_cfg_file_early/late() to handle arch specific cfg file fields Roy Franz
2014-09-22 12:13   ` Jan Beulich
2014-09-18 22:49 ` [PATCH V5 06/15] Add efi_arch_handle_cmdline() for processing commandline Roy Franz
2014-09-22 12:17   ` Jan Beulich
2014-09-23  1:40     ` Roy Franz
2014-09-23 12:25       ` Jan Beulich
2014-09-24  0:09         ` Roy Franz
2014-09-24  8:13           ` Jan Beulich
2014-09-24  9:33             ` Ian Campbell
2014-09-24 11:34               ` Jan Beulich
2014-09-18 22:49 ` [PATCH V5 07/15] Move x86 specific disk probing code Roy Franz
2014-09-22 12:20   ` Jan Beulich
2014-09-23  1:44     ` Roy Franz
2014-09-18 22:49 ` [PATCH V5 08/15] Create arch functions for console and video init Roy Franz
2014-09-22 12:21   ` Jan Beulich
2014-09-18 22:50 ` [PATCH V5 09/15] Add efi_arch_memory() for arch specific memory setup Roy Franz
2014-09-22 12:24   ` Jan Beulich
2014-09-23  1:45     ` Roy Franz
2014-09-18 22:50 ` [PATCH V5 10/15] Add arch specific module handling to read_file() Roy Franz
2014-09-22 12:44   ` Jan Beulich
2014-09-23  1:57     ` Roy Franz
2014-09-23 12:28       ` Jan Beulich
2014-09-23 12:41         ` Ian Campbell
2014-09-23 12:55           ` Jan Beulich
2014-09-24  1:23       ` Roy Franz
2014-09-24  4:43         ` Roy Franz
2014-09-24  8:18         ` Jan Beulich
2014-09-18 22:50 ` [PATCH V5 11/15] Add several misc. arch functions for EFI boot code Roy Franz
2014-09-22 12:45   ` Jan Beulich
2014-09-18 22:50 ` [PATCH V5 12/15] Add efi_arch_use_config_file() function to control use of config file Roy Franz
2014-09-22 12:48   ` Jan Beulich
2014-09-23  1:59     ` Roy Franz
2014-09-18 22:50 ` [PATCH V5 13/15] add arm64 cache flushing code from linux v3.16 Roy Franz
2014-09-22 10:54   ` Ian Campbell
2014-09-22 23:42     ` Roy Franz
2014-09-23  7:42       ` Ian Campbell
2014-09-18 22:50 ` [PATCH V5 14/15] Update libfdt to v1.4.0 Roy Franz
2014-09-22 11:20   ` Ian Campbell
2014-09-22 23:57     ` Roy Franz
2014-09-23  7:43       ` Ian Campbell
2014-09-18 22:50 ` [PATCH V5 15/15] Add ARM EFI boot support Roy Franz
2014-09-22 11:20   ` Ian Campbell
2014-09-22 23:50     ` Roy Franz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5421828D0200007800037982@mail.emea.novell.com \
    --to=jbeulich@suse.com \
    --cc=fu.wei@linaro.org \
    --cc=ian.campbell@citrix.com \
    --cc=keir@xen.org \
    --cc=roy.franz@linaro.org \
    --cc=stefano.stabellini@citrix.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.