From: Igor Mammedov <imammedo@redhat.com>
To: Joao Martins <joao.m.martins@oracle.com>
Cc: qemu-devel@nongnu.org, Eduardo Habkost <eduardo@habkost.net>,
"Michael S. Tsirkin" <mst@redhat.com>,
Richard Henderson <richard.henderson@linaro.org>,
Alex Williamson <alex.williamson@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>, Ani Sinha <ani@anisinha.ca>,
Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
Jonathan Cameron <jonathan.cameron@huawei.com>
Subject: Re: [PATCH v9 07/11] i386/pc: handle unitialized mr in pc_get_cxl_range_end()
Date: Wed, 20 Jul 2022 09:39:57 +0200 [thread overview]
Message-ID: <20220720093957.34d9c701@redhat.com> (raw)
In-Reply-To: <20220719170014.27028-8-joao.m.martins@oracle.com>
On Tue, 19 Jul 2022 18:00:10 +0100
Joao Martins <joao.m.martins@oracle.com> wrote:
> Remove pc_get_cxl_range_end() dependency on the CXL memory region,
> and replace with one that does not require the CXL host_mr to determine
> the start of CXL start.
>
> This in preparation to allow pc_pci_hole64_start() to be called early
> in pc_memory_init(), handle CXL memory region end when its underlying
> memory region isn't yet initialized.
>
> Cc: Jonathan Cameron <jonathan.cameron@huawei.com>
> Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
> ---
> hw/i386/pc.c | 18 ++++++++----------
> 1 file changed, 8 insertions(+), 10 deletions(-)
>
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index 3fdcab4bb4f3..c654be6cf0bd 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -843,17 +843,15 @@ static uint64_t pc_get_cxl_range_start(PCMachineState *pcms)
>
> static uint64_t pc_get_cxl_range_end(PCMachineState *pcms)
> {
> - uint64_t start = 0;
> + uint64_t start = pc_get_cxl_range_start(pcms) + MiB;
>
> - if (pcms->cxl_devices_state.host_mr.addr) {
> - start = pcms->cxl_devices_state.host_mr.addr +
> - memory_region_size(&pcms->cxl_devices_state.host_mr);
> - if (pcms->cxl_devices_state.fixed_windows) {
> - GList *it;
> - for (it = pcms->cxl_devices_state.fixed_windows; it; it = it->next) {
> - CXLFixedWindow *fw = it->data;
> - start = fw->mr.addr + memory_region_size(&fw->mr);
> - }
> + if (pcms->cxl_devices_state.fixed_windows) {
> + GList *it;
> +
> + start = ROUND_UP(start, 256 * MiB);
> + for (it = pcms->cxl_devices_state.fixed_windows; it; it = it->next) {
> + CXLFixedWindow *fw = it->data;
> + start += fw->size;
> }
> }
>
next prev parent reply other threads:[~2022-07-20 7:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-19 17:00 [PATCH v9 00/11] i386/pc: Fix creation of >= 1010G guests on AMD systems with IOMMU Joao Martins
2022-07-19 17:00 ` [PATCH v9 01/11] hw/i386: add 4g boundary start to X86MachineState Joao Martins
2022-07-19 17:00 ` [PATCH v9 02/11] i386/pc: create pci-host qdev prior to pc_memory_init() Joao Martins
2022-07-19 17:00 ` [PATCH v9 03/11] i386/pc: pass pci_hole64_size " Joao Martins
2022-07-19 17:00 ` [PATCH v9 04/11] i386/pc: factor out above-4g end to an helper Joao Martins
2022-07-19 17:00 ` [PATCH v9 05/11] i386/pc: factor out cxl range end to helper Joao Martins
2022-07-19 17:00 ` [PATCH v9 06/11] i386/pc: factor out cxl range start " Joao Martins
2022-07-19 17:00 ` [PATCH v9 07/11] i386/pc: handle unitialized mr in pc_get_cxl_range_end() Joao Martins
2022-07-20 7:39 ` Igor Mammedov [this message]
2022-07-19 17:00 ` [PATCH v9 08/11] i386/pc: factor out device_memory base/size to helper Joao Martins
2022-07-19 17:00 ` [PATCH v9 09/11] i386/pc: bounds check phys-bits against max used GPA Joao Martins
2022-07-19 17:00 ` [PATCH v9 10/11] i386/pc: relocate 4g start to 1T where applicable Joao Martins
2022-07-19 17:00 ` [PATCH v9 11/11] i386/pc: restrict AMD only enforcing of 1Tb hole to new machine type Joao Martins
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=20220720093957.34d9c701@redhat.com \
--to=imammedo@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=ani@anisinha.ca \
--cc=dgilbert@redhat.com \
--cc=eduardo@habkost.net \
--cc=joao.m.martins@oracle.com \
--cc=jonathan.cameron@huawei.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=suravee.suthikulpanit@amd.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.