- hw/nvme: Remove redundant dma_blk_write - tests/avocado/machine_s390_ccw_virtio: Adapt test to new default resolution - edid: set default resolution to 1280x800 (WXGA) - iotests/308: Fix for CAP_DAC_OVERRIDE - hvf: remove unused but set variable - vvfat: Fix vvfat_write() for writes before the root directory - hw/misc/nrf51_rng: Don't use BIT_MASK() when we mean BIT() - hw/pci: Remove unused pci_irq_pulse() method - ui/gtk: fix leaks found wtih fuzzing - target/i386: fix size of EBP writeback in gen_enter() - tests/qtest/fuzz: fix memleak in qos_fuzz.c - hw/core/loader: gunzip(): fix memory leak on error path - migration: fix a typo - scsi: fetch unit attention when creating the request - raw-format: Fix error message for invalid offset/size - tcg: Reset data_gen_ptr correctly - Fix calculation of minimum in colo_compare_tcp - hw/intc: Don't clear pending bits on IRQ lowering - target/arm: Drop user-only special case in sve_stN_r - usb-hub: Fix handling port power control messages - target/ppc: Set ctx->opcode for decode_insn32() - linux-user: Add proper strace format strings for getdents()/getdents64() - linux-user: Fix TARGET_PROT_SEM for XTENSA - linux-user/hppa: Set TASK_UNMAPPED_BASE to 0xfa000000 for hppa arch - linux-user/hppa: Dump IIR on register dump - tests: Fix typo in check-help output - qdev-core.h: Fix wrongly named reference to TYPE_SPLIT_IRQ - hw/scsi/megasas: Simplify using the ldst API - gqa-win: get_pci_info: Clean dev_info if handle is valid - target/ppc: Fix 7448 support - vvfat: Fix size of temporary qcow file - docs: Correct 'vhost-user-blk' spelling - jackaudio: use ifdefs to hide unavailable functions - simplebench: Fix Python syntax error (reported by LGTM) - python: update type hints for mypy 0.930 - Python/aqmp: fix type definitions for mypy 0.920 - tcg: Allow top bit of SIMD_DATA_BITS to be set in simd_desc() - hw/ppc/e500: Prefer QOM cast - hw/ppc/e500: Remove unused "irqs" parameter - hw/ppc/e500: Add missing device tree properties to i2c controller node - linux-user: Show timespec on strace for futex() - linux-user: Add strace for clock_nanosleep() - linux-user: Fix strace of chmod() if mode == 0 - linux-user: Log failing executable in EXCP_DUMP() - linux-user: Add pidfd_open(), pidfd_send_signal() and pidfd_getfd() syscalls Signed-off-by: Jiabo Feng <fengjiabo1@huawei.com> (cherry picked from commit 87ebac5b5cfb97ddb7ac2af097703758fb0751c4)
60 lines
1.8 KiB
Diff
60 lines
1.8 KiB
Diff
From 84bd6e7a41773a4cc1ae7cfe73ea5910415cd022 Mon Sep 17 00:00:00 2001
|
|
From: Luo Yifan <luoyifan_yewu@cmss.chinamobile.com>
|
|
Date: Wed, 20 Nov 2024 13:35:23 +0800
|
|
Subject: [PATCH] hw/scsi/megasas: Simplify using the ldst API
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
cherry picked from commit 2a0c51366985890e3bf6f41a48f3cb2dfe2f153e
|
|
|
|
This code is easier to review using the load/store API.
|
|
|
|
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
|
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
|
Message-Id: <20211218111912.1499377-1-philmd@redhat.com>
|
|
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
|
|
Signed-off-by: Luo Yifan <luoyifan_yewu@cmss.chinamobile.com>
|
|
---
|
|
hw/scsi/megasas.c | 17 +++--------------
|
|
1 file changed, 3 insertions(+), 14 deletions(-)
|
|
|
|
diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
|
|
index dc9bbdb740..83c321ec20 100644
|
|
--- a/hw/scsi/megasas.c
|
|
+++ b/hw/scsi/megasas.c
|
|
@@ -383,8 +383,7 @@ static int megasas_setup_inquiry(uint8_t *cdb, int pg, int len)
|
|
cdb[1] = 0x1;
|
|
cdb[2] = pg;
|
|
}
|
|
- cdb[3] = (len >> 8) & 0xff;
|
|
- cdb[4] = (len & 0xff);
|
|
+ stw_be_p(&cdb[3], len);
|
|
return len;
|
|
}
|
|
|
|
@@ -400,18 +399,8 @@ static void megasas_encode_lba(uint8_t *cdb, uint64_t lba,
|
|
} else {
|
|
cdb[0] = READ_16;
|
|
}
|
|
- cdb[2] = (lba >> 56) & 0xff;
|
|
- cdb[3] = (lba >> 48) & 0xff;
|
|
- cdb[4] = (lba >> 40) & 0xff;
|
|
- cdb[5] = (lba >> 32) & 0xff;
|
|
- cdb[6] = (lba >> 24) & 0xff;
|
|
- cdb[7] = (lba >> 16) & 0xff;
|
|
- cdb[8] = (lba >> 8) & 0xff;
|
|
- cdb[9] = (lba) & 0xff;
|
|
- cdb[10] = (len >> 24) & 0xff;
|
|
- cdb[11] = (len >> 16) & 0xff;
|
|
- cdb[12] = (len >> 8) & 0xff;
|
|
- cdb[13] = (len) & 0xff;
|
|
+ stq_be_p(&cdb[2], lba);
|
|
+ stl_be_p(&cdb[2 + 8], len);
|
|
}
|
|
|
|
/*
|
|
--
|
|
2.41.0.windows.1
|
|
|