All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: Daniel Kiper <daniel.kiper@oracle.com>
Cc: grub-devel@gnu.org, phcoder@gmail.com, mchang@suse.com,
	xen-devel@lists.xen.org
Subject: Re: [PATCH v4 10/11] xen: modify page table construction
Date: Mon, 22 Feb 2016 10:29:04 +0100	[thread overview]
Message-ID: <56CAD4E0.80304@suse.com> (raw)
In-Reply-To: <20160222091748.GO3482@olila.local.net-space.pl>

On 22/02/16 10:17, Daniel Kiper wrote:
> On Mon, Feb 22, 2016 at 07:03:18AM +0100, Juergen Gross wrote:
>> Modify the page table construction to allow multiple virtual regions
>> to be mapped. This is done as preparation for removing the p2m list
>> from the initial kernel mapping in order to support huge pv domains.
>>
>> This allows a cleaner approach for mapping the relocator page by
>> using this capability.
>>
>> The interface to the assembler level of the relocator has to be changed
>> in order to be able to process multiple page table areas.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>> V4: align variables in assembly sources
>>     use separate structure define as requested by Daniel Kiper
>>
>> V3: use constants instead of numbers as requested by Daniel Kiper
>>     add lots of comments to assembly code as requested by Daniel Kiper
>> ---
>>  grub-core/lib/i386/xen/relocator.S   |  88 ++++++----
>>  grub-core/lib/x86_64/xen/relocator.S | 135 ++++++---------
>>  grub-core/lib/xen/relocator.c        |  28 ++-
>>  grub-core/loader/i386/xen.c          | 325 ++++++++++++++++++++++++-----------
>>  include/grub/i386/memory.h           |   7 +
>>  include/grub/xen/relocator.h         |   6 +-
>>  6 files changed, 359 insertions(+), 230 deletions(-)
>>
>> diff --git a/grub-core/lib/i386/xen/relocator.S b/grub-core/lib/i386/xen/relocator.S
>> index 694a54c..f8d135a 100644
>> --- a/grub-core/lib/i386/xen/relocator.S
>> +++ b/grub-core/lib/i386/xen/relocator.S
>> @@ -102,6 +112,10 @@ VARIABLE(grub_relocator_xen_remap_continue)
>>
>>  	jmp *%eax
>>
>> +	.p2align 2
> 
> I do not think this is needed but...

Even if the processor does allow unaligned loads: it's cleaner to
avoid them.

> 
>> diff --git a/grub-core/lib/x86_64/xen/relocator.S b/grub-core/lib/x86_64/xen/relocator.S
>> index 92e9e72..38ae157 100644
>> --- a/grub-core/lib/x86_64/xen/relocator.S
>> +++ b/grub-core/lib/x86_64/xen/relocator.S
>>
>>  	jmp *%rax
>>
>> -LOCAL(mmu_op):
>> +	.p2align 3
> 
> Ditto...
> 
>> diff --git a/grub-core/lib/xen/relocator.c b/grub-core/lib/xen/relocator.c
>> index 8f427d3..a05b253 100644
>> --- a/grub-core/lib/xen/relocator.c
>> +++ b/grub-core/lib/xen/relocator.c
>> @@ -29,6 +29,11 @@
>>
>>  typedef grub_addr_t grub_xen_reg_t;
>>
>> +struct grub_relocator_xen_paging_area {
>> +  grub_xen_reg_t start;
>> +  grub_xen_reg_t size;
>> +};
>> +
> 
> ... this should have GRUB_PACKED because compiler may
> add padding to align size member.

Why would the compiler add padding to a structure containing two items
of the same type? I don't think the C standard would allow this.

grub_xen_reg_t is either unsigned (32 bit) or unsigned long (64 bit).
There is no way this could require any padding.

Juergen



  reply	other threads:[~2016-02-22  9:29 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-22  6:03 [PATCH v4 00/11] grub-xen: support booting huge pv-domains Juergen Gross
2016-02-22  6:03 ` [PATCH v4 01/11] xen: make xen loader callable multiple times Juergen Gross
2016-02-22  8:09   ` Daniel Kiper
2016-02-22  8:09   ` Daniel Kiper
2016-02-22  6:03 ` Juergen Gross
2016-02-22  6:03 ` [PATCH v4 02/11] xen: avoid memleaks on error Juergen Gross
2016-02-22  8:24   ` Daniel Kiper
2016-02-22  9:06     ` Juergen Gross
2016-02-22  9:06     ` Juergen Gross
2016-02-25 17:38     ` Andrei Borzenkov
2016-02-25 17:38     ` Andrei Borzenkov
2016-02-22  8:24   ` Daniel Kiper
2016-02-22  6:03 ` Juergen Gross
2016-02-22  6:03 ` [PATCH v4 03/11] xen: reduce number of global variables in xen loader Juergen Gross
2016-02-22  6:03 ` Juergen Gross
2016-02-22  6:03 ` [PATCH v4 04/11] xen: add elfnote.h to avoid using numbers instead of constants Juergen Gross
2016-02-22  6:03 ` Juergen Gross
2016-02-22  6:03 ` [PATCH v4 05/11] xen: synchronize xen header Juergen Gross
2016-02-22  6:03 ` [PATCH v4 06/11] xen: factor out p2m list allocation into separate function Juergen Gross
2016-02-22  6:03 ` Juergen Gross
2016-02-22  6:03 ` [PATCH v4 07/11] xen: factor out allocation of special pages " Juergen Gross
2016-02-22  6:03 ` Juergen Gross
2016-02-22  6:03 ` [PATCH v4 08/11] xen: factor out allocation of page tables " Juergen Gross
2016-02-22  6:03 ` [PATCH v4 09/11] xen: add capability to load initrd outside of initial mapping Juergen Gross
2016-02-22  8:42   ` Daniel Kiper
2016-02-22  9:18     ` Juergen Gross
2016-02-22  9:18     ` Juergen Gross
2016-02-22 12:24       ` Daniel Kiper
2016-02-22 12:24       ` Daniel Kiper
2016-02-22 13:26         ` Juergen Gross
2016-02-22 13:26         ` Juergen Gross
2016-02-22  8:42   ` Daniel Kiper
2016-02-22  6:03 ` Juergen Gross
2016-02-22  6:03 ` [PATCH v4 10/11] xen: modify page table construction Juergen Gross
2016-02-22  9:17   ` Daniel Kiper
2016-02-22  9:29     ` Juergen Gross [this message]
2016-02-22 12:18       ` Daniel Kiper
2016-02-22 12:18       ` Daniel Kiper
2016-02-22 12:30         ` Juergen Gross
2016-02-22 12:30         ` Juergen Gross
2016-02-22 12:48           ` Daniel Kiper
2016-02-22 12:48           ` Daniel Kiper
2016-02-22 13:14             ` Juergen Gross
2016-02-22 13:14             ` Juergen Gross
2016-02-25 18:33               ` Andrei Borzenkov
2016-02-29  9:13                 ` Juergen Gross
2016-02-29  9:13                 ` Juergen Gross
2016-02-29 12:19                   ` Juergen Gross
2016-02-29 12:19                   ` Juergen Gross
2016-03-01  3:52                     ` Andrei Borzenkov
2016-03-01  3:52                     ` Andrei Borzenkov
2016-03-01  5:12                       ` Juergen Gross
2016-03-01  5:12                       ` [Xen-devel] " Juergen Gross
2016-03-02  9:12                     ` Daniel Kiper
2016-03-02  9:12                     ` Daniel Kiper
2016-03-02 15:43                       ` Juergen Gross
2016-03-02 16:04                         ` Daniel Kiper
2016-03-02 16:04                         ` Daniel Kiper
2016-03-02 15:43                       ` Juergen Gross
2016-02-25 18:33               ` Andrei Borzenkov
2016-02-22  9:29     ` Juergen Gross
2016-02-22  9:17   ` Daniel Kiper
2016-02-22  6:03 ` [PATCH v4 11/11] xen: add capability to load p2m list outside of kernel mapping Juergen Gross

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=56CAD4E0.80304@suse.com \
    --to=jgross@suse.com \
    --cc=daniel.kiper@oracle.com \
    --cc=grub-devel@gnu.org \
    --cc=mchang@suse.com \
    --cc=phcoder@gmail.com \
    --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.