Hi, I have been working on billionai's patch to enable the --disable-tcg option on PowerPC and one of the problems is that 5 files in hw/ppc use functions
implemented in mmu-hash64.c which is not compiled with --disable-tcg, I'd like to know how to correct the spapr function call, should I
- change the calls to generic functions that should call the correct function based on if kvm is being used or not,
- should I just implement said functions independently of mmu-hash64.c and always call them,
- should I just implement said functions independently of mmu-hash64.c and only
call it with --disable-tcg option turned on,
- find a way to not have said calls when compiling without TCG as they're not necessary,
- just create a stub
Here's when each function is called by each .c:
spapr.c:
function do_lpcr_sync call ppc_store_lpcr
spapr_hcall.c:
function h_enter call ppc_hash64_hpte_page_shift_noslb, ppc_hash64_map_hptes and ppc_hash64_unmap_hptes
function remove_hpte call ppc_hash64_map_hptes, ppc_hash64_unmap_hptes and ppc_hash64_tlb_flush_hpte
function h_protect call ppc_hash64_map_hptes, ppc_hash64_unmap_hptes and ppc_hash64_tlb_flush_hpte
function h_read call ppc_hash64_map_hptes and ppc_hash64_unmap_hptes
function rehash_hpte call ppc_hash64_hpte_page_shift_noslb
function rehash_hpt call ppc_hash64_map_hptes and ppc_hash64_unmap_hptes
spapr_rtas.c:
function rtas_start_cpu call ppc_store_lpcr
function rtas_stop_self call ppc_store_lpcr
spapr_spapr_cpu_core.c
function spapr_reset_vcpu call ppc_store_lpcr
function spapr_cpu_set_entry_state call ppc_store_lpcr
spapr_caps.c:
function cap_large_decr_cpu_apply call ppc_store_lpcr
function cap_hpt_maxpagesize_cpu_apply call ppc_hash64_filter_pagesizes