[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/3] hd-geometry.c/s390: Disable geometry transl
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [PATCH 2/3] hd-geometry.c/s390: Disable geometry translation |
Date: |
Sat, 17 Nov 2012 16:07:13 +0000 |
On Tue, Nov 13, 2012 at 8:50 AM, Christian Borntraeger
<address@hidden> wrote:
> From: Einar Lueck <address@hidden>
>
> 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 <address@hidden>
> Signed-off-by Christian Borntraeger <address@hidden>
> ---
> 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.
> + /* on s390 there is no BIOS doing any kind of translation */
> + translation = BIOS_ATA_TRANSLATION_NONE;
> +#else
> if (heads > 16) {
> /* LCHS guess with heads > 16 means that a BIOS LBA
> translation was active, so a standard physical disk
> @@ -158,6 +162,7 @@ static int guess_disk_msdosgeo(BlockDriverState *bs,
> the logical geometry */
> translation = BIOS_ATA_TRANSLATION_NONE;
> }
> +#endif
> *pheads = heads;
> *psectors = sectors;
> *pcylinders = cylinders;
> --
> 1.7.10.1
>
>
[Qemu-devel] [PATCH 1/3] hd-geometry.c: Integrate HDIO_GETGEO in guessing, Christian Borntraeger, 2012/11/13
[Qemu-devel] [PATCH 3/3] block: support auto-sensing of block sizes, Christian Borntraeger, 2012/11/13