On 19.11.2012, at 11:59, Christian Borntraeger wrote: > On 18/11/12 20:14, Blue Swirl wrote: >> On Sun, Nov 18, 2012 at 4:10 PM, Paolo Bonzini <pbonz...@redhat.com> wrote: >>> Il 17/11/2012 17:07, Blue Swirl ha scritto: >>>> On Tue, Nov 13, 2012 at 8:50 AM, Christian Borntraeger >>>> <borntrae...@de.ibm.com> wrote: >>>>> From: Einar Lueck <elelu...@linux.vnet.ibm.com> >>>>> >>>>> This patch disables the translation of geometry information read from >>>>> disks on s390. On s390 such translations lead to wrong geometries being >>>>> advertized to the guest because there is no entity doing these kinds >>>>> of translation on this architecture. >>>>> >>>>> Signed-off-by Einar Lueck <elelu...@linux.vnet.ibm.com> >>>>> Signed-off-by Christian Borntraeger <borntrae...@de.ibm.com> >>>>> --- >>>>> hw/hd-geometry.c | 5 +++++ >>>>> 1 file changed, 5 insertions(+) >>>>> >>>>> diff --git a/hw/hd-geometry.c b/hw/hd-geometry.c >>>>> index 4cf040d..db1dc81 100644 >>>>> --- a/hw/hd-geometry.c >>>>> +++ b/hw/hd-geometry.c >>>>> @@ -144,6 +144,10 @@ static int guess_disk_msdosgeo(BlockDriverState *bs, >>>>> continue; >>>>> } >>>>> >>>>> +#ifdef __s390__ >>>> >>>> No, this would make all system emulators (e.g. x86) on s390 host to >>>> use this translation, not just s390. I think you want to use #ifdef >>>> CONFIG_S390X instead. >>> >>> This symbol is not available because this file is compiled just once. >>> Which non-x86 targets actually care about translation stuff? >> >> I meant TARGET_S390X, sorry. I have no idea, but hosts and targets >> should not be confused. > > Would a modified patch with TARGET_S390X be acceptable?
If TARGET_S390X is defined in that file (read: it's compiled individually for every target), yes. Otherwise please make this a runtime check and set the runtime checked variable in code that is target specific. Alex