[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 15/19] hw/arm/highbank: don't make sysram 'nomigr
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PULL 15/19] hw/arm/highbank: don't make sysram 'nomigrate' |
Date: |
Fri, 27 Apr 2018 11:10:55 +0100 |
On 26 April 2018 at 23:03, Michael Clark <address@hidden> wrote:
>
>
> On Thu, Apr 26, 2018 at 10:47 PM, Peter Maydell <address@hidden>
> wrote:
>>
>> Currently we use memory_region_init_ram_nomigrate() to create
>> the "highbank.sysram" memory region, and we don't manually
>> register it with vmstate_register_ram(). This currently
>> means that its contents are migrated but as a ram block
>> whose name is the empty string; in future it may mean they
>> are not migrated at all. Use memory_region_init_ram() instead.
>
>
> It is self evident that memory_region_init_ram() implies normal migration.
Yes; using the _nomigrate functions in these files looks odd
but it only looks odd as a result of a refactor we did.
Previously we had:
* memory_region_init_ram() -- doesn't register the ram for migration
* everybody has to manually call vmstate_register_ram()
Then we refactored so that:
* the old memory_region_init_ram() is renamed to _nomigrate()
* a new memory_region_init_ram() does that plus calls
vmstate_register_ram() for you
* callsites that were doing both calls got automatically rewritten
to call the new memory_region_init_ram()
* callsites that forgot the vmstate_register_ram() got rewritten
to call memory_region_init_ram_nomigrate()
So board code that was previously making an easy and hard-to-spot
mistake (forgetting to call vmstate_register_ram()) got rewritten
so the mistake is more obvious (calling memory_region_init_ram_nomigrate
for no good reason).
thanks
-- PMM
- [Qemu-devel] [PULL 12/19] target/arm: Fix bitmask for PMCCFILTR writes, (continued)
- [Qemu-devel] [PULL 12/19] target/arm: Fix bitmask for PMCCFILTR writes, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 10/19] target/arm: Add pre-EL change hooks, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 11/19] target/arm: Allow EL change hooks to do IO, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 06/19] target/arm: Treat PMCCNTR as alias of PMCCNTR_EL0, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 14/19] hw/arm/raspi: Don't bother setting default_cpu_type, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 09/19] target/arm: Support multiple EL change hooks, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 13/19] target/arm: Make PMOVSCLR and PMUSERENR 64 bits wide, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 04/19] target/arm: Use v7m_stack_read() for reading the frame signature, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 15/19] hw/arm/highbank: don't make sysram 'nomigrate', Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 02/19] arm: always start from first_cpu when registering loader cpu reset callback, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 01/19] device_tree: Increase FDT_MAX_SIZE to 1 MiB, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 19/19] xilinx_spips: Correct SNOOP_NONE state when flushing the txfifo, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 17/19] hw/arm/aspeed_soc: don't use vmstate_register_ram_global for SRAM, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 05/19] target/arm: Check PMCNTEN for whether PMCCNTR is enabled, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 16/19] hw/arm/aspeed: don't make 'boot_rom' region 'nomigrate', Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 18/19] timer/aspeed: fix vmstate version id, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 03/19] target/arm: Remove stale TODO comment, Peter Maydell, 2018/04/26
- [Qemu-devel] [PULL 08/19] target/arm: Fetch GICv3 state directly from CPUARMState, Peter Maydell, 2018/04/26
- Re: [Qemu-devel] [PULL 00/19] target-arm queue, Peter Maydell, 2018/04/26