xemu/hw/ppc
David Gibson 715c54071a pseries: Simplify handling of the hash page table fd
When migrating the 'pseries' machine type with KVM, we use a special fd
to access the hash page table stored within KVM.  Usually, this fd is
opened at the beginning of migration, and kept open until the migration
is complete.

However, if there is a guest reset during the migration, the fd can become
stale and we need to re-open it.  At the moment we use an 'htab_fd_stale'
flag in sPAPRMachineState to signal this, which is checked in the migration
iterators.

But that's rather ugly.  It's simpler to just close and invalidate the
fd on reset, and lazily re-open it in migration if necessary.  This patch
implements that change.

This requires a small addition to the machine state's instance_init,
so that htab_fd is initialized to -1 (telling the migration code it
needs to open it) instead of 0, which could be a valid fd.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2016-02-17 09:59:30 +11:00
..
e500-ccsr.h
e500.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
e500.h PPC: e500 pci host: Add support for ATMUs 2015-01-07 16:16:24 +01:00
e500plat.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mac_newworld.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mac_oldworld.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mac.h macio: use the existing IDEDMA aiocb to hold the active DMA aiocb 2016-01-30 23:37:25 +11:00
Makefile.objs ppc/spapr: Implement H_RANDOM hypercall in QEMU 2015-09-23 10:51:11 +10:00
mpc8544_guts.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mpc8544ds.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc4xx_devs.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc4xx_pci.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc405_boards.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc405_uc.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc405.h
ppc440_bamboo.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc_booke.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppce500_spin.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
prep.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_drc.c qapi: Drop unused error argument for list and implicit struct 2016-02-08 17:29:57 +01:00
spapr_events.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_hcall.c target-ppc: Helper to determine page size information from hpte alone 2016-01-30 23:49:27 +11:00
spapr_iommu.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_pci_vfio.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_pci.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_rng.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_rtas.c pseries: Clean up error handling in spapr_rtas_register() 2016-01-30 23:37:37 +11:00
spapr_rtc.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_vio.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr.c pseries: Simplify handling of the hash page table fd 2016-02-17 09:59:30 +11:00
virtex_ml507.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00