[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 1/9] pc-bios: s390x: cio.c cleanup and compile fix
From: |
David Hildenbrand |
Subject: |
Re: [PATCH v2 1/9] pc-bios: s390x: cio.c cleanup and compile fix |
Date: |
Mon, 18 May 2020 13:52:15 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 |
On 14.05.20 14:37, Janosch Frank wrote:
> Let's initialize the structs at the beginning to ease reading and also
> zeroing all other fields. This also makes the compiler stop
> compalining about sense_id_ccw.flags being ored into when it's not
s/compalining/complaining/
> initialized.
>
> Signed-off-by: Janosch Frank <address@hidden>
> Reviewed-by: Pierre Morel <address@hidden>
> ---
> pc-bios/s390-ccw/cio.c | 36 ++++++++++++++++++------------------
> 1 file changed, 18 insertions(+), 18 deletions(-)
>
> diff --git a/pc-bios/s390-ccw/cio.c b/pc-bios/s390-ccw/cio.c
> index 339ec5fbe7..63301ebb58 100644
> --- a/pc-bios/s390-ccw/cio.c
> +++ b/pc-bios/s390-ccw/cio.c
> @@ -49,13 +49,13 @@ void enable_subchannel(SubChannelId schid)
>
> uint16_t cu_type(SubChannelId schid)
> {
> - Ccw1 sense_id_ccw;
> SenseId sense_data;
> -
> - sense_id_ccw.cmd_code = CCW_CMD_SENSE_ID;
> - sense_id_ccw.cda = ptr2u32(&sense_data);
> - sense_id_ccw.count = sizeof(sense_data);
> - sense_id_ccw.flags |= CCW_FLAG_SLI;
> + Ccw1 sense_id_ccw = {
> + .cmd_code = CCW_CMD_SENSE_ID,
> + .count = sizeof(sense_data),
> + .flags = CCW_FLAG_SLI,
> + .cda = ptr2u32(&sense_data),
> + };
>
> if (do_cio(schid, CU_TYPE_UNKNOWN, ptr2u32(&sense_id_ccw), CCW_FMT1)) {
> panic("Failed to run SenseID CCw\n");
> @@ -67,13 +67,13 @@ uint16_t cu_type(SubChannelId schid)
> int basic_sense(SubChannelId schid, uint16_t cutype, void *sense_data,
> uint16_t data_size)
> {
> - Ccw1 senseCcw;
> + Ccw1 senseCcw = {
> + .cmd_code = CCW_CMD_BASIC_SENSE,
> + .count = data_size,
> + .cda = ptr2u32(sense_data),
> + };
> Irb irb;
>
> - senseCcw.cmd_code = CCW_CMD_BASIC_SENSE;
> - senseCcw.cda = ptr2u32(sense_data);
> - senseCcw.count = data_size;
> -
> return __do_cio(schid, ptr2u32(&senseCcw), CCW_FMT1, &irb);
> }
>
> @@ -314,7 +314,13 @@ static void print_irb_err(Irb *irb)
> */
> static int __do_cio(SubChannelId schid, uint32_t ccw_addr, int fmt, Irb *irb)
> {
> - CmdOrb orb = {};
> + CmdOrb orb = {
> + .fmt = fmt,
> + .pfch = 1, /* QEMU's cio implementation requires prefetch */
> + .c64 = 1, /* QEMU's cio implementation requires 64-bit idaws */
Maybe just document this on top (all comments combined)
/*
* QEMU's CIO implementation requires prefetch and 64-bit idaws. We
* allow all paths.
*/
Or get rid of the tabs ;)
Reviewed-by: David Hildenbrand <address@hidden>
--
Thanks,
David / dhildenb