xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "Jan Beulich" <JBeulich@suse.com>
To: Daniel Kiper <daniel.kiper@oracle.com>
Cc: Juergen Gross <JGross@suse.com>,
	grub-devel@gnu.org, wei.liu2@citrix.com, ian.campbell@citrix.com,
	stefano.stabellini@eu.citrix.com, andrew.cooper3@citrix.com,
	roy.franz@linaro.org, ning.sun@intel.com,
	david.vrabel@citrix.com, phcoder@gmail.com,
	xen-devel@lists.xenproject.org, qiaowei.ren@intel.com,
	keir@xen.org, richard.l.maliszewski@intel.com,
	gang.wei@intel.com, fu.wei@linaro.org
Subject: Re: [PATCH v2 08/23] x86: add multiboot2 protocol support
Date: Tue, 18 Aug 2015 08:20:13 -0600	[thread overview]
Message-ID: <55D35B3D020000780009BB58@prv-mh.provo.novell.com> (raw)
In-Reply-To: <20150818120001.GC7143@olila.local.net-space.pl>

>>> On 18.08.15 at 14:00, <daniel.kiper@oracle.com> wrote:
> On Tue, Aug 18, 2015 at 02:12:58AM -0600, Jan Beulich wrote:
>> >>> On 20.07.15 at 16:29, <daniel.kiper@oracle.com> wrote:
>> > @@ -119,10 +213,11 @@ __start:
>> >
>> >          /* Save the Multiboot info struct (after relocation) for later use. */
>> >          mov     $sym_phys(cpu0_stack)+1024,%esp
>> > +        push    %eax                /* Multiboot magic. */
>> >          push    %ebx                /* Multiboot information address. */
>> >          push    %ecx                /* Boot trampoline address. */
>> >          call    reloc
>> > -        add     $8,%esp             /* Remove reloc() args from stack. */
>> > +        add     $12,%esp            /* Remove reloc() args from stack. */
>>
>> The latest now it becomes clear that the arguments passed are
>> kind of backwards: One would expect the qualifying value (i.e.
>> the magic) to come first, then the info pointer, and last the
>> trampoline address.
> 
> Yep, you are right. However, I wanted to avoid changing order of arguments
> to not confuse reader. If you wish I can change that thing.

Yes please: Between confusing the reader of the patch and the reader
of the resulting code, the former is the less problematic one. Furthermore
with the function having just one argument before your series you have
all options to avoid confusing the reader of the patches - just insert the
new arguments at the right slot in each patch adding one.

>> > +        case MULTIBOOT2_TAG_TYPE_MMAP:
>> > +            mbi_out->flags |= MBI_MEMMAP;
>> > +            mbi_out->mmap_length = get_mb2_data(tag, multiboot2_tag_mmap_t, size);
>> > +            mbi_out->mmap_length -= sizeof(multiboot2_tag_mmap_t);
>> > +            mbi_out->mmap_length += sizeof(((multiboot2_tag_mmap_t){0}).entries);
>>
>> Afaict this sizeof() evaluates to zero. And even if it didn't I can't see
>> what the line is good for.
> 
> Right, I have missed that. However, if it does not evaluate to zero then
> you must add back relevant number of entries which you subtracted one
> line above. Otherwise count of entries will be incorrect.

There's no count being subtracted afaict - what is being subtracted
is the size of the rest of the structure.

>> Dropping the "static" would permit to also drop the "used" attribute.
>> Since it was that way before, why didn't you keep it that way?
> 
> Yep, but I do not like this solution. Lack of static suggests that this 
> function
> is used elsewhere. I prefer to explicitly say that there are not external 
> users
> of that function and silence compiler warnings with __used.

If you want to do this, then not in the middle of some already big
patch doing something completely different, but in a separate
cleanup patch explaining what you explained above (which is not
to say that I'm convinced, and hence I can't promise such a change
to ultimately go in).

Jan

  reply	other threads:[~2015-08-18 14:20 UTC|newest]

Thread overview: 116+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1437402558-7313-1-git-send-email-daniel.kiper@oracle.com>
2015-07-20 14:28 ` [PATCH v2 01/23] x86/boot: remove unneeded instruction Daniel Kiper
2015-07-20 14:28 ` [PATCH v2 02/23] x86/boot: copy only text section from *.lnk file to *.bin file Daniel Kiper
2015-07-20 14:28 ` [PATCH v2 03/23] x86: zero BSS using stosl instead of stosb Daniel Kiper
2015-07-20 14:28 ` [PATCH v2 04/23] x86/boot: call reloc() using cdecl calling convention Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 05/23] x86/boot/reloc: create generic alloc and copy functions Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 06/23] x86/boot: use %ecx instead of %eax Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 07/23] x86/boot/reloc: Rename some variables and rearrange code a bit Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 08/23] x86: add multiboot2 protocol support Daniel Kiper
2015-08-10 19:17   ` Konrad Rzeszutek Wilk
     [not found]   ` <20150810191747.GE13576@l.oracle.com>
2015-08-13 19:22     ` Daniel Kiper
     [not found]     ` <20150813192212.GI3503@olila.local.net-space.pl>
2015-08-14 10:03       ` Jan Beulich
     [not found]       ` <55CDD8F4020000780009AF3C@prv-mh.provo.novell.com>
2015-08-15  6:00         ` Andrew Cooper
2015-08-18  8:12   ` Jan Beulich
2015-08-18 12:00     ` Daniel Kiper
2015-08-18 14:20       ` Jan Beulich [this message]
2015-07-20 14:29 ` [PATCH v2 09/23] efi: create efi_enabled() Daniel Kiper
2015-08-10 19:20   ` Konrad Rzeszutek Wilk
2015-08-20 15:18   ` Jan Beulich
2015-08-22 12:33     ` Daniel Kiper
     [not found]     ` <20150822123359.GX7143@olila.local.net-space.pl>
2015-08-24 11:29       ` Jan Beulich
2015-07-20 14:29 ` [PATCH v2 10/23] efi: build xen.gz with EFI code Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 11/23] efi: split out efi_init() Daniel Kiper
2015-08-10 19:25   ` Konrad Rzeszutek Wilk
2015-07-20 14:29 ` [PATCH v2 12/23] efi: split out efi_console_set_mode() Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 13/23] efi: split out efi_get_gop() Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 14/23] efi: split out efi_find_gop_mode() Daniel Kiper
2015-08-10 19:31   ` Konrad Rzeszutek Wilk
2015-08-20 15:48   ` Jan Beulich
2015-07-20 14:29 ` [PATCH v2 15/23] efi: split out efi_tables() Daniel Kiper
2015-08-10 19:32   ` Konrad Rzeszutek Wilk
2015-07-20 14:29 ` [PATCH v2 16/23] efi: split out efi_variables() Daniel Kiper
2015-08-10 19:34   ` Konrad Rzeszutek Wilk
2015-07-20 14:29 ` [PATCH v2 17/23] efi: split out efi_set_gop_mode() Daniel Kiper
2015-08-10 19:34   ` Konrad Rzeszutek Wilk
2015-07-20 14:29 ` [PATCH v2 18/23] efi: split out efi_exit_boot() Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 19/23] x86/efi: create new early memory allocator Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 20/23] x86: add multiboot2 protocol support for EFI platforms Daniel Kiper
2015-08-10 20:07   ` Konrad Rzeszutek Wilk
2015-08-11 15:23   ` Konrad Rzeszutek Wilk
2015-08-27 12:01   ` Jan Beulich
     [not found]   ` <55DF1836020000780009D674@prv-mh.provo.novell.com>
2015-09-22 15:21     ` Daniel Kiper
2015-09-22 15:58       ` Jan Beulich
2015-07-20 14:29 ` [PATCH v2 21/23] x86/boot: implement early command line parser in C Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 22/23] x86: make Xen early boot code relocatable Daniel Kiper
2015-07-20 14:29 ` [PATCH v2 23/23] x86: add multiboot2 protocol support for relocatable images Daniel Kiper
2015-08-11 16:56   ` Konrad Rzeszutek Wilk
     [not found]   ` <20150811165658.GC32231@l.oracle.com>
2015-08-14 11:57     ` Daniel Kiper
     [not found]     ` <20150814115701.GB8034@olila.local.net-space.pl>
2015-08-14 13:43       ` Konrad Rzeszutek Wilk
     [not found] ` <1437402558-7313-3-git-send-email-daniel.kiper@oracle.com>
2015-07-21  9:35   ` [PATCH v2 02/23] x86/boot: copy only text section from *.lnk file to *.bin file Jan Beulich
2015-07-21 17:23     ` Daniel Kiper
2015-07-22  5:14       ` Jan Beulich
2015-07-22  8:02       ` Jan Beulich
2015-07-22 13:31         ` Daniel Kiper
2015-07-22 14:07           ` Jan Beulich
     [not found] ` <1437402558-7313-4-git-send-email-daniel.kiper@oracle.com>
2015-07-21  9:37   ` [PATCH v2 03/23] x86: zero BSS using stosl instead of stosb Jan Beulich
2015-07-21 18:23     ` Daniel Kiper
2015-07-22  5:18       ` Jan Beulich
2015-07-22  8:42         ` Andrew Cooper
2015-07-22 10:04           ` Jan Beulich
2015-07-22 11:22             ` Andrew Cooper
2015-07-22 11:48               ` Jan Beulich
2015-07-21  9:39 ` [PATCH v2 00/23] x86: multiboot2 protocol support Jan Beulich
     [not found] ` <1437402558-7313-2-git-send-email-daniel.kiper@oracle.com>
2015-07-24 16:22   ` [PATCH v2 01/23] x86/boot: remove unneeded instruction Konrad Rzeszutek Wilk
     [not found]   ` <20150724162257.GB2220@l.oracle.com>
2015-07-27 19:46     ` Daniel Kiper
     [not found]     ` <20150727194608.GB3492@olila.local.net-space.pl>
2015-08-10 16:07       ` Konrad Rzeszutek Wilk
     [not found] ` <1437402558-7313-5-git-send-email-daniel.kiper@oracle.com>
2015-08-10 16:33   ` [PATCH v2 04/23] x86/boot: call reloc() using cdecl calling convention Konrad Rzeszutek Wilk
2015-08-17 15:44   ` Jan Beulich
     [not found] ` <1437402558-7313-7-git-send-email-daniel.kiper@oracle.com>
2015-08-10 16:36   ` [PATCH v2 06/23] x86/boot: use %ecx instead of %eax Konrad Rzeszutek Wilk
     [not found] ` <1437402558-7313-8-git-send-email-daniel.kiper@oracle.com>
2015-08-10 16:40   ` [PATCH v2 07/23] x86/boot/reloc: Rename some variables and rearrange code a bit Konrad Rzeszutek Wilk
2015-08-17 15:55   ` Jan Beulich
     [not found] ` <1437402558-7313-11-git-send-email-daniel.kiper@oracle.com>
2015-08-10 19:24   ` [PATCH v2 10/23] efi: build xen.gz with EFI code Konrad Rzeszutek Wilk
2015-08-20 15:39   ` Jan Beulich
2015-08-22 13:59     ` Daniel Kiper
     [not found]     ` <20150822135919.GY7143@olila.local.net-space.pl>
2015-08-24 11:35       ` Jan Beulich
2015-08-24 20:54         ` Daniel Kiper
     [not found]         ` <20150824205445.GG7143@olila.local.net-space.pl>
2015-08-25 10:50           ` Andrew Cooper
2015-08-25 12:09           ` Jan Beulich
     [not found]           ` <55DC485D.4030904@citrix.com>
2015-08-25 15:39             ` Daniel Kiper
     [not found]           ` <55DC7705020000780009CE76@prv-mh.provo.novell.com>
2015-08-25 16:31             ` Daniel Kiper
     [not found]             ` <20150825163141.GJ7143@olila.local.net-space.pl>
2015-08-26  6:46               ` Jan Beulich
     [not found]               ` <55DD7CDE020000780009D086@prv-mh.provo.novell.com>
2015-08-26 12:33                 ` Daniel Kiper
     [not found]                 ` <20150826123356.GB10861@olila.local.net-space.pl>
2015-08-26 12:40                   ` Jan Beulich
     [not found]                   ` <55DDCFD6020000780009D226@prv-mh.provo.novell.com>
2015-08-26 12:58                     ` Daniel Kiper
     [not found] ` <1437402558-7313-13-git-send-email-daniel.kiper@oracle.com>
2015-08-10 19:25   ` [PATCH v2 12/23] efi: split out efi_console_set_mode() Konrad Rzeszutek Wilk
     [not found] ` <1437402558-7313-14-git-send-email-daniel.kiper@oracle.com>
2015-08-10 19:27   ` [PATCH v2 13/23] efi: split out efi_get_gop() Konrad Rzeszutek Wilk
     [not found] ` <1437402558-7313-19-git-send-email-daniel.kiper@oracle.com>
2015-08-10 19:36   ` [PATCH v2 18/23] efi: split out efi_exit_boot() Konrad Rzeszutek Wilk
     [not found] ` <1437402558-7313-20-git-send-email-daniel.kiper@oracle.com>
2015-08-10 19:49   ` [PATCH v2 19/23] x86/efi: create new early memory allocator Konrad Rzeszutek Wilk
2015-08-27 11:23   ` Jan Beulich
     [not found] ` <1437402558-7313-6-git-send-email-daniel.kiper@oracle.com>
2015-08-17 15:51   ` [PATCH v2 05/23] x86/boot/reloc: create generic alloc and copy functions Jan Beulich
     [not found]   ` <55D21F3E020000780009B716@prv-mh.provo.novell.com>
2015-08-17 22:03     ` Daniel Kiper
     [not found] ` <1437402558-7313-22-git-send-email-daniel.kiper@oracle.com>
2015-08-10 20:31   ` [PATCH v2 21/23] x86/boot: implement early command line parser in C Konrad Rzeszutek Wilk
2015-08-11 14:43   ` Konrad Rzeszutek Wilk
2015-08-27 12:43   ` Jan Beulich
     [not found]   ` <55DF221B020000780009D6C6@prv-mh.provo.novell.com>
2015-09-22 17:03     ` Daniel Kiper
     [not found]     ` <20150922170332.GH3501@olila.local.net-space.pl>
2015-09-23  7:25       ` Jan Beulich
     [not found] ` <1437402558-7313-23-git-send-email-daniel.kiper@oracle.com>
2015-08-11 16:48   ` [PATCH v2 22/23] x86: make Xen early boot code relocatable Konrad Rzeszutek Wilk
     [not found]   ` <20150811164806.GB32231@l.oracle.com>
2015-08-14 11:52     ` Daniel Kiper
     [not found]     ` <20150814115205.GA8034@olila.local.net-space.pl>
2015-08-14 12:49       ` Jan Beulich
     [not found]       ` <55CDFFEE020000780009B0B0@prv-mh.provo.novell.com>
2015-08-14 13:59         ` Daniel Kiper
     [not found]         ` <20150814135904.GC8034@olila.local.net-space.pl>
2015-08-14 14:32           ` Jan Beulich
     [not found]           ` <55CE1805020000780009B1C0@prv-mh.provo.novell.com>
2015-08-14 14:37             ` Daniel Kiper
     [not found]             ` <20150814143729.GE8034@olila.local.net-space.pl>
2015-08-14 15:12               ` Jan Beulich
2015-08-14 15:20       ` Konrad Rzeszutek Wilk
2015-08-27 13:12   ` Jan Beulich
     [not found]   ` <55DF28E6020000780009D6E4@prv-mh.provo.novell.com>
2015-08-27 15:10     ` Daniel Kiper
     [not found]     ` <20150827151054.GI10944@olila.local.net-space.pl>
2015-08-27 15:29       ` Jan Beulich
     [not found]       ` <55DF48FB020000780009D83F@prv-mh.provo.novell.com>
2015-08-27 17:56         ` Ben Hildred
2015-08-27 18:04         ` Andrew Cooper
     [not found]         ` <55DF5125.20708@citrix.com>
2015-08-28  6:54           ` Jan Beulich
     [not found]           ` <55E021C4020000780009DA95@prv-mh.provo.novell.com>
2015-08-28 11:59             ` Andrew Cooper
     [not found]         ` <CAKcyEGpdnJUXA=uW4cNdcLn9xS7fUDowzzCbhn6c1yTh4WkPGg@mail.gmail.com>
2015-08-28  8:22           ` Jan Beulich
     [not found]           ` <55E03676020000780009DAFB@prv-mh.provo.novell.com>
2015-08-28 13:42             ` Konrad Rzeszutek Wilk
     [not found]             ` <20150828134214.GC2412@l.oracle.com>
2015-08-28 14:16               ` Jan Beulich
2015-08-31 19:49                 ` Daniel Kiper
     [not found]                 ` <20150831194956.GJ4530@olila.local.net-space.pl>
2015-09-01  6:59                   ` Jan Beulich
2015-08-28 14:24         ` Jan Beulich

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=55D35B3D020000780009BB58@prv-mh.provo.novell.com \
    --to=jbeulich@suse.com \
    --cc=JGross@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=daniel.kiper@oracle.com \
    --cc=david.vrabel@citrix.com \
    --cc=fu.wei@linaro.org \
    --cc=gang.wei@intel.com \
    --cc=grub-devel@gnu.org \
    --cc=ian.campbell@citrix.com \
    --cc=keir@xen.org \
    --cc=ning.sun@intel.com \
    --cc=phcoder@gmail.com \
    --cc=qiaowei.ren@intel.com \
    --cc=richard.l.maliszewski@intel.com \
    --cc=roy.franz@linaro.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).