[PATCH v2] hw/loongarch/boot: Use warn_report when no kernel filename

Song Gao posted 1 patch 3 weeks, 3 days ago
hw/loongarch/boot.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
[PATCH v2] hw/loongarch/boot: Use warn_report when no kernel filename
Posted by Song Gao 3 weeks, 3 days ago
When we run “qemu-system-loongarch64 -qmp stdio -vnc none -S”,
we get an error message “Need kernel filename” and then we can't use qmp cmd to query some information.
So, we just throw a warning and then the cpus starts running from address VIRT_FLASH0_BASE.

Signed-off-by: Song Gao <gaosong@loongson.cn>
---
 hw/loongarch/boot.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/hw/loongarch/boot.c b/hw/loongarch/boot.c
index cb668703bd..5f194e1a77 100644
--- a/hw/loongarch/boot.c
+++ b/hw/loongarch/boot.c
@@ -278,7 +278,7 @@ static void init_boot_rom(struct loongarch_boot_info *info, void *p)
 static void loongarch_direct_kernel_boot(struct loongarch_boot_info *info)
 {
     void *p, *bp;
-    int64_t kernel_addr = 0;
+    int64_t kernel_addr = VIRT_FLASH0_BASE;
     LoongArchCPU *lacpu;
     CPUState *cs;
 
@@ -286,8 +286,7 @@ static void loongarch_direct_kernel_boot(struct loongarch_boot_info *info)
         kernel_addr = load_kernel_info(info);
     } else {
         if(!qtest_enabled()) {
-            error_report("Need kernel filename\n");
-            exit(1);
+            warn_report("No kernel provided, booting from flash drive. \n");
         }
     }
 
-- 
2.34.1


Re: [PATCH v2] hw/loongarch/boot: Use warn_report when no kernel filename
Posted by Philippe Mathieu-Daudé 3 weeks, 3 days ago
On 29/10/24 22:23, Song Gao wrote:
> When we run “qemu-system-loongarch64 -qmp stdio -vnc none -S”,
> we get an error message “Need kernel filename” and then we can't use qmp cmd to query some information.
> So, we just throw a warning and then the cpus starts running from address VIRT_FLASH0_BASE.
> 
> Signed-off-by: Song Gao <gaosong@loongson.cn>
> ---
>   hw/loongarch/boot.c | 5 ++---
>   1 file changed, 2 insertions(+), 3 deletions(-)


> @@ -286,8 +286,7 @@ static void loongarch_direct_kernel_boot(struct loongarch_boot_info *info)
>           kernel_addr = load_kernel_info(info);
>       } else {
>           if(!qtest_enabled()) {
> -            error_report("Need kernel filename\n");
> -            exit(1);
> +            warn_report("No kernel provided, booting from flash drive. \n");

Stripping trailing " \n",

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

>           }
>       }
>