qemu/target
Greg Kurz 14b0d74887 ppc/kvm: generalize the use of kvmppc_get_htab_fd()
The use of KVM_PPC_GET_HTAB_FD is open-coded in kvmppc_read_hptes()
and kvmppc_write_hpte().

This patch modifies kvmppc_get_htab_fd() so that it can be used
everywhere we need to access the in-kernel htab:
- add an index argument
  => only kvmppc_read_hptes() passes an actual index, all other users
     pass 0
- add an errp argument to propagate error messages to the caller.
  => spapr migration code prints the error
  => hpte helpers pass &error_abort to keep the current behavior
     of hw_error()

While here, this also fixes a bug in kvmppc_write_hpte() so that it
opens the htab fd for writing instead of reading as it currently does.
This never broke anything because we currently never call this code,
as explained in the changelog of commit c1385933804bb:

"This support updating htab managed by the hypervisor. Currently
 we don't have any user for this feature. This actually bring the
 store_hpte interface in-line with the load_hpte one. We may want
 to use this when we want to emulate henter hcall in qemu for HV
 kvm."

The above is still true today.

Signed-off-by: Greg Kurz <groug@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-09-27 13:05:41 +10:00
..
alpha target/alpha: Switch to do_transaction_failed() hook 2017-09-07 11:15:55 -07:00
arm * Speed up AddressSpaceDispatch creation (Alexey) 2017-09-23 12:55:40 +01:00
cris target: [tcg] Use a generic enum for DISAS_ values 2017-09-06 08:06:47 -07:00
hppa target/hppa: Convert to TranslatorOps 2017-09-07 11:23:13 -07:00
i386 memory: Get rid of address_space_init_shareable 2017-09-22 01:06:51 +02:00
lm32 target: [tcg] Use a generic enum for DISAS_ values 2017-09-06 08:06:47 -07:00
m68k target/m68k: Switch fpu_rom from make_floatx80() to make_floatx80_init() 2017-09-10 18:07:40 +02:00
microblaze target: [tcg] Use a generic enum for DISAS_ values 2017-09-06 08:06:47 -07:00
mips mips: Improve macro parenthesization 2017-09-21 13:25:41 +01:00
moxie moxie: replace cpu_moxie_init() with cpu_generic_init() 2017-09-01 11:54:25 -03:00
nios2 target: [tcg] Use a generic enum for DISAS_ values 2017-09-06 08:06:47 -07:00
openrisc target: [tcg] Use a generic enum for DISAS_ values 2017-09-06 08:06:47 -07:00
ppc ppc/kvm: generalize the use of kvmppc_get_htab_fd() 2017-09-27 13:05:41 +10:00
s390x s390x/ais: for 2.10 stable: disable ais facility 2017-09-22 09:25:21 +02:00
sh4 sh4: replace cpu_sh4_init() with cpu_generic_init() 2017-09-01 11:54:24 -03:00
sparc sparc: Fix typedef clash 2017-09-14 15:00:41 +01:00
tilegx tilegx: replace cpu_tilegx_init() with cpu_generic_init() 2017-09-01 11:54:24 -03:00
tricore tricore: replace cpu_tricore_init() with cpu_generic_init() 2017-09-01 11:54:24 -03:00
unicore32 target: [tcg] Use a generic enum for DISAS_ values 2017-09-06 08:06:47 -07:00
xtensa target/xtensa: Use the pre-defined MEMTXATTRS_UNSPECIFIED macro 2017-09-26 09:11:22 +03:00