mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
spapr_iommu: Migrate full state
The source guest could have reallocated the default TCE table and migrate bigger/smaller table. This adds reallocation in post_load() if the default table size is different on source and destination. This adds @bus_offset, @page_shift to the migration stream as a subsection so when DDW is added, migration to older machines will still be possible. As @bus_offset and @page_shift are not used yet, this makes no change in behavior. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
df7625d422
commit
a26fdf3934
3 changed files with 67 additions and 3 deletions
|
@ -539,6 +539,8 @@ struct sPAPRTCETable {
|
|||
uint64_t bus_offset;
|
||||
uint32_t page_shift;
|
||||
uint64_t *table;
|
||||
uint32_t mig_nb_table;
|
||||
uint64_t *mig_table;
|
||||
bool bypass;
|
||||
bool need_vfio;
|
||||
int fd;
|
||||
|
@ -565,6 +567,7 @@ sPAPRTCETable *spapr_tce_new_table(DeviceState *owner, uint32_t liobn);
|
|||
void spapr_tce_table_enable(sPAPRTCETable *tcet,
|
||||
uint32_t page_shift, uint64_t bus_offset,
|
||||
uint32_t nb_table);
|
||||
void spapr_tce_table_disable(sPAPRTCETable *tcet);
|
||||
void spapr_tce_set_need_vfio(sPAPRTCETable *tcet, bool need_vfio);
|
||||
|
||||
MemoryRegion *spapr_tce_get_iommu(sPAPRTCETable *tcet);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue