qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] e7af4c: memory: add memory_region_set_size


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] e7af4c: memory: add memory_region_set_size
Date: Sat, 10 Jan 2015 14:30:06 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: e7af4c67300b3f9382e96f7a6741a5992116b2d2
      
https://github.com/qemu/qemu/commit/e7af4c67300b3f9382e96f7a6741a5992116b2d2
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-01-08 (Thu, 08 Jan 2015)

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

  Log Message:
  -----------
  memory: add memory_region_set_size

Add API to change MR size.
Will be used internally for RAM resize.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>


  Commit: c8d6f66ae7d0ce5f3622c19e29a2333d28dc1e9a
      
https://github.com/qemu/qemu/commit/c8d6f66ae7d0ce5f3622c19e29a2333d28dc1e9a
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-01-08 (Thu, 08 Jan 2015)

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

  Log Message:
  -----------
  exec: cpu_physical_memory_set/clear_dirty_range

Make cpu_physical_memory_set/clear_dirty_range
behave symmetrically.

To clear range for a given client type only, add
cpu_physical_memory_clear_dirty_range_type.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>


  Commit: 9b8424d5735278ca382f11adc7c63072b632ab83
      
https://github.com/qemu/qemu/commit/9b8424d5735278ca382f11adc7c63072b632ab83
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-01-08 (Thu, 08 Jan 2015)

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

  Log Message:
  -----------
  exec: split length -> used_length/max_length

This patch allows us to distinguish between two
length values for each block:
    max_length - length of memory block that was allocated
    used_length - length of block used by QEMU/guest

Currently, we set used_length - max_length, unconditionally.
Follow-up patches allow used_length <= max_length.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>


  Commit: 62be4e3a5041e84304aa23637da623a205c53ecc
      
https://github.com/qemu/qemu/commit/62be4e3a5041e84304aa23637da623a205c53ecc
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-01-08 (Thu, 08 Jan 2015)

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

  Log Message:
  -----------
  exec: qemu_ram_alloc_resizeable, qemu_ram_resize

Add API to allocate "resizeable" RAM.
This looks just like regular RAM generally, but
has a special property that only a portion of it
(used_length) is actually used, and migrated.

This used_length size can change across reboots.

Follow up patches will change used_length for such blocks at migration,
making it easier to extend devices using such RAM (notably ACPI,
but in the future thinkably other ROMs) without breaking migration
compatibility or wasting ROM (guest) memory.

Device is notified on resize, so it can adjust if necessary.

qemu_ram_alloc_resizeable allocates this memory, qemu_ram_resize resizes
it.

Note: nothing prevents making all RAM resizeable in this way.
However, reviewers felt that only enabling this selectively will
make some class of errors easier to detect.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>


  Commit: b0cc3f839751bd83bdfcc480097c981c7aa1f3ec
      
https://github.com/qemu/qemu/commit/b0cc3f839751bd83bdfcc480097c981c7aa1f3ec
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-01-08 (Thu, 08 Jan 2015)

  Changed paths:
    M arch_init.c

  Log Message:
  -----------
  arch_init: support resizing on incoming migration

If block used_length does not match, try to resize it.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>


  Commit: 60786ef33928332ccef21f99503f56d781fade0c
      
https://github.com/qemu/qemu/commit/60786ef33928332ccef21f99503f56d781fade0c
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-01-08 (Thu, 08 Jan 2015)

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

  Log Message:
  -----------
  memory: API to allocate resizeable RAM MR

Add API to allocate resizeable RAM MR.

This looks just like regular RAM generally, but
has a special property that only a portion of it
(used_length) is actually used, and migrated.

This used_length size can change across reboots.

Follow up patches will change used_length for such blocks at migration,
making it easier to extend devices using such RAM (notably ACPI,
but in the future thinkably other ROMs) without breaking migration
compatibility or wasting ROM (guest) memory.

Device is notified on resize, so it can adjust if necessary.

Note: nothing prevents making all RAM resizeable in this way.
However, reviewers felt that only enabling this selectively will
make some class of errors easier to detect.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>


  Commit: a1666142db623365b2e7619f01c1cbb72d62b514
      
https://github.com/qemu/qemu/commit/a1666142db623365b2e7619f01c1cbb72d62b514
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-01-08 (Thu, 08 Jan 2015)

  Changed paths:
    M hw/core/loader.c
    M hw/i386/acpi-build.c
    M hw/lm32/lm32_hwsetup.h
    M include/hw/loader.h

  Log Message:
  -----------
  acpi-build: make ROMs RAM blocks resizeable

Use resizeable ram API so we can painlessly extend ROMs in the
future.  Note: migration is not affected, as we are
not actually changing the used length for RAM, which
is the part that's migrated.

Use this in acpi: reserve x16 more RAM space.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>


  Commit: aaf03019175949eda5087329448b8a0033b89479
      
https://github.com/qemu/qemu/commit/aaf03019175949eda5087329448b8a0033b89479
  Author: Peter Maydell <address@hidden>
  Date:   2015-01-10 (Sat, 10 Jan 2015)

  Changed paths:
    M arch_init.c
    M exec.c
    M hw/core/loader.c
    M hw/i386/acpi-build.c
    M hw/lm32/lm32_hwsetup.h
    M include/exec/cpu-all.h
    M include/exec/memory.h
    M include/exec/ram_addr.h
    M include/hw/loader.h
    M memory.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging

pc: resizeable ROM blocks

This makes ROM blocks resizeable.  This infrastructure is required for other
functionality we have queued.

Signed-off-by: Michael S. Tsirkin <address@hidden>

# gpg: Signature made Thu 08 Jan 2015 11:19:24 GMT using RSA key ID D28D5469
# gpg: Good signature from "Michael S. Tsirkin <address@hidden>"
# gpg:                 aka "Michael S. Tsirkin <address@hidden>"

* remotes/mst/tags/for_upstream:
  acpi-build: make ROMs RAM blocks resizeable
  memory: API to allocate resizeable RAM MR
  arch_init: support resizing on incoming migration
  exec: qemu_ram_alloc_resizeable, qemu_ram_resize
  exec: split length -> used_length/max_length
  exec: cpu_physical_memory_set/clear_dirty_range
  memory: add memory_region_set_size

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


Compare: https://github.com/qemu/qemu/compare/97052d64e4fb...aaf030191759

reply via email to

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