qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Eduardo Habkost <ehabkost@redhat.com>,
	Anthony Liguori <aliguori@amazon.com>
Subject: [Qemu-devel] [PULL v2 32/35] acpi: Fix PCI hole handling on build_srat()
Date: Sun, 26 Jan 2014 18:07:04 +0200	[thread overview]
Message-ID: <1390735289-15563-33-git-send-email-mst@redhat.com> (raw)
In-Reply-To: <1390735289-15563-1-git-send-email-mst@redhat.com>

From: Eduardo Habkost <ehabkost@redhat.com>

The original SeaBIOS code used the RamSize variable, that was used by
SeaBIOS for the size of RAM below 4GB, not for all RAM. When copied to
QEMU, the code was changed to use the full RAM size, and this broke the
build_srat() code that handles the PCI hole.

Change build_srat() to use ram_size_below_4g instead of ram_size, to
restore the original behavior from SeaBIOS.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/i386/acpi-build.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 9cd3d0e..50e83f3 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -1080,16 +1080,16 @@ build_srat(GArray *table_data, GArray *linker,
         next_base = mem_base + mem_len;
 
         /* Cut out the ACPI_PCI hole */
-        if (mem_base <= guest_info->ram_size &&
-            next_base > guest_info->ram_size) {
-            mem_len -= next_base - guest_info->ram_size;
+        if (mem_base <= guest_info->ram_size_below_4g &&
+            next_base > guest_info->ram_size_below_4g) {
+            mem_len -= next_base - guest_info->ram_size_below_4g;
             if (mem_len > 0) {
                 numamem = acpi_data_push(table_data, sizeof *numamem);
                 acpi_build_srat_memory(numamem, mem_base, mem_len, i-1, 1);
             }
             mem_base = 1ULL << 32;
-            mem_len = next_base - guest_info->ram_size;
-            next_base += (1ULL << 32) - guest_info->ram_size;
+            mem_len = next_base - guest_info->ram_size_below_4g;
+            next_base += (1ULL << 32) - guest_info->ram_size_below_4g;
         }
         numamem = acpi_data_push(table_data, sizeof *numamem);
         acpi_build_srat_memory(numamem, mem_base, mem_len, i - 1, 1);
-- 
MST

  parent reply	other threads:[~2014-01-26 16:02 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-26 16:05 [Qemu-devel] [PULL v2 00/35] acpi, pci, pc, virtio fixes and enhancements Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 01/35] Python-lang gdb script to extract x86_64 guest vmcore from qemu coredump Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 02/35] Add DSDT node for AppleSMC Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 03/35] ACPI: Fix AppleSMC _STA size Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 04/35] virtio: Fix return value for dummy function vhost_net_virtqueue_pending Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 05/35] acpi unit-test: add test files Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 06/35] configure: added acpi unit-test files Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 07/35] acpi unit-test: compare DSDT and SSDT tables against expected values Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 08/35] configure: add CONFIG_IASL to config-host.h Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 09/35] acpi unit-test: extract iasl executable from configuration Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 10/35] acpi unit-test: added script to rebuild the expected aml files Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 11/35] acpi unit-test: hook to rebuild " Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 12/35] tests: fix acpi to work on bigendian host Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 13/35] acpi unit-test: renamed ssdt_tables to tables Michael S. Tsirkin
2014-01-26 16:05 ` [Qemu-devel] [PULL v2 14/35] acpi unit-test: resolved iasl crash Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 15/35] acpi unit-test: do not fail on asl mismatch Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 16/35] pc: make: fix dependencies: rebuild when included file is changed Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 17/35] pci: add pci_for_each_bus_depth_first Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 18/35] pcihp: generalization of piix4 acpi Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 19/35] piix4: add acpi pci hotplug support Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 20/35] acpi-build: enable hotplug for PCI bridges Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 21/35] acpi: factor out common cpu hotplug code for PIIX4/Q35 Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 22/35] acpi: ich9: add CPU hotplug handling to Q35 machine Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 23/35] pc: set PRST base in DSDT depending on chipset Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 24/35] pc: PIIX DSDT: exclude CPU/PCI hotplug & GPE0 IO range from PCI bus resources Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 25/35] pc: Q35 DSDT: exclude CPU hotplug " Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 26/35] pc: ACPI: expose PRST IO range via _CRS Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 27/35] pc: ACPI: unify source of CPU hotplug IO base/len Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 28/35] pc: ACPI: update acpi-dsdt.hex.generated q35-acpi-dsdt.hex.generated Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 29/35] acpi-test: update expected AML since recent changes Michael S. Tsirkin
2014-01-26 16:06 ` [Qemu-devel] [PULL v2 30/35] hw/pci: fix error flow in pci multifunction init Michael S. Tsirkin
2014-01-26 16:07 ` [Qemu-devel] [PULL v2 31/35] pc: Save size of RAM below 4GB Michael S. Tsirkin
2014-01-26 16:07 ` Michael S. Tsirkin [this message]
2014-01-26 16:07 ` [Qemu-devel] [PULL v2 33/35] q35: gigabyte alignment for ram Michael S. Tsirkin
2014-01-26 16:07 ` [Qemu-devel] [PULL v2 34/35] q35: document gigabyte_align Michael S. Tsirkin
2014-01-26 16:07 ` [Qemu-devel] [PULL v2 35/35] MAINTAINERS: add self as virtio co-maintainer Michael S. Tsirkin
2014-01-28 11:21 ` [Qemu-devel] [PULL v2 00/35] acpi, pci, pc, virtio fixes and enhancements Michael S. Tsirkin
2014-01-29 16:38   ` Peter Maydell
2014-01-29 18:01     ` Michael S. Tsirkin
2014-01-31 11:12   ` Peter Maydell

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=1390735289-15563-33-git-send-email-mst@redhat.com \
    --to=mst@redhat.com \
    --cc=aliguori@amazon.com \
    --cc=ehabkost@redhat.com \
    --cc=qemu-devel@nongnu.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).