Re: [Qemu-devel] [PATCH v2 0/4] hw/ppc/spapr: Add "Processor Register Hypervisor Resource Access" H-calls

2016-02-15 Thread Thomas Huth
On 12.02.2016 01:31, David Gibson wrote:
> On Thu, Feb 11, 2016 at 01:47:17PM +0100, Thomas Huth wrote:
>> While we were recently debugging a problem with the H_SET_DABR
>> call [1], I noticed that some hypercalls from the chapter 14.5.4.3
>> ("Processor Register Hypervisor Resource Access") from the LoPAPR
>> spec [2] are still missing in QEMU.
>> So here's are some patches that implement these hypercalls. Linux
>> apparently does not depend on these hypercalls yet (otherwise somebody
>> would have noticed this earlier), but the hypercalls are rather simple,
>> so I think the implementations are quite straight-forward and easy to
>> read.
>>
>> v2:
>> - Don't use set_spr() and set cpu->env.spr[] directly instead
>> - Completely reworked the H_PAGE_INIT patch to map the source
>>   and target pages for higher speed, and to be able to flush now
>>   the caches if requested.
> 
> I've merged 1-3 into ppc-for-2.6.  My only concern with those is
> whether we need to be setting some extra flags in the ibm,hypertas
> property now that they are implemented.

Good point, ... looking at "Table 176. Hypervisor Call Function Table"
in LoPAPR, it seems like there are indeed additional function sets that
should be signaled with this property. But the current list seems to be
in a bad shape, anyway, e.g. "hcall-debug" seems to be missing for the
H_LOGICAL_CI_LOAD/STORE function. So I think we best fix this up with a
separate patch later (I can submit one once I sorted out the H_PAGE_INIT
patch).

 Thomas




signature.asc
Description: OpenPGP digital signature


[Qemu-devel] [PATCH v2 0/4] hw/ppc/spapr: Add "Processor Register Hypervisor Resource Access" H-calls

2016-02-11 Thread Thomas Huth
While we were recently debugging a problem with the H_SET_DABR
call [1], I noticed that some hypercalls from the chapter 14.5.4.3
("Processor Register Hypervisor Resource Access") from the LoPAPR
spec [2] are still missing in QEMU.
So here's are some patches that implement these hypercalls. Linux
apparently does not depend on these hypercalls yet (otherwise somebody
would have noticed this earlier), but the hypercalls are rather simple,
so I think the implementations are quite straight-forward and easy to
read.

v2:
- Don't use set_spr() and set cpu->env.spr[] directly instead
- Completely reworked the H_PAGE_INIT patch to map the source
  and target pages for higher speed, and to be able to flush now
  the caches if requested.

[1] 
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=760a7364f27d974d

[2] https://members.openpowerfoundation.org/document/dl/469

Thomas Huth (4):
  hw/ppc/spapr: Add h_set_sprg0 hypercall
  hw/ppc/spapr: Implement h_set_dabr
  hw/ppc/spapr: Implement the h_set_xdabr hypercall
  hw/ppc/spapr: Implement the h_page_init hypercall

 hw/ppc/spapr_hcall.c | 132 ---
 target-ppc/kvm_ppc.h |  24 +-
 2 files changed, 147 insertions(+), 9 deletions(-)

-- 
1.8.3.1




Re: [Qemu-devel] [PATCH v2 0/4] hw/ppc/spapr: Add "Processor Register Hypervisor Resource Access" H-calls

2016-02-11 Thread David Gibson
On Thu, Feb 11, 2016 at 01:47:17PM +0100, Thomas Huth wrote:
> While we were recently debugging a problem with the H_SET_DABR
> call [1], I noticed that some hypercalls from the chapter 14.5.4.3
> ("Processor Register Hypervisor Resource Access") from the LoPAPR
> spec [2] are still missing in QEMU.
> So here's are some patches that implement these hypercalls. Linux
> apparently does not depend on these hypercalls yet (otherwise somebody
> would have noticed this earlier), but the hypercalls are rather simple,
> so I think the implementations are quite straight-forward and easy to
> read.
> 
> v2:
> - Don't use set_spr() and set cpu->env.spr[] directly instead
> - Completely reworked the H_PAGE_INIT patch to map the source
>   and target pages for higher speed, and to be able to flush now
>   the caches if requested.

I've merged 1-3 into ppc-for-2.6.  My only concern with those is
whether we need to be setting some extra flags in the ibm,hypertas
property now that they are implemented.

I still have some comments on 4/4.

-- 
David Gibson| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson


signature.asc
Description: PGP signature