On 04.03.20 12:42, Janosch Frank wrote:
> IO instruction data is routed through SIDAD for protected guests, so
> adresses do not need to be checked, as this is kernel memory.
>
> Signed-off-by: Janosch Frank <[email protected]>
> Reviewed-by: Thomas Huth <[email protected]>
> ---
> target/s390x/ioinst.c | 26 +++++++++++++++++++-------
> 1 file changed, 19 insertions(+), 7 deletions(-)
>
> diff --git a/target/s390x/ioinst.c b/target/s390x/ioinst.c
> index c437a1d8c6..e4102430aa 100644
> --- a/target/s390x/ioinst.c
> +++ b/target/s390x/ioinst.c
> @@ -17,6 +17,16 @@
> #include "trace.h"
> #include "hw/s390x/s390-pci-bus.h"
>
> +static uint64_t get_address_from_regs(CPUS390XState *env, uint32_t ipb,
> + uint8_t *ar)
> +{
Please add a comment here why this is done. (e.g., make all address
checks - like alignment checks - in the caller succeed, and we don't
need the address).
> + if (env->pv) {
> + *ar = 0;
> + return 0;
> + }
> + return decode_basedisp_s(env, ipb, ar);
> +}
> +
Reviewed-by: David Hildenbrand <[email protected]>
--
Thanks,
David / dhildenb