qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 68a86d: numa: remove deprecated -mem-path fal


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 68a86d: numa: remove deprecated -mem-path fallback to anon...
Date: Tue, 25 Feb 2020 07:00:16 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 68a86dc15ccdf0f1242dc71b3d8da18a3ee6b8be
      
https://github.com/qemu/qemu/commit/68a86dc15ccdf0f1242dc71b3d8da18a3ee6b8be
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/core/numa.c
    M qemu-deprecated.texi

  Log Message:
  -----------
  numa: remove deprecated -mem-path fallback to anonymous RAM

it has been deprecated since 4.0 by commit
 cb79224b7 (deprecate -mem-path fallback to anonymous RAM)
Deprecation period ran out and it's time to remove it
so it won't get in a way of switching to using hostmem
backend for RAM.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: aa8b183974b27d4dc025905eb869a1941e85e17d
      
https://github.com/qemu/qemu/commit/aa8b183974b27d4dc025905eb869a1941e85e17d
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/core/machine.c
    M include/hw/boards.h

  Log Message:
  -----------
  machine: introduce memory-backend property

Property will contain link to memory backend that will be
used for backing initial RAM.
Follow up commit will alias -mem-path and -mem-prealloc
CLI options into memory backend options to make memory
handling consistent (using only hostmem backend family
for guest RAM allocation).

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 900c0ba373aada4c13d47d95330aa72ec4067ba5
      
https://github.com/qemu/qemu/commit/900c0ba373aada4c13d47d95330aa72ec4067ba5
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M backends/hostmem-file.c
    M backends/hostmem-ram.c
    M include/hw/boards.h
    M include/sysemu/hostmem.h
    M vl.c

  Log Message:
  -----------
  machine: alias -mem-path and -mem-prealloc into memory-foo backend

Allow machine to opt in for hostmem backend based initial RAM
even if user uses old -mem-path/prealloc options by providing
  MachineClass::default_ram_id
Follow up patches will incrementally convert machines to new API,
by dropping memory_region_allocate_system_memory() and setting
default_ram_id that board used to use before conversion to keep
migration stream the same.

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>


  Commit: 82b911aaff3ba33a3c028a533c5e169c274a7c3d
      
https://github.com/qemu/qemu/commit/82b911aaff3ba33a3c028a533c5e169c274a7c3d
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/core/machine.c
    M hw/core/numa.c
    M include/hw/boards.h

  Log Message:
  -----------
  machine: introduce convenience MachineState::ram

the new field will be used by boards to get access to main
RAM memory region and will help to save boiler plate in
boards which often introduce a field or variable just for
this purpose.

Memory region will be equivalent to what currently used
memory_region_allocate_system_memory() is returning apart
from that it will come from hostmem backend.
Followup patches will incrementally switch boards to using
RAM from MachineState::ram.

Patch takes care of non-NUMA case and follow up patch will
initialize MachineState::ram for NUMA case.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 6b61c2c596e7ad957f87ace619a5419ff0723bd7
      
https://github.com/qemu/qemu/commit/6b61c2c596e7ad957f87ace619a5419ff0723bd7
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/core/numa.c
    M include/sysemu/numa.h
    M vl.c

  Log Message:
  -----------
  initialize MachineState::ram in NUMA case

In case of NUMA there are 2 cases to consider:
 1. '-numa node,memdev', the only one that will be available
    for 5.0 and newer machine types.

    In this case reuse current behavior, with only difference
    memdevs are put into MachineState::ram container +
    a temporary glue to keep memory_region_allocate_system_memory()
    working until all boards converted.

 2. fake NUMA ("-numa node mem" and default RAM splitting)
    the later has been deprecated and will be removed but the former
    is going to stay available for compat reasons for 5.0 and
    older machine types

    it takes allocate_system_memory_nonnuma() path, like non-NUMA
    case and falls under conversion to memdev.  So extend non-NUMA
    MachineState::ram initialization introduced in previous patch
    to take care of fake NUMA case.

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>


  Commit: a1b18df9a4848fc8a906e40c275063bfe9ca2047
      
https://github.com/qemu/qemu/commit/a1b18df9a4848fc8a906e40c275063bfe9ca2047
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  vl.c: move -m parsing after memory backends has been processed

It will be possible for main RAM to come from memory-backend
and we should check that size specified in -m matches the size
of the backend and [MachineState::]ram_size also matches
backend's size.

However -m parsing (set_memory_options()) happens before backends
are intialized (object_create_delayed()) which complicates it.
Consolidate set_memory_options() and assigning parsed results to
current_machine after backends are initialized, so it would be
possible access the initialized backend instance to compare
sizes.

This patch only consolidates scattered places touching ram_size
within vl.c. And follow up patch will integrate backend handling
to set_memory_options().

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>


  Commit: fe64d06afc1c5d895f220c268cfe4d5f1e65d44e
      
https://github.com/qemu/qemu/commit/fe64d06afc1c5d895f220c268cfe4d5f1e65d44e
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  vl.c: ensure that ram_size matches size of machine.memory-backend

Extend set_memory_options() to check that size specified by -m
matches the size of backend pointed by memory-backend.
And in case of -m was omitted adjust ram_size to match that
of explicitly provided backend.

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>


  Commit: b844d822cf628b175a732bbfd25d9348200a1ec6
      
https://github.com/qemu/qemu/commit/b844d822cf628b175a732bbfd25d9348200a1ec6
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/alpha/alpha_sys.h
    M hw/alpha/dp264.c
    M hw/alpha/typhoon.c

  Log Message:
  -----------
  alpha/dp264: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Acked-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 533eb415df2ed9449b5d01def6274a5312b4ddaf
      
https://github.com/qemu/qemu/commit/533eb415df2ed9449b5d01def6274a5312b4ddaf
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/aspeed.c
    M hw/misc/aspeed_sdmc.c
    M include/hw/misc/aspeed_sdmc.h

  Log Message:
  -----------
  arm/aspeed: actually check RAM size

It's supposed that SOC will check if "-m" provided
RAM size is valid by setting "ram-size" property and
then board would read back valid (possibly corrected
value) to map RAM MemoryReging with valid size.
It isn't doing so, since check is called only
indirectly from
  aspeed_sdmc_reset()->asc->compute_conf()
or much later when guest writes to configuration
register.

So depending on "-m" value QEMU end-ups with a warning
and an invalid MemoryRegion size allocated and mapped.
(examples:
 -M ast2500-evb -m 1M
    0000000080000000-000000017ffffffe (prio 0, i/o): aspeed-ram-container
      0000000080000000-00000000800fffff (prio 0, ram): ram
      0000000080100000-00000000bfffffff (prio 0, i/o): max_ram
 -M ast2500-evb -m 3G
    0000000080000000-000000017ffffffe (prio 0, i/o): aspeed-ram-container
      0000000080000000-000000013fffffff (prio 0, ram): ram
      [DETECTED OVERFLOW!] 0000000140000000-00000000bfffffff (prio 0, i/o): 
max_ram
)
On top of that sdmc falls back and reports to guest
"default" size, it thinks machine should have.

This patch makes ram-size check actually work and
changes behavior from a warning later on during
machine reset to error_fatal at the moment SOC.ram-size
is set so user will have to fix RAM size on CLI
to start machine.

It also gets out of the way mutable ram-size logic,
so we could consolidate RAM allocation logic around
pre-allocated hostmem backend (supplied by user or
auto created by generic machine code depending on
supplied -m/mem-path/mem-prealloc options.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: afcbaed668fc96bd10079faf3591cca94ecdd94e
      
https://github.com/qemu/qemu/commit/afcbaed668fc96bd10079faf3591cca94ecdd94e
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/aspeed.c

  Log Message:
  -----------
  arm/aspeed: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Acked-by: Joel Stanley <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 00b9829f83c05fd338a33e1c20dce6d9eb8b6458
      
https://github.com/qemu/qemu/commit/00b9829f83c05fd338a33e1c20dce6d9eb8b6458
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/collie.c

  Log Message:
  -----------
  arm/collie: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
 - while at it add check for user supplied RAM size and error
   out if it mismatches board expected value.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 0f07fe38e4a1957eb31f5337eb455499675b3452
      
https://github.com/qemu/qemu/commit/0f07fe38e4a1957eb31f5337eb455499675b3452
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/cubieboard.c

  Log Message:
  -----------
  arm/cubieboard: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
While at it, get rid of no longer needed CubieBoardState wrapper.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 4daf95d6079132eafcfba7465402fa4a1d3cd2a7
      
https://github.com/qemu/qemu/commit/4daf95d6079132eafcfba7465402fa4a1d3cd2a7
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/digic_boards.c

  Log Message:
  -----------
  arm/digic_boards: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
 remove no longer needed DigicBoardState

PS2:
 while at it add check for user supplied RAM size and error
 out if it mismatches board expected value.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 89c43bdf20adead188d5a87ee30003aead90d9a5
      
https://github.com/qemu/qemu/commit/89c43bdf20adead188d5a87ee30003aead90d9a5
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/highbank.c

  Log Message:
  -----------
  arm/highbank: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: bf350daae0241ba56504c909de7a8a65adf90a06
      
https://github.com/qemu/qemu/commit/bf350daae0241ba56504c909de7a8a65adf90a06
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/imx25_pdk.c

  Log Message:
  -----------
  arm/imx25_pdk: drop RAM size fixup

If user provided non-sense RAM size, board will complain and
continue running with max RAM size supported.
Also RAM is going to be allocated by generic code, so it won't be
possible for board to fix things up for user.

Make it error message and exit to force user fix CLI,
instead of accepting non-sense CLI values.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: eebd06abc6ace6237696693a64e39e52d212dc3c
      
https://github.com/qemu/qemu/commit/eebd06abc6ace6237696693a64e39e52d212dc3c
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/imx25_pdk.c

  Log Message:
  -----------
  arm/imx25_pdk: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 3f25b3f4e88f5df1b0eb5e9cb59567aa4ffc80fe
      
https://github.com/qemu/qemu/commit/3f25b3f4e88f5df1b0eb5e9cb59567aa4ffc80fe
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/integratorcp.c

  Log Message:
  -----------
  arm/integratorcp: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 462f1f4bde2a2d5a238a3d39788ccdb2c56490ba
      
https://github.com/qemu/qemu/commit/462f1f4bde2a2d5a238a3d39788ccdb2c56490ba
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/kzm.c

  Log Message:
  -----------
  arm/kzm: drop RAM size fixup

If the user provided too large a RAM size, the code used to
complain and trim it to the max size.  Now that RAM is allocated by
generic code, that's no longer possible, so generate an error and
exit instead.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Peter Chubb <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 3865cfacfe470f71d0ca7332d8effe817809859d
      
https://github.com/qemu/qemu/commit/3865cfacfe470f71d0ca7332d8effe817809859d
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/kzm.c

  Log Message:
  -----------
  arm/kzm: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Peter Chubb <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 14dbfa556ba21cbf590b33bb66b8cb97728955a1
      
https://github.com/qemu/qemu/commit/14dbfa556ba21cbf590b33bb66b8cb97728955a1
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/mcimx6ul-evk.c

  Log Message:
  -----------
  arm/mcimx6ul-evk: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
  remove no longer needed MCIMX6ULEVK

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 4076cc9429326747ca9714a0720633db296b1959
      
https://github.com/qemu/qemu/commit/4076cc9429326747ca9714a0720633db296b1959
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/mcimx7d-sabre.c

  Log Message:
  -----------
  arm/mcimx7d-sabre: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
 remove no longer needed MCIMX7Sabre

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 70a2cb8e8d0f2ba549cc8d8b66e2f72e982ccd57
      
https://github.com/qemu/qemu/commit/70a2cb8e8d0f2ba549cc8d8b66e2f72e982ccd57
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/mps2-tz.c

  Log Message:
  -----------
  arm/mps2-tz: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
 while at it add check for user supplied RAM size and error
 out if it mismatches board expected value.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 68637c3a3687facba19c930e3c98eaea9fd5b723
      
https://github.com/qemu/qemu/commit/68637c3a3687facba19c930e3c98eaea9fd5b723
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/mps2.c

  Log Message:
  -----------
  arm/mps2: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
 while at it add check for user supplied RAM size and error
 out if it mismatches board expected value.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 3ed61312bdb8bcf4da092328de15a1d6927323cf
      
https://github.com/qemu/qemu/commit/3ed61312bdb8bcf4da092328de15a1d6927323cf
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/musicpal.c

  Log Message:
  -----------
  arm/musicpal: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
 while at it add check for user supplied RAM size and error
 out if it mismatches board expected value.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 7998beb9c2e280f0b7424223747941f106e2e854
      
https://github.com/qemu/qemu/commit/7998beb9c2e280f0b7424223747941f106e2e854
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/nseries.c

  Log Message:
  -----------
  arm/nseries: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
 while at it add check for user supplied RAM size and error
 out if it mismatches board expected value.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 238ea0e311560eebc5a531cad6adabc66224eb2c
      
https://github.com/qemu/qemu/commit/238ea0e311560eebc5a531cad6adabc66224eb2c
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/omap_sx1.c

  Log Message:
  -----------
  arm/omap_sx1: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
 while at it add check for user supplied RAM size and error
 out if it mismatches board expected value.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 7f1679dc2cee57d3046446fa1d71813071888218
      
https://github.com/qemu/qemu/commit/7f1679dc2cee57d3046446fa1d71813071888218
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/palm.c

  Log Message:
  -----------
  arm/palm: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
 while at it add check for user supplied RAM size and error
 out if it mismatches board expected value.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 778f43267a3fd0b3cb8f9142ba9d0cc9b78f8c5f
      
https://github.com/qemu/qemu/commit/778f43267a3fd0b3cb8f9142ba9d0cc9b78f8c5f
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/sabrelite.c

  Log Message:
  -----------
  arm/sabrelite: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
 remove no longer needed IMX6Sabrelite

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: a4317ae8ba5e77f88a98d2509220ae5ce1565f6c
      
https://github.com/qemu/qemu/commit/a4317ae8ba5e77f88a98d2509220ae5ce1565f6c
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/raspi.c

  Log Message:
  -----------
  arm/raspi: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
    MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 3818ed92dc5ddc647ecc114d560a1c0531be7151
      
https://github.com/qemu/qemu/commit/3818ed92dc5ddc647ecc114d560a1c0531be7151
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/sbsa-ref.c

  Log Message:
  -----------
  arm/sbsa-ref: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 6cf41f5586c4f8fc1090676c2edae591bd7f25a4
      
https://github.com/qemu/qemu/commit/6cf41f5586c4f8fc1090676c2edae591bd7f25a4
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/versatilepb.c

  Log Message:
  -----------
  arm/versatilepb: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 08b8ba04c9d018fbbd64121da70ac9c68529cca0
      
https://github.com/qemu/qemu/commit/08b8ba04c9d018fbbd64121da70ac9c68529cca0
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/vexpress.c

  Log Message:
  -----------
  arm/vexpress: use memdev for RAM

replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: a72f6805f30ceeb635d0fb04b3125d453f1045e8
      
https://github.com/qemu/qemu/commit/a72f6805f30ceeb635d0fb04b3125d453f1045e8
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/virt.c

  Log Message:
  -----------
  arm/virt: use memdev for RAM

memory_region_allocate_system_memory() API is going away,
so replace it with memdev allocated MemoryRegion.
The later is initialized by generic code, so board only
needs to opt in to memdev scheme by providing
  MachineClass::default_ram_id
and then map memory region provided by
  MachineState::ram_memdev

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: c9800965c1be6c39a39bd02dc323497e61b85356
      
https://github.com/qemu/qemu/commit/c9800965c1be6c39a39bd02dc323497e61b85356
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/xilinx_zynq.c

  Log Message:
  -----------
  arm/xilinx_zynq: drop RAM size fixup

If user provided non-sense RAM size, board will complain and
continue running with max RAM size supported.
Also RAM is going to be allocated by generic code, so it won't be
possible for board to fix things up for user.

Make it error message and exit to force user fix CLI,
instead of accepting non-sense CLI values.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 8182d3d1f1868a982c7c1a76ee0bfcc8decfeb01
      
https://github.com/qemu/qemu/commit/8182d3d1f1868a982c7c1a76ee0bfcc8decfeb01
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/xilinx_zynq.c

  Log Message:
  -----------
  arm/xilinx_zynq: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: e9201598f42803253e67574022f13bb9b2e82dcb
      
https://github.com/qemu/qemu/commit/e9201598f42803253e67574022f13bb9b2e82dcb
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/xlnx-versal-virt.c

  Log Message:
  -----------
  arm/xlnx-versal-virt: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 87c8047f65b4a9c1e4349c68e90a90412b2ac9e3
      
https://github.com/qemu/qemu/commit/87c8047f65b4a9c1e4349c68e90a90412b2ac9e3
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/arm/xlnx-zcu102.c

  Log Message:
  -----------
  arm/xlnx-zcu102: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 3a12fc61af5cd086d78044584f25a39d02c05351
      
https://github.com/qemu/qemu/commit/3a12fc61af5cd086d78044584f25a39d02c05351
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c

  Log Message:
  -----------
  s390x/s390-virtio-ccw: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Acked-by: Cornelia Huck <address@hidden>
Tested-by: Halil Pasic <address@hidden>
Acked-by: Halil Pasic <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: c74e71908d28a9272f0c5cd7a0327d6bc3d6cba9
      
https://github.com/qemu/qemu/commit/c74e71908d28a9272f0c5cd7a0327d6bc3d6cba9
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/core/null-machine.c

  Log Message:
  -----------
  null-machine: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 17c38c759c0505808286772314bf434af5f6e4aa
      
https://github.com/qemu/qemu/commit/17c38c759c0505808286772314bf434af5f6e4aa
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/cris/axis_dev88.c

  Log Message:
  -----------
  cris/axis_dev88: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 7c59c1e0cced0da34263d890902ec2b3dee8238b
      
https://github.com/qemu/qemu/commit/7c59c1e0cced0da34263d890902ec2b3dee8238b
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/hppa/machine.c

  Log Message:
  -----------
  hppa: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 9ad54686924b67ccf83698759ad0296ed5711bb8
      
https://github.com/qemu/qemu/commit/9ad54686924b67ccf83698759ad0296ed5711bb8
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/i386/microvm.c

  Log Message:
  -----------
  x86/microvm: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: bd457782b3b0a313f3991038eb55bc44369c72c6
      
https://github.com/qemu/qemu/commit/bd457782b3b0a313f3991038eb55bc44369c72c6
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  x86/pc: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 6047c08fd71434976a087ac7d6a7a90156960b99
      
https://github.com/qemu/qemu/commit/6047c08fd71434976a087ac7d6a7a90156960b99
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/lm32/lm32_boards.c

  Log Message:
  -----------
  lm32/lm32_boards: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
 while at it add check for user supplied RAM size and error
 out if it mismatches board expected value.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: dc8953c6be147853f0e4598211e3d8827199283f
      
https://github.com/qemu/qemu/commit/dc8953c6be147853f0e4598211e3d8827199283f
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/lm32/milkymist.c

  Log Message:
  -----------
  lm32/milkymist: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
 while at it add check for user supplied RAM size and error
 out if it mismatches board expected value.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: c55f97a0e157cb3b159c3925703d9f2af910399b
      
https://github.com/qemu/qemu/commit/c55f97a0e157cb3b159c3925703d9f2af910399b
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/m68k/an5206.c

  Log Message:
  -----------
  m68k/an5206: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: Thomas Huth <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 8591a179af02667a7e98e70033e9f6944ab72de7
      
https://github.com/qemu/qemu/commit/8591a179af02667a7e98e70033e9f6944ab72de7
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/m68k/q800.c

  Log Message:
  -----------
  m68k/q800: use memdev for RAM

Switch to using generic main RAM allocation. To do this set
MachineClass::default_ram_id to m68k_mac.ram and use
MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: Laurent Vivier <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 32c245cfaf27920985d19056cf9c725801dee012
      
https://github.com/qemu/qemu/commit/32c245cfaf27920985d19056cf9c725801dee012
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/m68k/mcf5208.c

  Log Message:
  -----------
  m68k/mcf5208: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: Thomas Huth <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 49b64ba90649b28851bf7fc6377810a411d55386
      
https://github.com/qemu/qemu/commit/49b64ba90649b28851bf7fc6377810a411d55386
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/m68k/next-cube.c

  Log Message:
  -----------
  m68k/next-cube: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: Thomas Huth <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 9389d6ce0b893542524611f319b57df3e181957a
      
https://github.com/qemu/qemu/commit/9389d6ce0b893542524611f319b57df3e181957a
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/mips/boston.c

  Log Message:
  -----------
  mips/boston: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: dc7b6ba5b20c5a2d09edc290091c77e51aa4962f
      
https://github.com/qemu/qemu/commit/dc7b6ba5b20c5a2d09edc290091c77e51aa4962f
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/mips/mips_fulong2e.c

  Log Message:
  -----------
  mips/mips_fulong2e: drop RAM size fixup

If user provided non-sense RAM size, board will complain and
continue running with max RAM size supported.
Also RAM is going to be allocated by generic code, so it won't be
possible for board to fix things up for user.

Make it error message and exit to force user fix CLI,
instead of accepting non-sense CLI values.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 0de3d9fba60f3c3518a3302b99cb472cac225d7d
      
https://github.com/qemu/qemu/commit/0de3d9fba60f3c3518a3302b99cb472cac225d7d
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/mips/mips_fulong2e.c

  Log Message:
  -----------
  mips/mips_fulong2e: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 2a9bded9a3377a33f9bfdebaa824cd3c8abd3586
      
https://github.com/qemu/qemu/commit/2a9bded9a3377a33f9bfdebaa824cd3c8abd3586
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/mips/mips_jazz.c

  Log Message:
  -----------
  mips/mips_jazz: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 7c3dd4c6a50ea31bedc2efb7497271273bf42cb9
      
https://github.com/qemu/qemu/commit/7c3dd4c6a50ea31bedc2efb7497271273bf42cb9
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/mips/mips_jazz.c

  Log Message:
  -----------
  mips/mips_jazz: add max ram size check

error out in case user asked for more RAM than board
supports.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daude <address@hidden>
Message-Id: <address@hidden>


  Commit: 3a6e6ac76293df16751547cc1499cf363c008d6f
      
https://github.com/qemu/qemu/commit/3a6e6ac76293df16751547cc1499cf363c008d6f
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/mips/mips_malta.c

  Log Message:
  -----------
  mips/mips_malta: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: ceefaa3b245f47d2263c5c72d2732f955881c793
      
https://github.com/qemu/qemu/commit/ceefaa3b245f47d2263c5c72d2732f955881c793
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/mips/mips_mipssim.c

  Log Message:
  -----------
  mips/mips_mipssim: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: ec88838cdc77ad1699f9b44aba20fc23ff3ca484
      
https://github.com/qemu/qemu/commit/ec88838cdc77ad1699f9b44aba20fc23ff3ca484
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/mips/mips_r4k.c

  Log Message:
  -----------
  mips/mips_r4k: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 3538e846cb8dad0912d1d9faf305d599879d3ad9
      
https://github.com/qemu/qemu/commit/3538e846cb8dad0912d1d9faf305d599879d3ad9
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/ppc/e500.c

  Log Message:
  -----------
  ppc/e500: drop RAM size fixup

If user provided non-sense RAM size, board will complain and
continue running with max RAM size supported.
Also RAM is going to be allocated by generic code, so it won't be
possible for board to fix things up for user.

Make it error message and exit to force user fix CLI,
instead of accepting non-sense CLI values.

While at it, replace usage of global ram_size with
machine->ram_size

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 9731664559a370d7b525400d739e926e3849ffe4
      
https://github.com/qemu/qemu/commit/9731664559a370d7b525400d739e926e3849ffe4
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/ppc/e500.c
    M hw/ppc/e500plat.c
    M hw/ppc/mpc8544ds.c

  Log Message:
  -----------
  ppc/e500: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: a5b5de02ac5b45341e916ddb84f051e2fade8f02
      
https://github.com/qemu/qemu/commit/a5b5de02ac5b45341e916ddb84f051e2fade8f02
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/ppc/mac_newworld.c

  Log Message:
  -----------
  ppc/mac_newworld: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Acked-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 8ee06e4ccb0f447caf9dc884b98986c155915e5c
      
https://github.com/qemu/qemu/commit/8ee06e4ccb0f447caf9dc884b98986c155915e5c
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/ppc/mac_oldworld.c

  Log Message:
  -----------
  ppc/mac_oldworld: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Acked-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 173a36d8d165872183bb62d1bac4aff5ef5bf495
      
https://github.com/qemu/qemu/commit/173a36d8d165872183bb62d1bac4aff5ef5bf495
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/ppc/pnv.c

  Log Message:
  -----------
  ppc/pnv: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 4428dcf7b990d6dae05de8611dcd7098121534c8
      
https://github.com/qemu/qemu/commit/4428dcf7b990d6dae05de8611dcd7098121534c8
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/ppc/ppc405_boards.c

  Log Message:
  -----------
  ppc/ppc405_boards: add RAM size checks

If user provided non-sense RAM size, board will ignore it
and continue running with fixed RAM size.

Also RAM is going to be allocated by generic code, so it
won't be possible for board to fix CLI.

Make it error message and exit to force user fix CLI,
instead of accepting non-sense CLI values.

PS:
move fixed RAM size into mc->default_ram_size, so that
generic code will know how much to allocate.

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 2dc9ce13d210d591a0b9d98234fe6f39a535bf68
      
https://github.com/qemu/qemu/commit/2dc9ce13d210d591a0b9d98234fe6f39a535bf68
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/ppc/ppc405_boards.c

  Log Message:
  -----------
  ppc/ppc405_boards: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

PS:
in ref405ep alias RAM into ram_memories[] to avoid re-factoring
its user ppc405ep_init(), which would be invasive and out of
scope this patch.

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: a0258e4afa10a8e9dba4901b7a8202dac24c72e2
      
https://github.com/qemu/qemu/commit/a0258e4afa10a8e9dba4901b7a8202dac24c72e2
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/ppc/ppc440_bamboo.c
    M hw/ppc/ppc4xx_devs.c
    M hw/ppc/sam460ex.c
    M include/hw/ppc/ppc4xx.h

  Log Message:
  -----------
  ppc/{ppc440_bamboo, sam460ex}: drop RAM size fixup

If user provided non-sense RAM size, board will complain and
continue running with max RAM size supported or sometimes
crash like this:
  %QEMU -M bamboo -m 1
    exec.c:1926: find_ram_offset: Assertion `size != 0' failed.
    Aborted (core dumped)
Also RAM is going to be allocated by generic code, so it won't be
possible for board to fix things up for user.

Make it error message and exit to force user fix CLI,
instead of accepting non-sense CLI values.
That also fixes crash issue, since wrongly calculated size
isn't used to allocate RAM

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: BALATON Zoltan <address@hidden>
Acked-by: David Gibson <address@hidden>
Message-Id: <address@hidden>


  Commit: b28f01880eda878f66cbba54be98bfd96582e857
      
https://github.com/qemu/qemu/commit/b28f01880eda878f66cbba54be98bfd96582e857
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/ppc/ppc440_bamboo.c
    M hw/ppc/ppc4xx_devs.c
    M hw/ppc/sam460ex.c
    M include/hw/ppc/ppc4xx.h

  Log Message:
  -----------
  ppc/{ppc440_bamboo, sam460ex}: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: BALATON Zoltan <address@hidden>
Acked-by: David Gibson <address@hidden>
Message-Id: <address@hidden>


  Commit: ab74e543112957696f7c79b0c33ecebd18b52af5
      
https://github.com/qemu/qemu/commit/ab74e543112957696f7c79b0c33ecebd18b52af5
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  ppc/spapr: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: 9fe680ee7578836ea13ab37c5c721a81ce3966fe
      
https://github.com/qemu/qemu/commit/9fe680ee7578836ea13ab37c5c721a81ce3966fe
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/ppc/virtex_ml507.c

  Log Message:
  -----------
  ppc/virtex_ml507: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Acked-by: David Gibson <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: fe3e7b71e68ad0272d535afbc2b38a82e6c5379a
      
https://github.com/qemu/qemu/commit/fe3e7b71e68ad0272d535afbc2b38a82e6c5379a
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/sparc/leon3.c

  Log Message:
  -----------
  sparc/leon3: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: b2554752b1da7c8fa8f16d5551743e66ccce0a67
      
https://github.com/qemu/qemu/commit/b2554752b1da7c8fa8f16d5551743e66ccce0a67
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/sparc/sun4m.c

  Log Message:
  -----------
  sparc/sun4m: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Patch moves ram size check into sun4m_hw_init() and drops
ram_init() moving remainder to sun4m_hw_init() as well,
as it was the only place that called it.

Also it rewrites impl. of RamDevice a little bit, which
could serve as an example of frontend device for RAM backend.
(Caveats are:
  1. it doesn't check for memdev backend being mapped
     since it's been  usurped by generic machine to handle
     majority of machines which don't have RAM frontend device
  2. it still lacks 'addr' property and still has hardcoded
     sysbus_mmio_map() in board init. If done right, board should
     set 'addr' property and bus/machine plug handler should map
     it during device realize time.
)
Further improvements were left as exercise for the future,
since frontends are out scope of RAM conversion to memdev.

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>


  Commit: 769e8d93bebfbe51817b915ef623944442ab3af3
      
https://github.com/qemu/qemu/commit/769e8d93bebfbe51817b915ef623944442ab3af3
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/sparc64/niagara.c

  Log Message:
  -----------
  sparc/niagara: use memdev for RAM

memory_region_allocate_system_memory() API is going away, so
replace it with memdev allocated MemoryRegion. The later is
initialized by generic code, so board only needs to opt in
to memdev scheme by providing
  MachineClass::default_ram_id
and using MachineState::ram instead of manually initializing
RAM memory region.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: f0530f14c7c35d4050fd5da11f97dae3cd48d842
      
https://github.com/qemu/qemu/commit/f0530f14c7c35d4050fd5da11f97dae3cd48d842
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M hw/core/numa.c
    M include/hw/boards.h

  Log Message:
  -----------
  remove no longer used memory_region_allocate_system_memory()

all boards were switched to using memdev backend for main RAM,
so we can drop no longer used memory_region_allocate_system_memory()

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>


  Commit: ad1172d8e56e7787ad443d32a97193ac58bf2f17
      
https://github.com/qemu/qemu/commit/ad1172d8e56e7787ad443d32a97193ac58bf2f17
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M exec.c

  Log Message:
  -----------
  exec: cleanup qemu_minrampagesize()/qemu_maxrampagesize()

Since all RAM is backed by hostmem backends, drop
global -mem-path invariant and simplify code.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: c001c3b3d93a645d9f0e5cc3638937abc8b8f7f7
      
https://github.com/qemu/qemu/commit/c001c3b3d93a645d9f0e5cc3638937abc8b8f7f7
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M exec.c

  Log Message:
  -----------
  exec: drop bogus mem_path from qemu_ram_alloc_from_fd()

Function will report error that will mention global mem_path,
which was valid the only if legacy -mem-path was used and
only in case of main RAM.

However it doesn't work with hostmem backends
(for example:
"
  qemu: -object memory-backend-file,id=ram0,size=128M,mem-path=foo:
    backing store (null) size 0x200000 does not match 'size' option 0x8000000
")
and couldn't possibly work in general FD case the function
is supposed to handle.

Taking in account that main RAM was converted into
memory-backend-foo object, there is no point in printing
file name (from inappropriate place) as failing path is
a part of backend's error message.

Hence drop bogus mem_path usage from qemu_ram_alloc_from_fd(),
it's a job of its user to add file name to error message if applicable.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 8b38de9f62cfc3d8d6f946c47e8afb6138539517
      
https://github.com/qemu/qemu/commit/8b38de9f62cfc3d8d6f946c47e8afb6138539517
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M include/sysemu/sysemu.h
    M vl.c

  Log Message:
  -----------
  make mem_path local variable

It's no longer used anywhere beside main(),
so make it local variable that is used for CLI compat
purposes to keep -mem-path option working.

Under hood QEMU will use it to create
  memory-backend-file,mem-path=...
backend and use its MemoryRegion as main RAM.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: ffac16fab33bb42f17e47624985220c1fd864e9d
      
https://github.com/qemu/qemu/commit/ffac16fab33bb42f17e47624985220c1fd864e9d
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M backends/hostmem.c
    M include/sysemu/hostmem.h
    M vl.c

  Log Message:
  -----------
  hostmem: introduce "prealloc-threads" property

the property will allow user to specify number of threads to use
in pre-allocation stage. It also will allow to reduce implicit
hostmem dependency on current_machine.
On object creation it will default to 1, but via machine
compat property it will be updated to MachineState::smp::cpus
to keep current behavior for hostmem and main RAM (which is
now also hostmem based).

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>


  Commit: 4ebc74dbbf7ad50e4101629f3f5da5fdc1544051
      
https://github.com/qemu/qemu/commit/4ebc74dbbf7ad50e4101629f3f5da5fdc1544051
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M backends/hostmem-file.c
    M backends/hostmem-memfd.c
    M backends/hostmem.c
    M exec.c
    M include/sysemu/hostmem.h
    M include/sysemu/sysemu.h
    M vl.c

  Log Message:
  -----------
  hostmem: fix strict bind policy

When option -mem-prealloc is used with one or more memory-backend
objects, created backends may not obey configured bind policy or
creation may fail after kernel attempts to move pages according
to bind policy.
Reason is in file_ram_alloc(), which will pre-allocate
any descriptor based RAM if global mem_prealloc != 0 and that
happens way before bind policy is applied to memory range.

One way to fix it would be to extend memory_region_foo() API
and add more invariants that could broken later due implicit
dependencies that's hard to track.

Another approach is to drop adhoc main RAM allocation and
consolidate it around memory-backend. That allows to have
single place that allocates guest RAM (main and memdev)
in the same way and then global mem_prealloc could be
replaced by backend's property[s] that will affect created
memory-backend objects but only in correct order this time.

With main RAM now converted to hostmem backends, there is no
point in keeping global mem_prealloc around, so alias
 -mem-prealloc to "memory-backend.prealloc=on"
machine compat[*] property and make mem_prealloc a local
variable to only stir registration of compat property.

*) currently user accessible -global works only with DEVICE
   based objects and extra work is needed to make it work
   with hostmem backends. But that is convenience option
   and out of scope of this already huge refactoring.
   Hence machine compat properties were used.

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>


  Commit: 786ed5c497fd30c52b3e84ea9c721a928ba8836c
      
https://github.com/qemu/qemu/commit/786ed5c497fd30c52b3e84ea9c721a928ba8836c
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M tests/qtest/numa-test.c

  Log Message:
  -----------
  tests/numa-test: make top level args dynamic and g_autofree(cli) cleanups

Use GString to pass argument to make_cli() so that it would be easy
to dynamically change test case arguments from main(). The follow up
patch will use it to change RAM size options depending on target.

While at it cleanup 'cli' freeing, using g_autofree annotation.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>


  Commit: 9584b564198193bd54f00a01ed7e039d4f03fa31
      
https://github.com/qemu/qemu/commit/9584b564198193bd54f00a01ed7e039d4f03fa31
  Author: Igor Mammedov <address@hidden>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M tests/qtest/numa-test.c

  Log Message:
  -----------
  tests:numa-test: use explicit memdev to specify node RAM

Considering that legacy "mem" option is deprecated, use memdev
in tests and add an additional test for legacy "mem" option
on old machine type, to make sure it won't regress in the future.

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>


  Commit: 4b314c1a71e398f428de69ae719967cd9902f61d
      
https://github.com/qemu/qemu/commit/4b314c1a71e398f428de69ae719967cd9902f61d
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M scripts/git.orderfile

  Log Message:
  -----------
  scripts/git.orderfile: Display Cocci scripts before code modifications

When we use a Coccinelle semantic script to do automatic
code modifications, it makes sense to look at the semantic
patch first.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 18610bfd3e9a91c174e009c0528c9c0dc1ffb888
      
https://github.com/qemu/qemu/commit/18610bfd3e9a91c174e009c0528c9c0dc1ffb888
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M hw/arm/smmu-common.c
    M hw/arm/smmuv3.c
    M hw/sd/sdhci.c
    A scripts/coccinelle/exec_rw_const.cocci

  Log Message:
  -----------
  hw: Remove unnecessary cast when calling dma_memory_read()

Since its introduction in commit d86a77f8abb, dma_memory_read()
always accepted void pointer argument. Remove the unnecessary
casts.

This commit was produced with the included Coccinelle script
scripts/coccinelle/exec_rw_const.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
v4: Drop parenthesis when removing cast (Eric Blake)


  Commit: 208046768da78b7d841e5ef784c3161c4f76ba16
      
https://github.com/qemu/qemu/commit/208046768da78b7d841e5ef784c3161c4f76ba16
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M exec.c

  Log Message:
  -----------
  exec: Rename ram_ptr variable

As we are going to use a different 'ptr' variable, rename the 'ram
pointer' variable.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: a152be43dcfc1b72c6987e561102776f197ccc8d
      
https://github.com/qemu/qemu/commit/a152be43dcfc1b72c6987e561102776f197ccc8d
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M exec.c
    M include/exec/memory.h

  Log Message:
  -----------
  exec: Let flatview API take void pointer arguments

Only flatview_[read/write]_continue use a byte pointer to increment
an offset. For the users, we are only dealing with a blob buffer.
Use a void pointer argument. This will let us simplify the
address_space API in the next commit.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: daa3dda43af90d1c88d439891c6c7129959ccc77
      
https://github.com/qemu/qemu/commit/daa3dda43af90d1c88d439891c6c7129959ccc77
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M exec.c
    M include/exec/memory.h

  Log Message:
  -----------
  exec: Let the address_space API use void pointer arguments

As we are only dealing with a blob buffer, use a void pointer
argument. This will let us simplify other APIs.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 4ef044cb148a5238161310f06bc581aeed70059f
      
https://github.com/qemu/qemu/commit/4ef044cb148a5238161310f06bc581aeed70059f
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M hw/net/dp8393x.c
    M hw/net/i82596.c
    M scripts/coccinelle/exec_rw_const.cocci

  Log Message:
  -----------
  hw/net: Avoid casting non-const pointer, use address_space_write()

The NetReceive prototype gets a const buffer:

  typedef ssize_t (NetReceive)(NetClientState *, const uint8_t *, size_t);

We already have the address_space_write() method to write a const
buffer to an address space. Use it to avoid:

  hw/net/i82596.c: In function ‘i82596_receive’:
  hw/net/i82596.c:644:54: error: passing argument 4 of ‘address_space_rw’ 
discards ‘const’ qualifier from pointer target type 
[-Werror=discarded-qualifiers]

This commit was produced with the included Coccinelle script
scripts/coccinelle/exec_rw_const.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: b7cbebf2b9d7aa8854cfd6a45484e160244e9f48
      
https://github.com/qemu/qemu/commit/b7cbebf2b9d7aa8854cfd6a45484e160244e9f48
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M hw/arm/boot.c
    M hw/dma/rc4030.c
    M hw/dma/xlnx-zdma.c
    M hw/net/cadence_gem.c
    M hw/net/dp8393x.c
    M hw/s390x/css.c
    M qtest.c
    M scripts/coccinelle/exec_rw_const.cocci
    M target/i386/hvf/vmx.h
    M target/i386/hvf/x86_mmu.c
    M target/i386/whpx-all.c
    M target/s390x/mmu_helper.c

  Log Message:
  -----------
  Remove unnecessary cast when using the address_space API

This commit was produced with the included Coccinelle script
scripts/coccinelle/exec_rw_const.

Two lines in hw/net/dp8393x.c that Coccinelle produced that
were over 80 characters were re-wrapped by hand.

Suggested-by: Stefan Weil <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: d7ef71ef421d7ea481587b11c4cb8d25718baa4b
      
https://github.com/qemu/qemu/commit/d7ef71ef421d7ea481587b11c4cb8d25718baa4b
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M exec.c
    M include/exec/cpu-all.h
    M include/exec/cpu-common.h

  Log Message:
  -----------
  exec: Let the cpu_[physical]_memory API use void pointer arguments

As we are only dealing with a blob buffer, use a void pointer
argument. This will let us simplify other APIs.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 0eeef0a4d328b0da543c44678d00cfb7546b11a1
      
https://github.com/qemu/qemu/commit/0eeef0a4d328b0da543c44678d00cfb7546b11a1
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M hw/display/omap_lcdc.c
    M hw/dma/etraxfs_dma.c
    M hw/scsi/vmw_pvscsi.c
    M scripts/coccinelle/exec_rw_const.cocci
    M target/i386/hax-all.c

  Log Message:
  -----------
  Remove unnecessary cast when using the cpu_[physical]_memory API

This commit was produced with the included Coccinelle script
scripts/coccinelle/exec_rw_const.

Suggested-by: Stefan Weil <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: d7458e7754040a72d5dd2adab976f609288bd74c
      
https://github.com/qemu/qemu/commit/d7458e7754040a72d5dd2adab976f609288bd74c
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M include/hw/ide/internal.h

  Log Message:
  -----------
  hw/ide/internal: Remove unused DMARestartFunc typedef

The IDE DMA restart callback has been removed in commit fe09c7c9f0.

Fixes: fe09c7c9f0
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 9842a9cfdddfdc983f2ec09772a896be10c7373e
      
https://github.com/qemu/qemu/commit/9842a9cfdddfdc983f2ec09772a896be10c7373e
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M hw/dma/rc4030.c
    M hw/ide/ahci.c
    M hw/ide/core.c
    M hw/ide/macio.c
    M hw/ide/pci.c
    M include/hw/ide/internal.h

  Log Message:
  -----------
  hw/ide: Let the DMAIntFunc prototype use a boolean 'is_write' argument

The 'is_write' argument is either 0 or 1.
Convert it to a boolean type.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 22953364f4f1f8fd27e08a02d480492be6c9960b
      
https://github.com/qemu/qemu/commit/22953364f4f1f8fd27e08a02d480492be6c9960b
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  hw/virtio: Let virtqueue_map_iovec() use a boolean 'is_write' argument

The 'is_write' argument is either 0 or 1.
Convert it to a boolean type.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: b897a47450d6058d0acf2fe70ee90ea8fc65cb51
      
https://github.com/qemu/qemu/commit/b897a47450d6058d0acf2fe70ee90ea8fc65cb51
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M hw/virtio/vhost.c

  Log Message:
  -----------
  hw/virtio: Let vhost_memory_map() use a boolean 'is_write' argument

The 'is_write' argument is either 0 or 1.
Convert it to a boolean type.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: ae5883abec539e63f0cf7bf7aa5f44c9b62568e2
      
https://github.com/qemu/qemu/commit/ae5883abec539e63f0cf7bf7aa5f44c9b62568e2
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M exec.c
    M include/exec/memory.h

  Log Message:
  -----------
  exec: Let address_space_unmap() use a boolean 'is_write' argument

The 'is_write' argument is either 0 or 1.
Convert it to a boolean type.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 1ccda935d4fcc82a4371dc23d660197b0a6b6951
      
https://github.com/qemu/qemu/commit/1ccda935d4fcc82a4371dc23d660197b0a6b6951
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M exec.c
    M hw/net/dp8393x.c
    M hw/net/i82596.c
    M hw/net/lasi_i82596.c
    M scripts/coccinelle/exec_rw_const.cocci
    M target/i386/hvf/vmx.h
    M target/i386/hvf/x86_mmu.c

  Log Message:
  -----------
  Let address_space_rw() calls pass a boolean 'is_write' argument

Since its introduction in commit ac1970fbe8, address_space_rw()
takes a boolean 'is_write' argument. Fix the codebase by using
an explicit boolean type.

This commit was produced with the included Coccinelle script
scripts/coccinelle/exec_rw_const.

Inspired-by: Peter Maydell <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 19f703477314a5db09ffc3c0f6be9c45645f8302
      
https://github.com/qemu/qemu/commit/19f703477314a5db09ffc3c0f6be9c45645f8302
  Author: Peter Maydell <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M accel/kvm/kvm-all.c
    M dma-helpers.c
    M exec.c
    M hw/dma/xlnx-zdma.c
    M hw/net/dp8393x.c
    M hw/net/i82596.c
    M hw/net/lasi_i82596.c
    M hw/ppc/pnv_lpc.c
    M hw/s390x/css.c
    M qtest.c
    M scripts/coccinelle/exec_rw_const.cocci
    M target/i386/hvf/vmx.h
    M target/i386/hvf/x86_mmu.c

  Log Message:
  -----------
  Avoid address_space_rw() with a constant is_write argument

The address_space_rw() function allows either reads or writes
depending on the is_write argument passed to it; this is useful
when the direction of the access is determined programmatically
(as for instance when handling the KVM_EXIT_MMIO exit reason).
Under the hood it just calls either address_space_write() or
address_space_read_full().

We also use it a lot with a constant is_write argument, though,
which has two issues:
 * when reading "address_space_rw(..., 1)" this is less
   immediately clear to the reader as being a write than
   "address_space_write(...)"
 * calling address_space_rw() bypasses the optimization
   in address_space_read() that fast-paths reads of a
   fixed length

This commit was produced with the included Coccinelle script
scripts/coccinelle/exec_rw_const.cocci.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Acked-by: Christian Borntraeger <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Acked-by: David Gibson <address@hidden>
Message-Id: <address@hidden>
[PMD: Update macvm_set_cr0() reported by Laurent Vivier]
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 28c80bfe8b9c2343d5b6a488cf013352d8ea59d1
      
https://github.com/qemu/qemu/commit/28c80bfe8b9c2343d5b6a488cf013352d8ea59d1
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M exec.c
    M include/exec/cpu-all.h
    M include/exec/cpu-common.h

  Log Message:
  -----------
  exec: Let cpu_[physical]_memory API use a boolean 'is_write' argument

The 'is_write' argument is either 0 or 1.
Convert it to a boolean type.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 85eb7c18ee39e26002de6fa6abc5638af140e588
      
https://github.com/qemu/qemu/commit/85eb7c18ee39e26002de6fa6abc5638af140e588
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M hw/display/exynos4210_fimd.c
    M hw/display/milkymist-tmu2.c
    M hw/display/omap_dss.c
    M hw/display/ramfb.c
    M hw/misc/pc-testdev.c
    M hw/nvram/spapr_nvram.c
    M hw/ppc/ppc440_uc.c
    M hw/ppc/spapr_hcall.c
    M hw/s390x/ipl.c
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/virtio-ccw.c
    M hw/xen/xen_pt_graphics.c
    M include/exec/cpu-common.h
    M scripts/coccinelle/exec_rw_const.cocci
    M target/i386/hax-all.c
    M target/s390x/excp_helper.c
    M target/s390x/helper.c

  Log Message:
  -----------
  Let cpu_[physical]_memory() calls pass a boolean 'is_write' argument

Use an explicit boolean type.

This commit was produced with the included Coccinelle script
scripts/coccinelle/exec_rw_const.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: adeefe01671fb06a930beba624dc3db8367901a3
      
https://github.com/qemu/qemu/commit/adeefe01671fb06a930beba624dc3db8367901a3
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-20 (Thu, 20 Feb 2020)

  Changed paths:
    M hw/xen/xen_pt_graphics.c
    M scripts/coccinelle/exec_rw_const.cocci
    M target/i386/hax-all.c

  Log Message:
  -----------
  Avoid cpu_physical_memory_rw() with a constant is_write argument

This commit was produced with the included Coccinelle script
scripts/coccinelle/exec_rw_const.

Inspired-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 920d557e5ae58671d335acbcfba3f9a97a02911c
      
https://github.com/qemu/qemu/commit/920d557e5ae58671d335acbcfba3f9a97a02911c
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M memory.c

  Log Message:
  -----------
  memory: batch allocate ioeventfds[] in address_space_update_ioeventfds()

Reallocing the ioeventfds[] array each time an element is added is very
expensive as the number of ioeventfds increases.  Batch allocate instead
to amortize the cost of realloc.

This patch reduces Linux guest boot times from 362s to 140s when there
are 2 virtio-blk devices with 1 virtqueue and 99 virtio-blk devices with
32 virtqueues.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 037fb5eb3941c80a2b7c36a843e47207ddb004d4
      
https://github.com/qemu/qemu/commit/037fb5eb3941c80a2b7c36a843e47207ddb004d4
  Author: bauerchen <address@hidden>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M util/oslib-posix.c

  Log Message:
  -----------
  mem-prealloc: optimize large guest startup

[desc]:
    Large memory VM starts slowly when using -mem-prealloc, and
    there are some areas to optimize in current method;

    1、mmap will be used to alloc threads stack during create page
    clearing threads, and it will attempt mm->mmap_sem for write
    lock, but clearing threads have hold read lock, this competition
    will cause threads createion very slow;

    2、methods of calcuating pages for per threads is not well;if we use
    64 threads to split 160 hugepage,63 threads clear 2page,1 thread
    clear 34 page,so the entire speed is very slow;

    to solve the first problem,we add a mutex in thread function,and
    start all threads when all threads finished createion;
    and the second problem, we spread remainder to other threads,in
    situation that 160 hugepage and 64 threads, there are 32 threads
    clear 3 pages,and 32 threads clear 2 pages.

[test]:
    320G 84c VM start time can be reduced to 10s
    680G 84c VM start time can be reduced to 18s

Signed-off-by: bauerchen <address@hidden>
Reviewed-by: Pan Rui <address@hidden>
Reviewed-by: Ivan Ren <address@hidden>
[Simplify computation of the number of pages per thread. - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: cce8944cc9efab47d4bf29cfffb3470371c3541b
      
https://github.com/qemu/qemu/commit/cce8944cc9efab47d4bf29cfffb3470371c3541b
  Author: Julia Suvorova <address@hidden>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M qdev-monitor.c

  Log Message:
  -----------
  qdev-monitor: Forbid repeated device_del

Device unplug can be done asynchronously. Thus, sending the second
device_del before the previous unplug is complete may lead to
unexpected results. On PCIe devices, this cancels the hot-unplug
process.

Signed-off-by: Julia Suvorova <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 93c3593ad04f2610fd0a176dfa89a7e40b6afe1f
      
https://github.com/qemu/qemu/commit/93c3593ad04f2610fd0a176dfa89a7e40b6afe1f
  Author: Paolo Bonzini <address@hidden>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M target/i386/fpu_helper.c

  Log Message:
  -----------
  target/i386: check for empty register in FXAM

The fxam instruction returns the wrong result after fdecstp or after
an underflow.  Check fptags to handle this.

Reported-by: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 88cd34ee9e8866a27d99766fd384ed92e6e31d60
      
https://github.com/qemu/qemu/commit/88cd34ee9e8866a27d99766fd384ed92e6e31d60
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M accel/kvm/kvm-all.c

  Log Message:
  -----------
  accel/kvm: Check ioctl(KVM_SET_USER_MEMORY_REGION) return value

kvm_vm_ioctl() can fail, check its return value, and log an error
when it failed. This fixes Coverity CID 1412229:

  Unchecked return value (CHECKED_RETURN)

  check_return: Calling kvm_vm_ioctl without checking return value

Reported-by: Coverity (CID 1412229)
Fixes: 235e8982ad3 ("support using KVM_MEM_READONLY flag for regions")
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: c220cdec4845f305034330f80ce297f1f997f2d3
      
https://github.com/qemu/qemu/commit/c220cdec4845f305034330f80ce297f1f997f2d3
  Author: Sunil Muthuswamy <address@hidden>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  WHPX: Assigning maintainer for Windows Hypervisor Platform

Signed-off-by: Sunil Muthuswamy <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Justin Terry (VM) <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: ca6155c0f2bd39b4b4162533be401c98bd960820
      
https://github.com/qemu/qemu/commit/ca6155c0f2bd39b4b4162533be401c98bd960820
  Author: Paolo Bonzini <address@hidden>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M backends/hostmem-file.c
    M backends/hostmem-memfd.c
    M backends/hostmem-ram.c
    M backends/hostmem.c
    M exec.c
    M hw/alpha/alpha_sys.h
    M hw/alpha/dp264.c
    M hw/alpha/typhoon.c
    M hw/arm/aspeed.c
    M hw/arm/collie.c
    M hw/arm/cubieboard.c
    M hw/arm/digic_boards.c
    M hw/arm/highbank.c
    M hw/arm/imx25_pdk.c
    M hw/arm/integratorcp.c
    M hw/arm/kzm.c
    M hw/arm/mcimx6ul-evk.c
    M hw/arm/mcimx7d-sabre.c
    M hw/arm/mps2-tz.c
    M hw/arm/mps2.c
    M hw/arm/musicpal.c
    M hw/arm/nseries.c
    M hw/arm/omap_sx1.c
    M hw/arm/palm.c
    M hw/arm/raspi.c
    M hw/arm/sabrelite.c
    M hw/arm/sbsa-ref.c
    M hw/arm/versatilepb.c
    M hw/arm/vexpress.c
    M hw/arm/virt.c
    M hw/arm/xilinx_zynq.c
    M hw/arm/xlnx-versal-virt.c
    M hw/arm/xlnx-zcu102.c
    M hw/core/machine.c
    M hw/core/null-machine.c
    M hw/core/numa.c
    M hw/cris/axis_dev88.c
    M hw/hppa/machine.c
    M hw/i386/microvm.c
    M hw/i386/pc.c
    M hw/lm32/lm32_boards.c
    M hw/lm32/milkymist.c
    M hw/m68k/an5206.c
    M hw/m68k/mcf5208.c
    M hw/m68k/next-cube.c
    M hw/m68k/q800.c
    M hw/mips/boston.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_jazz.c
    M hw/mips/mips_malta.c
    M hw/mips/mips_mipssim.c
    M hw/mips/mips_r4k.c
    M hw/misc/aspeed_sdmc.c
    M hw/ppc/e500.c
    M hw/ppc/e500plat.c
    M hw/ppc/mac_newworld.c
    M hw/ppc/mac_oldworld.c
    M hw/ppc/mpc8544ds.c
    M hw/ppc/pnv.c
    M hw/ppc/ppc405_boards.c
    M hw/ppc/ppc440_bamboo.c
    M hw/ppc/ppc4xx_devs.c
    M hw/ppc/sam460ex.c
    M hw/ppc/spapr.c
    M hw/ppc/virtex_ml507.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/sparc/leon3.c
    M hw/sparc/sun4m.c
    M hw/sparc64/niagara.c
    M include/hw/boards.h
    M include/hw/misc/aspeed_sdmc.h
    M include/hw/ppc/ppc4xx.h
    M include/sysemu/hostmem.h
    M include/sysemu/numa.h
    M include/sysemu/sysemu.h
    M qemu-deprecated.texi
    M softmmu/vl.c
    M tests/qtest/numa-test.c

  Log Message:
  -----------
  Merge tag 'patchew/address@hidden' of https://github.com/patchew-project/qemu 
into HEAD

This series removes ad hoc RAM allocation API 
(memory_region_allocate_system_memory)
and consolidates it around hostmem backend. It allows to

* resolve conflicts between global -mem-prealloc and hostmem's "policy" option,
  fixing premature allocation before binding policy is applied

* simplify complicated memory allocation routines which had to deal with 2 ways
  to allocate RAM.

* reuse hostmem backends of a choice for main RAM without adding extra CLI
  options to duplicate hostmem features.  A recent case was -mem-shared, to
  enable vhost-user on targets that don't support hostmem backends [1] (ex: 
s390)

* move RAM allocation from individual boards into generic machine code and
  provide them with prepared MemoryRegion.

* clean up deprecated NUMA features which were tied to the old API (see patches)
  - "numa: remove deprecated -mem-path fallback to anonymous RAM"
  - (POSTPONED, waiting on libvirt side) "forbid '-numa node,mem' for 5.0 and 
newer machine types"
  - (POSTPONED) "numa: remove deprecated implicit RAM distribution between 
nodes"

Introduce a new machine.memory-backend property and wrapper code that aliases
global -mem-path and -mem-alloc into automatically created hostmem backend
properties (provided memory-backend was not set explicitly given by user).
A bulk of trivial patches then follow to incrementally convert individual
boards to using machine.memory-backend provided MemoryRegion.

Board conversion typically involves:

* providing MachineClass::default_ram_size and MachineClass::default_ram_id
  so generic code could create default backend if user didn't explicitly provide
  memory-backend or -m options

* dropping memory_region_allocate_system_memory() call

* using convenience MachineState::ram MemoryRegion, which points to MemoryRegion
   allocated by ram-memdev

On top of that for some boards:

* missing ram_size checks are added (typically it were boards with fixed ram 
size)

* ram_size fixups are replaced by checks and hard errors, forcing user to
  provide correct "-m" values instead of ignoring it and continuing running.

After all boards are converted, the old API is removed and memory allocation
routines are cleaned up.


  Commit: 9e264985ff0bc86927b44b334bd504687f78659d
      
https://github.com/qemu/qemu/commit/9e264985ff0bc86927b44b334bd504687f78659d
  Author: Paolo Bonzini <address@hidden>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M accel/kvm/kvm-all.c
    M dma-helpers.c
    M exec.c
    M hw/arm/boot.c
    M hw/arm/smmu-common.c
    M hw/arm/smmuv3.c
    M hw/display/exynos4210_fimd.c
    M hw/display/milkymist-tmu2.c
    M hw/display/omap_dss.c
    M hw/display/omap_lcdc.c
    M hw/display/ramfb.c
    M hw/dma/etraxfs_dma.c
    M hw/dma/rc4030.c
    M hw/dma/xlnx-zdma.c
    M hw/ide/ahci.c
    M hw/ide/core.c
    M hw/ide/macio.c
    M hw/ide/pci.c
    M hw/misc/pc-testdev.c
    M hw/net/cadence_gem.c
    M hw/net/dp8393x.c
    M hw/net/i82596.c
    M hw/net/lasi_i82596.c
    M hw/nvram/spapr_nvram.c
    M hw/ppc/pnv_lpc.c
    M hw/ppc/ppc440_uc.c
    M hw/ppc/spapr_hcall.c
    M hw/s390x/css.c
    M hw/s390x/ipl.c
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/virtio-ccw.c
    M hw/scsi/vmw_pvscsi.c
    M hw/sd/sdhci.c
    M hw/virtio/vhost.c
    M hw/virtio/virtio.c
    M hw/xen/xen_pt_graphics.c
    M include/exec/cpu-all.h
    M include/exec/cpu-common.h
    M include/exec/memory.h
    M include/hw/ide/internal.h
    M qtest.c
    A scripts/coccinelle/exec_rw_const.cocci
    M scripts/git.orderfile
    M target/i386/hax-all.c
    M target/i386/hvf/vmx.h
    M target/i386/hvf/x86_mmu.c
    M target/i386/whpx-all.c
    M target/s390x/excp_helper.c
    M target/s390x/helper.c
    M target/s390x/mmu_helper.c

  Log Message:
  -----------
  Merge branch 'exec_rw_const_v4' of https://github.com/philmd/qemu into HEAD


  Commit: db736e0437aa6fd7c1b7e4599c17f9619ab6b837
      
https://github.com/qemu/qemu/commit/db736e0437aa6fd7c1b7e4599c17f9619ab6b837
  Author: Peter Maydell <address@hidden>
  Date:   2020-02-25 (Tue, 25 Feb 2020)

  Changed paths:
    M MAINTAINERS
    M accel/kvm/kvm-all.c
    M backends/hostmem-file.c
    M backends/hostmem-memfd.c
    M backends/hostmem-ram.c
    M backends/hostmem.c
    M dma-helpers.c
    M exec.c
    M hw/alpha/alpha_sys.h
    M hw/alpha/dp264.c
    M hw/alpha/typhoon.c
    M hw/arm/aspeed.c
    M hw/arm/boot.c
    M hw/arm/collie.c
    M hw/arm/cubieboard.c
    M hw/arm/digic_boards.c
    M hw/arm/highbank.c
    M hw/arm/imx25_pdk.c
    M hw/arm/integratorcp.c
    M hw/arm/kzm.c
    M hw/arm/mcimx6ul-evk.c
    M hw/arm/mcimx7d-sabre.c
    M hw/arm/mps2-tz.c
    M hw/arm/mps2.c
    M hw/arm/musicpal.c
    M hw/arm/nseries.c
    M hw/arm/omap_sx1.c
    M hw/arm/palm.c
    M hw/arm/raspi.c
    M hw/arm/sabrelite.c
    M hw/arm/sbsa-ref.c
    M hw/arm/smmu-common.c
    M hw/arm/smmuv3.c
    M hw/arm/versatilepb.c
    M hw/arm/vexpress.c
    M hw/arm/virt.c
    M hw/arm/xilinx_zynq.c
    M hw/arm/xlnx-versal-virt.c
    M hw/arm/xlnx-zcu102.c
    M hw/core/machine.c
    M hw/core/null-machine.c
    M hw/core/numa.c
    M hw/cris/axis_dev88.c
    M hw/display/exynos4210_fimd.c
    M hw/display/milkymist-tmu2.c
    M hw/display/omap_dss.c
    M hw/display/omap_lcdc.c
    M hw/display/ramfb.c
    M hw/dma/etraxfs_dma.c
    M hw/dma/rc4030.c
    M hw/dma/xlnx-zdma.c
    M hw/hppa/machine.c
    M hw/i386/microvm.c
    M hw/i386/pc.c
    M hw/ide/ahci.c
    M hw/ide/core.c
    M hw/ide/macio.c
    M hw/ide/pci.c
    M hw/lm32/lm32_boards.c
    M hw/lm32/milkymist.c
    M hw/m68k/an5206.c
    M hw/m68k/mcf5208.c
    M hw/m68k/next-cube.c
    M hw/m68k/q800.c
    M hw/mips/boston.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_jazz.c
    M hw/mips/mips_malta.c
    M hw/mips/mips_mipssim.c
    M hw/mips/mips_r4k.c
    M hw/misc/aspeed_sdmc.c
    M hw/misc/pc-testdev.c
    M hw/net/cadence_gem.c
    M hw/net/dp8393x.c
    M hw/net/i82596.c
    M hw/net/lasi_i82596.c
    M hw/nvram/spapr_nvram.c
    M hw/ppc/e500.c
    M hw/ppc/e500plat.c
    M hw/ppc/mac_newworld.c
    M hw/ppc/mac_oldworld.c
    M hw/ppc/mpc8544ds.c
    M hw/ppc/pnv.c
    M hw/ppc/pnv_lpc.c
    M hw/ppc/ppc405_boards.c
    M hw/ppc/ppc440_bamboo.c
    M hw/ppc/ppc440_uc.c
    M hw/ppc/ppc4xx_devs.c
    M hw/ppc/sam460ex.c
    M hw/ppc/spapr.c
    M hw/ppc/spapr_hcall.c
    M hw/ppc/virtex_ml507.c
    M hw/s390x/css.c
    M hw/s390x/ipl.c
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/s390x/virtio-ccw.c
    M hw/scsi/vmw_pvscsi.c
    M hw/sd/sdhci.c
    M hw/sparc/leon3.c
    M hw/sparc/sun4m.c
    M hw/sparc64/niagara.c
    M hw/virtio/vhost.c
    M hw/virtio/virtio.c
    M hw/xen/xen_pt_graphics.c
    M include/exec/cpu-all.h
    M include/exec/cpu-common.h
    M include/exec/memory.h
    M include/hw/boards.h
    M include/hw/ide/internal.h
    M include/hw/misc/aspeed_sdmc.h
    M include/hw/ppc/ppc4xx.h
    M include/sysemu/hostmem.h
    M include/sysemu/numa.h
    M include/sysemu/sysemu.h
    M memory.c
    M qdev-monitor.c
    M qemu-deprecated.texi
    M qtest.c
    A scripts/coccinelle/exec_rw_const.cocci
    M scripts/git.orderfile
    M softmmu/vl.c
    M target/i386/fpu_helper.c
    M target/i386/hax-all.c
    M target/i386/hvf/vmx.h
    M target/i386/hvf/x86_mmu.c
    M target/i386/whpx-all.c
    M target/s390x/excp_helper.c
    M target/s390x/helper.c
    M target/s390x/mmu_helper.c
    M tests/qtest/numa-test.c
    M util/oslib-posix.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

* device_del fix (Julia)
* FXAM fix (myself)
* memdev refactoring (Igor)
* memory region API cleanups (Peter, Philippe)
* ioeventfd optimization (Stefan)
* new WHPX maintainer (Sunil)
* Large guest startup optimizations (Chen)

# gpg: Signature made Tue 25 Feb 2020 12:42:24 GMT
# gpg:                using RSA key BFFBD25F78C7AE83
# gpg: Good signature from "Paolo Bonzini <address@hidden>" [full]
# gpg:                 aka "Paolo Bonzini <address@hidden>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* remotes/bonzini/tags/for-upstream: (104 commits)
  WHPX: Assigning maintainer for Windows Hypervisor Platform
  accel/kvm: Check ioctl(KVM_SET_USER_MEMORY_REGION) return value
  target/i386: check for empty register in FXAM
  qdev-monitor: Forbid repeated device_del
  mem-prealloc: optimize large guest startup
  memory: batch allocate ioeventfds[] in address_space_update_ioeventfds()
  Avoid cpu_physical_memory_rw() with a constant is_write argument
  Let cpu_[physical]_memory() calls pass a boolean 'is_write' argument
  exec: Let cpu_[physical]_memory API use a boolean 'is_write' argument
  Avoid address_space_rw() with a constant is_write argument
  Let address_space_rw() calls pass a boolean 'is_write' argument
  exec: Let address_space_unmap() use a boolean 'is_write' argument
  hw/virtio: Let vhost_memory_map() use a boolean 'is_write' argument
  hw/virtio: Let virtqueue_map_iovec() use a boolean 'is_write' argument
  hw/ide: Let the DMAIntFunc prototype use a boolean 'is_write' argument
  hw/ide/internal: Remove unused DMARestartFunc typedef
  Remove unnecessary cast when using the cpu_[physical]_memory API
  exec: Let the cpu_[physical]_memory API use void pointer arguments
  Remove unnecessary cast when using the address_space API
  hw/net: Avoid casting non-const pointer, use address_space_write()
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/9a8abceb5f01...db736e0437aa



reply via email to

[Prev in Thread] Current Thread [Next in Thread]