[PATCH 1/4] hw/loongarch/boot: Remove unnecessary cast to target_ulong

Philippe Mathieu-Daudé posted 4 patches 1 month ago
Maintainers: Song Gao <gaosong@loongson.cn>, Bibo Mao <maobibo@loongson.cn>, Jiaxun Yang <jiaxun.yang@flygoat.com>
[PATCH 1/4] hw/loongarch/boot: Remove unnecessary cast to target_ulong
Posted by Philippe Mathieu-Daudé 1 month ago
Reduce initrd_size scope. It is already of signed type (ssize_t),
no need to cast to unsigned for the comparison.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/loongarch/boot.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/hw/loongarch/boot.c b/hw/loongarch/boot.c
index a516415822d..3dd48cb8aab 100644
--- a/hw/loongarch/boot.c
+++ b/hw/loongarch/boot.c
@@ -306,7 +306,7 @@ static ram_addr_t alloc_initrd_memory(struct loongarch_boot_info *info,
 static int64_t load_kernel_info(struct loongarch_boot_info *info)
 {
     uint64_t kernel_entry, kernel_low, kernel_high, initrd_offset = 0;
-    ssize_t kernel_size, initrd_size;
+    ssize_t kernel_size;
 
     kernel_size = load_elf(info->kernel_filename, NULL,
                            cpu_loongarch_virt_to_phys, NULL,
@@ -328,7 +328,8 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
     }
 
     if (info->initrd_filename) {
-        initrd_size = get_image_size(info->initrd_filename);
+        ssize_t initrd_size = get_image_size(info->initrd_filename);
+
         if (initrd_size > 0) {
             initrd_offset = ROUND_UP(kernel_high + 4 * kernel_size, 64 * KiB);
             initrd_offset = alloc_initrd_memory(info, initrd_offset,
@@ -337,7 +338,7 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
                                               initrd_offset, initrd_size);
         }
 
-        if (initrd_size == (target_ulong)-1) {
+        if (initrd_size == -1) {
             error_report("could not load initial ram disk '%s'",
                          info->initrd_filename);
             exit(1);
-- 
2.51.0


Re: [PATCH 1/4] hw/loongarch/boot: Remove unnecessary cast to target_ulong
Posted by gaosong 1 month ago
在 2025/10/10 上午4:19, Philippe Mathieu-Daudé 写道:
> Reduce initrd_size scope. It is already of signed type (ssize_t),
> no need to cast to unsigned for the comparison.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/loongarch/boot.c | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)
Signed-off-by: Song Gao <gaosong@loongson.cn>

Thanks.
Song Gao
> diff --git a/hw/loongarch/boot.c b/hw/loongarch/boot.c
> index a516415822d..3dd48cb8aab 100644
> --- a/hw/loongarch/boot.c
> +++ b/hw/loongarch/boot.c
> @@ -306,7 +306,7 @@ static ram_addr_t alloc_initrd_memory(struct loongarch_boot_info *info,
>   static int64_t load_kernel_info(struct loongarch_boot_info *info)
>   {
>       uint64_t kernel_entry, kernel_low, kernel_high, initrd_offset = 0;
> -    ssize_t kernel_size, initrd_size;
> +    ssize_t kernel_size;
>   
>       kernel_size = load_elf(info->kernel_filename, NULL,
>                              cpu_loongarch_virt_to_phys, NULL,
> @@ -328,7 +328,8 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
>       }
>   
>       if (info->initrd_filename) {
> -        initrd_size = get_image_size(info->initrd_filename);
> +        ssize_t initrd_size = get_image_size(info->initrd_filename);
> +
>           if (initrd_size > 0) {
>               initrd_offset = ROUND_UP(kernel_high + 4 * kernel_size, 64 * KiB);
>               initrd_offset = alloc_initrd_memory(info, initrd_offset,
> @@ -337,7 +338,7 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
>                                                 initrd_offset, initrd_size);
>           }
>   
> -        if (initrd_size == (target_ulong)-1) {
> +        if (initrd_size == -1) {
>               error_report("could not load initial ram disk '%s'",
>                            info->initrd_filename);
>               exit(1);


Re: [PATCH 1/4] hw/loongarch/boot: Remove unnecessary cast to target_ulong
Posted by Richard Henderson 1 month ago
On 10/9/25 13:19, Philippe Mathieu-Daudé wrote:
> Reduce initrd_size scope. It is already of signed type (ssize_t),
> no need to cast to unsigned for the comparison.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/loongarch/boot.c | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/loongarch/boot.c b/hw/loongarch/boot.c
> index a516415822d..3dd48cb8aab 100644
> --- a/hw/loongarch/boot.c
> +++ b/hw/loongarch/boot.c
> @@ -306,7 +306,7 @@ static ram_addr_t alloc_initrd_memory(struct loongarch_boot_info *info,
>   static int64_t load_kernel_info(struct loongarch_boot_info *info)
>   {
>       uint64_t kernel_entry, kernel_low, kernel_high, initrd_offset = 0;
> -    ssize_t kernel_size, initrd_size;
> +    ssize_t kernel_size;
>   
>       kernel_size = load_elf(info->kernel_filename, NULL,
>                              cpu_loongarch_virt_to_phys, NULL,
> @@ -328,7 +328,8 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
>       }
>   
>       if (info->initrd_filename) {
> -        initrd_size = get_image_size(info->initrd_filename);
> +        ssize_t initrd_size = get_image_size(info->initrd_filename);
> +
>           if (initrd_size > 0) {
>               initrd_offset = ROUND_UP(kernel_high + 4 * kernel_size, 64 * KiB);
>               initrd_offset = alloc_initrd_memory(info, initrd_offset,
> @@ -337,7 +338,7 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
>                                                 initrd_offset, initrd_size);
>           }
>   
> -        if (initrd_size == (target_ulong)-1) {
> +        if (initrd_size == -1) {
>               error_report("could not load initial ram disk '%s'",
>                            info->initrd_filename);
>               exit(1);

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~