On 05.03.20 10:42, Janosch Frank wrote: > On 3/4/20 6:55 PM, David Hildenbrand wrote: >> 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 <fran...@linux.ibm.com> >>> Reviewed-by: Thomas Huth <th...@redhat.com> >>> --- >>> 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). > > * Addresses for protected guests are all offsets into the > > > * satellite block which holds the IO control structures. Those
maybe mention SIDA as well > > > * control structures are always aligned and accessible, so we can > > > * return 0 here which will pass the following address checks. > > ? Sounds good! -- Thanks, David / dhildenb