qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori@us.ibm.com>
To: Stefan Weil <sw@weilnetz.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Alexander Graf <agraf@suse.de>, Hannes Reinecke <hare@suse.de>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] megasas: Fix compilation for 32 bit hosts
Date: Tue, 10 Jul 2012 08:39:15 -0500	[thread overview]
Message-ID: <4FFC3083.2060104@us.ibm.com> (raw)
In-Reply-To: <1341898880-15080-1-git-send-email-sw@weilnetz.de>

On 07/10/2012 12:41 AM, Stefan Weil wrote:
> Cc: Hannes Reinecke<hare@suse.de>
> Signed-off-by: Stefan Weil<sw@weilnetz.de>
> ---
>   default-configs/pci.mak |    4 ++++
>   hw/megasas.c            |   13 +++++++------
>   2 files changed, 11 insertions(+), 6 deletions(-)
>
> diff --git a/default-configs/pci.mak b/default-configs/pci.mak
> index 9d3e1db..120b69d 100644
> --- a/default-configs/pci.mak
> +++ b/default-configs/pci.mak
> @@ -5,6 +5,10 @@ CONFIG_USB_UHCI=y
>   CONFIG_USB_OHCI=y
>   CONFIG_USB_EHCI=y
>   CONFIG_USB_XHCI=y
> +
> +# RAID adapter
> +CONFIG_MEGASAS_SCSI_PCI=y
> +
>   CONFIG_NE2000_PCI=y
>   CONFIG_EEPRO100_PCI=y
>   CONFIG_PCNET_PCI=y
> diff --git a/hw/megasas.c b/hw/megasas.c
> index b48836f..26cf118 100644
> --- a/hw/megasas.c
> +++ b/hw/megasas.c
> @@ -372,12 +372,13 @@ static uint64_t megasas_fw_time(void)
>       return bcd_time;
>   }
>
> -static uint64_t megasas_gen_sas_addr(uint64_t id)
> +static uint64_t megasas_gen_sas_addr(void *p)
>   {
> +    uint64_t id = (uintptr_t)p;


I said in another note that this isn't acceptable.  This sort of thing is an ABI 
issue so it needs to be fixed properly.

Regards,

Anthony Liguori

>       uint64_t addr;
>
>       addr = 0x5001a4aULL<<  36;
> -    addr |= id&  0xfffffffff;
> +    addr |= id&  0xfffffffffULL;
>
>       return addr;
>   }
> @@ -672,7 +673,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
>       info.host.type = MFI_INFO_HOST_PCIX;
>       info.device.type = MFI_INFO_DEV_SAS3G;
>       info.device.port_count = 2;
> -    info.device.port_addr[0] = cpu_to_le64(megasas_gen_sas_addr((uint64_t)s));
> +    info.device.port_addr[0] = cpu_to_le64(megasas_gen_sas_addr(s));
>
>       memcpy(info.product_name, "MegaRAID SAS 8708EM2", 20);
>       snprintf(info.serial_number, 32, "QEMU%08lx",
> @@ -761,7 +762,7 @@ static int megasas_mfc_get_defaults(MegasasState *s, MegasasCmd *cmd)
>           return MFI_STAT_INVALID_PARAMETER;
>       }
>
> -    info.sas_addr = cpu_to_le64(megasas_gen_sas_addr((uint64_t)s));
> +    info.sas_addr = cpu_to_le64(megasas_gen_sas_addr(s));
>       info.stripe_size = 3;
>       info.flush_time = 4;
>       info.background_rate = 30;
> @@ -891,7 +892,7 @@ static int megasas_dcmd_pd_get_list(MegasasState *s, MegasasCmd *cmd)
>           info.addr[num_pd_disks].scsi_dev_type = sdev->type;
>           info.addr[num_pd_disks].connect_port_bitmap = 0x1;
>           info.addr[num_pd_disks].sas_addr[0] =
> -            cpu_to_le64(megasas_gen_sas_addr((uint64_t)sdev));
> +            cpu_to_le64(megasas_gen_sas_addr(sdev));
>           num_pd_disks++;
>           offset += sizeof(struct mfi_pd_address);
>       }
> @@ -994,7 +995,7 @@ static int megasas_pd_get_info_submit(SCSIDevice *sdev, int lun,
>       info->slot_number = (sdev->id&  0xFF);
>       info->path_info.count = 1;
>       info->path_info.sas_addr[0] =
> -        cpu_to_le64(megasas_gen_sas_addr((uint64_t)sdev));
> +        cpu_to_le64(megasas_gen_sas_addr(sdev));
>       info->connected_port_bitmap = 0x1;
>       info->device_speed = 1;
>       info->link_speed = 1;

      parent reply	other threads:[~2012-07-10 13:44 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-10  5:41 [Qemu-devel] [PATCH] megasas: Fix compilation for 32 bit hosts Stefan Weil
2012-07-10  6:00 ` Hannes Reinecke
2012-07-10  6:03   ` Stefan Weil
2012-07-10  8:39     ` Hannes Reinecke
2012-07-10 13:39 ` Anthony Liguori [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FFC3083.2060104@us.ibm.com \
    --to=aliguori@us.ibm.com \
    --cc=agraf@suse.de \
    --cc=hare@suse.de \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sw@weilnetz.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).