All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: Shannon Zhao <zhaoshenglong@huawei.com>
Cc: peter.huangpeng@huawei.com, julien.grall@arm.com,
	stefano.stabellini@citrix.com, shannon.zhao@linaro.org,
	xen-devel@lists.xen.org
Subject: Re: [PATCH v6 12/22] arm/acpi: Prepare EFI memory descriptor for Dom0
Date: Thu, 24 Mar 2016 12:39:55 +0000	[thread overview]
Message-ID: <alpine.DEB.2.02.1603241239480.18380@kaball.uk.xensource.com> (raw)
In-Reply-To: <1458207668-12012-13-git-send-email-zhaoshenglong@huawei.com>

On Thu, 17 Mar 2016, Shannon Zhao wrote:
> From: Shannon Zhao <shannon.zhao@linaro.org>
> 
> Create a few EFI memory descriptors to tell Dom0 the RAM region
> information, ACPI table regions and EFI tables reserved resions.
> 
> Signed-off-by: Parth Dixit <parth.dixit@linaro.org>
> Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>

Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>


> v6: remove acpi_diabled check
> ---
>  xen/arch/arm/domain_build.c |  2 ++
>  xen/arch/arm/efi/efi-dom0.c | 40 ++++++++++++++++++++++++++++++++++++++++
>  xen/include/asm-arm/setup.h |  5 +++++
>  3 files changed, 47 insertions(+)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 613551c..008fc76 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -1688,6 +1688,8 @@ static int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
>      acpi_map_other_tables(d);
>      acpi_create_efi_system_table(d->arch.efi_acpi_gpa, d->arch.efi_acpi_table,
>                                   tbl_add);
> +    acpi_create_efi_mmap_table(d->arch.efi_acpi_gpa, d->arch.efi_acpi_len,
> +                               d->arch.efi_acpi_table, &kinfo->mem, tbl_add);
>  
>      return 0;
>  }
> diff --git a/xen/arch/arm/efi/efi-dom0.c b/xen/arch/arm/efi/efi-dom0.c
> index b8a062c..3ffde94 100644
> --- a/xen/arch/arm/efi/efi-dom0.c
> +++ b/xen/arch/arm/efi/efi-dom0.c
> @@ -23,6 +23,7 @@
>  
>  #include "efi.h"
>  #include "efi-dom0.h"
> +#include <xen/pfn.h>
>  #include <asm/setup.h>
>  #include <asm/acpi.h>
>  
> @@ -92,3 +93,42 @@ void __init acpi_create_efi_system_table(paddr_t paddr, void *efi_acpi_table,
>      tbl_add[TBL_EFIT].start = table_addr;
>      tbl_add[TBL_EFIT].size = table_size;
>  }
> +
> +void __init acpi_create_efi_mmap_table(paddr_t paddr, paddr_t size,
> +                                       void *efi_acpi_table,
> +                                       const struct meminfo *mem,
> +                                       struct membank tbl_add[])
> +{
> +    EFI_MEMORY_DESCRIPTOR *memory_map;
> +    unsigned int i, offset;
> +    u8 *base_ptr;
> +
> +    base_ptr = efi_acpi_table + acpi_get_table_offset(tbl_add, TBL_MMAP);
> +    memory_map = (EFI_MEMORY_DESCRIPTOR *)(base_ptr);
> +
> +    offset = 0;
> +    for( i = 0; i < mem->nr_banks; i++, offset++ )
> +    {
> +        memory_map[offset].Type = EfiConventionalMemory;
> +        memory_map[offset].PhysicalStart = mem->bank[i].start;
> +        memory_map[offset].NumberOfPages = PFN_UP(mem->bank[i].size);
> +        memory_map[offset].Attribute = EFI_MEMORY_WB;
> +    }
> +
> +    for( i = 0; i < acpi_mem.nr_banks; i++, offset++ )
> +    {
> +        memory_map[offset].Type = EfiACPIReclaimMemory;
> +        memory_map[offset].PhysicalStart = acpi_mem.bank[i].start;
> +        memory_map[offset].NumberOfPages = PFN_UP(acpi_mem.bank[i].size);
> +        memory_map[offset].Attribute = EFI_MEMORY_WB;
> +    }
> +
> +    memory_map[offset].Type = EfiACPIReclaimMemory;
> +    memory_map[offset].PhysicalStart = paddr;
> +    memory_map[offset].NumberOfPages = PFN_UP(size);
> +    memory_map[offset].Attribute = EFI_MEMORY_WB;
> +
> +    tbl_add[TBL_MMAP].start = paddr + acpi_get_table_offset(tbl_add, TBL_MMAP);
> +    tbl_add[TBL_MMAP].size = sizeof(EFI_MEMORY_DESCRIPTOR)
> +                             * (mem->nr_banks + acpi_mem.nr_banks + 1);
> +}
> diff --git a/xen/include/asm-arm/setup.h b/xen/include/asm-arm/setup.h
> index e423b15..b2899f2 100644
> --- a/xen/include/asm-arm/setup.h
> +++ b/xen/include/asm-arm/setup.h
> @@ -56,6 +56,11 @@ size_t estimate_efi_size(int mem_nr_banks);
>  void acpi_create_efi_system_table(paddr_t paddr, void *efi_acpi_table,
>                                    struct membank tbl_add[]);
>  
> +void acpi_create_efi_mmap_table(paddr_t paddr, paddr_t size,
> +                                void *efi_acpi_table,
> +                                const struct meminfo *mem,
> +                                struct membank tbl_add[]);
> +
>  int construct_dom0(struct domain *d);
>  
>  void discard_initial_modules(void);
> -- 
> 2.0.4
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  parent reply	other threads:[~2016-03-24 12:39 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-17  9:40 [PATCH v6 00/22] Prepare UEFI and ACPI tables for Dom0 on ARM64 Shannon Zhao
2016-03-17  9:40 ` [PATCH v6 01/22] arm/acpi: Estimate memory required for acpi/efi tables Shannon Zhao
2016-03-18 18:44   ` Julien Grall
2016-03-21 13:01     ` Jan Beulich
2016-03-22 13:01     ` Shannon Zhao
2016-03-22  0:28   ` Julien Grall
2016-03-24 12:36   ` Stefano Stabellini
2016-03-17  9:40 ` [PATCH v6 02/22] arm/acpi: Add a helper function to get the acpi table offset Shannon Zhao
2016-03-21 12:16   ` Julien Grall
2016-03-24 12:32   ` Stefano Stabellini
2016-03-17  9:40 ` [PATCH v6 03/22] arm/acpi: Prepare FADT table for Dom0 Shannon Zhao
2016-03-21 12:25   ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 04/22] arm/gic: Add a new callback for creating MADT " Shannon Zhao
2016-03-21 15:18   ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 05/22] arm/acpi: Prepare " Shannon Zhao
2016-03-21 15:26   ` Julien Grall
2016-03-21 15:51     ` Jan Beulich
2016-03-17  9:40 ` [PATCH v6 06/22] arm/acpi: Prepare STAO " Shannon Zhao
2016-03-21 15:31   ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 07/22] arm/acpi: Prepare XSDT " Shannon Zhao
2016-03-21 15:43   ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 08/22] arm/acpi: Prepare RSDP " Shannon Zhao
2016-03-21 15:47   ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 09/22] arm/p2m: Add helper functions to map memory regions Shannon Zhao
2016-03-21 15:52   ` Julien Grall
2016-03-22 13:05     ` Shannon Zhao
2016-03-22 15:59       ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 10/22] arm/acpi: Map all other tables for Dom0 Shannon Zhao
2016-03-21 15:57   ` Julien Grall
2016-03-17  9:40 ` [PATCH v6 11/22] arm/acpi: Prepare EFI system table " Shannon Zhao
2016-03-21 16:10   ` Julien Grall
2016-03-22 13:06     ` Shannon Zhao
2016-03-22 13:24       ` Jan Beulich
2016-03-17  9:40 ` [PATCH v6 12/22] arm/acpi: Prepare EFI memory descriptor " Shannon Zhao
2016-03-21 16:51   ` Julien Grall
2016-03-22 13:16     ` Shannon Zhao
2016-03-22 16:04       ` Julien Grall
2016-03-24 15:06         ` Shannon Zhao
2016-03-24 15:23           ` Julien Grall
2016-03-24 12:39   ` Stefano Stabellini [this message]
2016-03-17  9:40 ` [PATCH v6 13/22] arm/acpi: Map the new created EFI and ACPI tables to Dom0 Shannon Zhao
2016-03-22  0:42   ` Julien Grall
2016-03-22 13:18     ` Shannon Zhao
2016-03-22 16:16       ` Julien Grall
2016-03-24 14:59         ` Shannon Zhao
2016-03-24 15:35           ` Julien Grall
2016-03-17  9:41 ` [PATCH v6 14/22] arm/acpi: Create min DT stub for Dom0 Shannon Zhao
2016-03-22  1:07   ` Julien Grall
2016-03-22 13:23     ` Shannon Zhao
2016-03-17  9:41 ` [PATCH v6 15/22] arm/acpi: Permit access all Xen unused SPIs " Shannon Zhao
2016-03-22 18:18   ` Julien Grall
2016-03-24 15:01     ` Shannon Zhao
2016-03-24 15:37       ` Julien Grall
2016-03-25  7:13         ` Shannon Zhao
2016-03-17  9:41 ` [PATCH v6 16/22] arm/acpi: Configure SPI interrupt type and route to Dom0 dynamically Shannon Zhao
2016-03-22 19:17   ` Julien Grall
2016-03-24 12:41   ` Stefano Stabellini
2016-03-17  9:41 ` [PATCH v6 17/22] arm/gic: Add a new callback to deny Dom0 access to GIC regions Shannon Zhao
2016-03-22 19:33   ` Julien Grall
2016-03-24 12:45     ` Stefano Stabellini
2016-03-24 15:03       ` Shannon Zhao
2016-03-24 15:39         ` Julien Grall
2016-03-17  9:41 ` [PATCH v6 18/22] arm/acpi: Permit MMIO access of Xen unused devices for Dom0 Shannon Zhao
2016-03-23 11:50   ` Julien Grall
2016-03-17  9:41 ` [PATCH v6 19/22] hvm/params: Add a new delivery type for event-channel in HVM_PARAM_CALLBACK_IRQ Shannon Zhao
2016-03-17 10:42   ` Jan Beulich
2016-03-17 11:04     ` Shannon Zhao
2016-03-17 11:29       ` Jan Beulich
2016-03-17 11:56         ` Shannon Zhao
2016-03-17 12:42           ` Jan Beulich
2016-03-17  9:41 ` [PATCH v6 20/22] xen/acpi: Fix event-channel interrupt when booting with ACPI Shannon Zhao
2016-03-23 12:15   ` Julien Grall
2016-03-17  9:41 ` [PATCH v6 21/22] xen/arm: Add a hypercall for device mmio mapping Shannon Zhao
2016-03-17  9:41 ` [PATCH v6 22/22] xen/arm64: Add ACPI support Shannon Zhao
2016-03-17 10:52   ` Jan Beulich
2016-03-17 11:03     ` Shannon Zhao
2016-03-17 11:31       ` Jan Beulich
2016-03-17 13:10         ` Shannon Zhao
2016-03-17 13: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=alpine.DEB.2.02.1603241239480.18380@kaball.uk.xensource.com \
    --to=stefano.stabellini@eu.citrix.com \
    --cc=julien.grall@arm.com \
    --cc=peter.huangpeng@huawei.com \
    --cc=shannon.zhao@linaro.org \
    --cc=stefano.stabellini@citrix.com \
    --cc=xen-devel@lists.xen.org \
    --cc=zhaoshenglong@huawei.com \
    /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.