* [PULL 0/3] loongarch-to-apply queue
@ 2023-01-06 6:33 Song Gao
2023-01-07 21:29 ` Peter Maydell
0 siblings, 1 reply; 13+ messages in thread
From: Song Gao @ 2023-01-06 6:33 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, richard.henderson
The following changes since commit d1852caab131ea898134fdcea8c14bc2ee75fbe9:
Merge tag 'python-pull-request' of https://gitlab.com/jsnow/qemu into staging (2023-01-05 16:59:22 +0000)
are available in the Git repository at:
https://gitlab.com/gaosong/qemu.git pull-loongarch-20230106
for you to fetch changes up to f4d10ce8aa545266a0b6df223a7f8ea2afca18b2:
hw/intc/loongarch_pch: Change default irq number of pch irq controller (2023-01-06 14:12:43 +0800)
----------------------------------------------------------------
Add irq number property for loongarch pch interrupt controller
----------------------------------------------------------------
Tianrui Zhao (3):
hw/intc/loongarch_pch_msi: add irq number property
hw/intc/loongarch_pch_pic: add irq number property
hw/intc/loongarch_pch: Change default irq number of pch irq controller
hw/intc/loongarch_pch_msi.c | 29 ++++++++++++++++++++++++++---
hw/intc/loongarch_pch_pic.c | 35 +++++++++++++++++++++++++++++++----
hw/loongarch/virt.c | 19 ++++++++++++-------
include/hw/intc/loongarch_pch_msi.h | 9 +++++----
include/hw/intc/loongarch_pch_pic.h | 6 ++----
include/hw/pci-host/ls7a.h | 2 +-
6 files changed, 77 insertions(+), 23 deletions(-)
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PULL 0/3] loongarch-to-apply queue
2023-01-06 6:33 Song Gao
@ 2023-01-07 21:29 ` Peter Maydell
0 siblings, 0 replies; 13+ messages in thread
From: Peter Maydell @ 2023-01-07 21:29 UTC (permalink / raw)
To: Song Gao; +Cc: qemu-devel, richard.henderson
On Fri, 6 Jan 2023 at 06:33, Song Gao <gaosong@loongson.cn> wrote:
>
> The following changes since commit d1852caab131ea898134fdcea8c14bc2ee75fbe9:
>
> Merge tag 'python-pull-request' of https://gitlab.com/jsnow/qemu into staging (2023-01-05 16:59:22 +0000)
>
> are available in the Git repository at:
>
> https://gitlab.com/gaosong/qemu.git pull-loongarch-20230106
>
> for you to fetch changes up to f4d10ce8aa545266a0b6df223a7f8ea2afca18b2:
>
> hw/intc/loongarch_pch: Change default irq number of pch irq controller (2023-01-06 14:12:43 +0800)
>
> ----------------------------------------------------------------
>
> Add irq number property for loongarch pch interrupt controller
>
> ----------------------------------------------------------------
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/8.0
for any user-visible changes.
-- PMM
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PULL 0/3] loongarch-to-apply queue
@ 2024-05-09 8:06 Song Gao
2024-05-10 5:39 ` Richard Henderson
0 siblings, 1 reply; 13+ messages in thread
From: Song Gao @ 2024-05-09 8:06 UTC (permalink / raw)
To: qemu-devel; +Cc: richard.henderson
The following changes since commit 4e66a08546a2588a4667766a1edab9caccf24ce3:
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2024-05-07 09:26:30 -0700)
are available in the Git repository at:
https://gitlab.com/gaosong/qemu.git tags/pull-loongarch-20240509
for you to fetch changes up to 5872966db7abaa7f8753541b7a9f242df9752b50:
target/loongarch: Put cpucfg operation before CSR register (2024-05-09 15:19:22 +0800)
----------------------------------------------------------------
pull-loongarch-20240509
----------------------------------------------------------------
Bibo Mao (3):
hw/loongarch: Refine default numa id calculation
target/loongarch: Add TCG macro in structure CPUArchState
target/loongarch: Put cpucfg operation before CSR register
hw/loongarch/virt.c | 11 +++++------
target/loongarch/cpu.c | 7 +++++--
target/loongarch/cpu.h | 16 ++++++++++------
target/loongarch/cpu_helper.c | 9 +++++++++
target/loongarch/kvm/kvm.c | 16 ++++++++--------
target/loongarch/machine.c | 30 +++++++++++++++++++++++++-----
6 files changed, 62 insertions(+), 27 deletions(-)
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PULL 0/3] loongarch-to-apply queue
2024-05-09 8:06 Song Gao
@ 2024-05-10 5:39 ` Richard Henderson
0 siblings, 0 replies; 13+ messages in thread
From: Richard Henderson @ 2024-05-10 5:39 UTC (permalink / raw)
To: Song Gao, qemu-devel
On 5/9/24 10:06, Song Gao wrote:
> The following changes since commit 4e66a08546a2588a4667766a1edab9caccf24ce3:
>
> Merge tag 'for-upstream' ofhttps://gitlab.com/bonzini/qemu into staging (2024-05-07 09:26:30 -0700)
>
> are available in the Git repository at:
>
> https://gitlab.com/gaosong/qemu.git tags/pull-loongarch-20240509
>
> for you to fetch changes up to 5872966db7abaa7f8753541b7a9f242df9752b50:
>
> target/loongarch: Put cpucfg operation before CSR register (2024-05-09 15:19:22 +0800)
>
> ----------------------------------------------------------------
> pull-loongarch-20240509
Applied, thanks. Please update https://wiki.qemu.org/ChangeLog/9.1 as appropriate.
r~
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PULL 0/3] loongarch-to-apply queue
@ 2024-07-19 2:26 Song Gao
2024-07-19 20:39 ` Richard Henderson
0 siblings, 1 reply; 13+ messages in thread
From: Song Gao @ 2024-07-19 2:26 UTC (permalink / raw)
To: qemu-devel; +Cc: richard.henderson
The following changes since commit 23fa74974d8c96bc95cbecc0d4e2d90f984939f6:
Merge tag 'pull-target-arm-20240718' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2024-07-19 07:02:17 +1000)
are available in the Git repository at:
https://gitlab.com/gaosong/qemu.git tags/pull-loongarch-20240719
for you to fetch changes up to 3ed016f525c8010e66be62d3ca6829eaa9b7cfb5:
hw/loongarch: Modify flash block size to 256K (2024-07-19 10:40:04 +0800)
----------------------------------------------------------------
pull-loongarch-20240719
----------------------------------------------------------------
Song Gao (2):
target/loongarch/gdbstub: Add vector registers support
hw/loongarch: Remove unimplemented extioi INT_encode mode
Xianglai Li (1):
hw/loongarch: Modify flash block size to 256K
configs/targets/loongarch64-linux-user.mak | 2 +-
configs/targets/loongarch64-softmmu.mak | 2 +-
gdb-xml/loongarch-lasx.xml | 60 ++++++++++++++++++++++++
gdb-xml/loongarch-lsx.xml | 59 ++++++++++++++++++++++++
include/hw/intc/loongarch_extioi.h | 1 -
include/hw/loongarch/virt.h | 2 +-
target/loongarch/gdbstub.c | 73 +++++++++++++++++++++++++++++-
7 files changed, 193 insertions(+), 6 deletions(-)
create mode 100644 gdb-xml/loongarch-lasx.xml
create mode 100644 gdb-xml/loongarch-lsx.xml
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PULL 0/3] loongarch-to-apply queue
2024-07-19 2:26 Song Gao
@ 2024-07-19 20:39 ` Richard Henderson
0 siblings, 0 replies; 13+ messages in thread
From: Richard Henderson @ 2024-07-19 20:39 UTC (permalink / raw)
To: Song Gao, qemu-devel
On 7/19/24 12:26, Song Gao wrote:
> Merge tag 'pull-target-arm-20240718' ofhttps://git.linaro.org/people/pmaydell/qemu-arm into staging (2024-07-19 07:02:17 +1000)
>
> are available in the Git repository at:
>
> https://gitlab.com/gaosong/qemu.git tags/pull-loongarch-20240719
>
> for you to fetch changes up to 3ed016f525c8010e66be62d3ca6829eaa9b7cfb5:
>
> hw/loongarch: Modify flash block size to 256K (2024-07-19 10:40:04 +0800)
>
> ----------------------------------------------------------------
> pull-loongarch-20240719
Applied, thanks. Please update https://wiki.qemu.org/ChangeLog/9.1 as appropriate.
r~
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PULL 0/3] loongarch-to-apply queue
@ 2025-03-21 3:45 Bibo Mao
2025-03-23 22:28 ` Stefan Hajnoczi
0 siblings, 1 reply; 13+ messages in thread
From: Bibo Mao @ 2025-03-21 3:45 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: qemu-devel, Song Gao
The following changes since commit 1dae461a913f9da88df05de6e2020d3134356f2e:
Update version for v10.0.0-rc0 release (2025-03-18 10:18:14 -0400)
are available in the Git repository at:
https://gitlab.com/bibo-mao/qemu.git tags/pull-loongarch-20250321
for you to fetch changes up to b8d5503a3ecf8bcf75e4960d04215f71dbfd5dd2:
target/loongarch: fix bad shift in check_ps() (2025-03-21 11:31:56 +0800)
----------------------------------------------------------------
pull-loongarch-20250321 queue
----------------------------------------------------------------
Bibo Mao (1):
docs/system: Add entry for LoongArch system
Song Gao (1):
target/loongarch: fix bad shift in check_ps()
Yao Zi (1):
host/include/loongarch64: Fix inline assembly compatibility with Clang
docs/system/loongarch/virt.rst | 31 +++++++---------------
docs/system/target-loongarch.rst | 19 +++++++++++++
docs/system/targets.rst | 1 +
host/include/loongarch64/host/atomic128-ldst.h.inc | 4 +--
host/include/loongarch64/host/bufferiszero.c.inc | 6 +++--
.../loongarch64/host/load-extract-al16-al8.h.inc | 2 +-
target/loongarch/internals.h | 2 +-
target/loongarch/tcg/csr_helper.c | 2 +-
target/loongarch/tcg/tlb_helper.c | 10 +++----
9 files changed, 44 insertions(+), 33 deletions(-)
create mode 100644 docs/system/target-loongarch.rst
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PULL 0/3] loongarch-to-apply queue
2025-03-21 3:45 Bibo Mao
@ 2025-03-23 22:28 ` Stefan Hajnoczi
0 siblings, 0 replies; 13+ messages in thread
From: Stefan Hajnoczi @ 2025-03-23 22:28 UTC (permalink / raw)
To: Bibo Mao; +Cc: Stefan Hajnoczi, qemu-devel, Song Gao
[-- Attachment #1: Type: text/plain, Size: 116 bytes --]
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/10.0 for any user-visible changes.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PULL 0/3] loongarch-to-apply queue
@ 2025-09-18 9:20 Song Gao
2025-09-18 9:20 ` [PULL 1/3] hw/loongarch/virt: Add BSP support with aux boot code Song Gao
` (3 more replies)
0 siblings, 4 replies; 13+ messages in thread
From: Song Gao @ 2025-09-18 9:20 UTC (permalink / raw)
To: qemu-devel
The following changes since commit f0007b7f03e2d7fc33e71c3a582f2364c51a226b:
Merge tag 'pull-target-arm-20250916' of https://gitlab.com/pm215/qemu into staging (2025-09-17 11:10:55 -0700)
are available in the Git repository at:
https://github.com/gaosong715/qemu.git tags/pull-loongarch-20250918
for you to fetch changes up to cb5ee0017fc9909916383634a3f13eae05e6fe5c:
hw/loongarch/virt: Register reset interface with cpu plug callback (2025-09-18 17:39:57 +0800)
----------------------------------------------------------------
pull-loongarch-20250918
----------------------------------------------------------------
Bibo Mao (3):
hw/loongarch/virt: Add BSP support with aux boot code
hw/loongarch/virt: Remove unnecessay pre-boot setting with BSP
hw/loongarch/virt: Register reset interface with cpu plug callback
hw/loongarch/boot.c | 71 ++++++++++++++++++++++++--------------------------
hw/loongarch/virt.c | 2 ++
target/loongarch/cpu.h | 4 ---
3 files changed, 36 insertions(+), 41 deletions(-)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PULL 1/3] hw/loongarch/virt: Add BSP support with aux boot code
2025-09-18 9:20 [PULL 0/3] loongarch-to-apply queue Song Gao
@ 2025-09-18 9:20 ` Song Gao
2025-09-18 9:20 ` [PULL 2/3] hw/loongarch/virt: Remove unnecessay pre-boot setting with BSP Song Gao
` (2 subsequent siblings)
3 siblings, 0 replies; 13+ messages in thread
From: Song Gao @ 2025-09-18 9:20 UTC (permalink / raw)
To: qemu-devel; +Cc: Bibo Mao
From: Bibo Mao <maobibo@loongson.cn>
If system boots directly from Linux kernel, BSP core jumps to kernel
entry of Linux kernel image and other APs jump to aux boot code. Instead
BSP and APs can all jump to aux boot code like UEFI bios.
With aux boot code, BSP core is judged from physical cpu id, whose
cpu id is 0. With BSP core, load data to register A0-A2 and PC.
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Song Gao <gaosong@loongson.cn>
Message-ID: <20250906070200.3749326-2-maobibo@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>
---
hw/loongarch/boot.c | 36 ++++++++++++++++++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)
diff --git a/hw/loongarch/boot.c b/hw/loongarch/boot.c
index 14d6c52d4e..4962668e5a 100644
--- a/hw/loongarch/boot.c
+++ b/hw/loongarch/boot.c
@@ -35,13 +35,19 @@ struct loongarch_linux_hdr {
uint32_t pe_header_offset;
} QEMU_PACKED;
-static const unsigned int slave_boot_code[] = {
+static const unsigned int aux_boot_code[] = {
/* Configure reset ebase. */
0x0400302c, /* csrwr $t0, LOONGARCH_CSR_EENTRY */
/* Disable interrupt. */
0x0380100c, /* ori $t0, $zero,0x4 */
0x04000180, /* csrxchg $zero, $t0, LOONGARCH_CSR_CRMD */
+ 0x03400000, /* nop */
+
+ 0x0400800c, /* csrrd $t0, LOONGARCH_CSR_CPUNUM */
+ 0x034ffd8c, /* andi $t0, $t0, 0x3ff */
+ 0x0015000d, /* move $t1, $zero */
+ 0x5800718d, /* beq $t0, $t1, 112 */
/* Clear mailbox. */
0x1400002d, /* lu12i.w $t1, 1(0x1) */
@@ -81,6 +87,26 @@ static const unsigned int slave_boot_code[] = {
0x06480dac, /* iocsrrd.d $t0, $t1 */
0x00150181, /* move $ra, $t0 */
0x4c000020, /* jirl $zero, $ra,0 */
+ /* BSP Core */
+ 0x03400000, /* nop */
+ 0x1800000d, /* pcaddi $t1, 0 */
+ 0x28c0a1a4, /* ld.d $a0, $t1, 40 */
+ 0x1800000d, /* pcaddi $t1, 0 */
+ 0x28c0a1a5, /* ld.d $a1, $t1, 40 */
+ 0x1800000d, /* pcaddi $t1, 0 */
+ 0x28c0a1a6, /* ld.d $a2, $t1, 40 */
+ 0x1800000d, /* pcaddi $t1, 0 */
+ 0x28c0a1ac, /* ld.d $t0, $t1, 40 */
+ 0x00150181, /* move $ra, $t0 */
+ 0x4c000020, /* jirl $zero, $ra,0 */
+ 0x00000000, /* .dword 0 A0 */
+ 0x00000000,
+ 0x00000000, /* .dword 0 A1 */
+ 0x00000000,
+ 0x00000000, /* .dword 0 A2 */
+ 0x00000000,
+ 0x00000000, /* .dword 0 PC */
+ 0x00000000,
};
static inline void *guidcpy(void *dst, const void *src)
@@ -391,6 +417,7 @@ static void loongarch_direct_kernel_boot(MachineState *ms,
int64_t kernel_addr = VIRT_FLASH0_BASE;
LoongArchCPU *lacpu;
CPUState *cs;
+ uint64_t *data;
if (info->kernel_filename) {
kernel_addr = load_kernel_info(info);
@@ -408,7 +435,12 @@ static void loongarch_direct_kernel_boot(MachineState *ms,
/* Load slave boot code at pflash0 . */
void *boot_code = g_malloc0(VIRT_FLASH0_SIZE);
- memcpy(boot_code, &slave_boot_code, sizeof(slave_boot_code));
+ memcpy(boot_code, &aux_boot_code, sizeof(aux_boot_code));
+ data = (uint64_t *)(boot_code + sizeof(aux_boot_code));
+ *(data - 4) = cpu_to_le64(info->a0);
+ *(data - 3) = cpu_to_le64(info->a1);
+ *(data - 2) = cpu_to_le64(info->a2);
+ *(data - 1) = cpu_to_le64(kernel_addr);
rom_add_blob_fixed("boot_code", boot_code, VIRT_FLASH0_SIZE, VIRT_FLASH0_BASE);
CPU_FOREACH(cs) {
--
2.47.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PULL 2/3] hw/loongarch/virt: Remove unnecessay pre-boot setting with BSP
2025-09-18 9:20 [PULL 0/3] loongarch-to-apply queue Song Gao
2025-09-18 9:20 ` [PULL 1/3] hw/loongarch/virt: Add BSP support with aux boot code Song Gao
@ 2025-09-18 9:20 ` Song Gao
2025-09-18 9:20 ` [PULL 3/3] hw/loongarch/virt: Register reset interface with cpu plug callback Song Gao
2025-09-18 15:58 ` [PULL 0/3] loongarch-to-apply queue Richard Henderson
3 siblings, 0 replies; 13+ messages in thread
From: Song Gao @ 2025-09-18 9:20 UTC (permalink / raw)
To: qemu-devel; +Cc: Bibo Mao
From: Bibo Mao <maobibo@loongson.cn>
With BSP core, it boots from aux boot code and loads data into register
A0-A2 and PC. Pre-boot setting is not unnecessary and can be removed.
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Song Gao <gaosong@loongson.cn>
Message-ID: <20250906070200.3749326-3-maobibo@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>
---
hw/loongarch/boot.c | 22 ----------------------
target/loongarch/cpu.h | 4 ----
2 files changed, 26 deletions(-)
diff --git a/hw/loongarch/boot.c b/hw/loongarch/boot.c
index 4962668e5a..5799b4c75c 100644
--- a/hw/loongarch/boot.c
+++ b/hw/loongarch/boot.c
@@ -353,17 +353,8 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
static void reset_load_elf(void *opaque)
{
LoongArchCPU *cpu = opaque;
- CPULoongArchState *env = &cpu->env;
cpu_reset(CPU(cpu));
- if (env->load_elf) {
- if (cpu == LOONGARCH_CPU(first_cpu)) {
- env->gpr[4] = env->boot_info->a0;
- env->gpr[5] = env->boot_info->a1;
- env->gpr[6] = env->boot_info->a2;
- }
- cpu_set_pc(CPU(cpu), env->elf_address);
- }
}
static void fw_cfg_add_kernel_info(struct loongarch_boot_info *info,
@@ -415,8 +406,6 @@ static void loongarch_direct_kernel_boot(MachineState *ms,
{
void *p, *bp;
int64_t kernel_addr = VIRT_FLASH0_BASE;
- LoongArchCPU *lacpu;
- CPUState *cs;
uint64_t *data;
if (info->kernel_filename) {
@@ -443,17 +432,6 @@ static void loongarch_direct_kernel_boot(MachineState *ms,
*(data - 1) = cpu_to_le64(kernel_addr);
rom_add_blob_fixed("boot_code", boot_code, VIRT_FLASH0_SIZE, VIRT_FLASH0_BASE);
- CPU_FOREACH(cs) {
- lacpu = LOONGARCH_CPU(cs);
- lacpu->env.load_elf = true;
- if (cs == first_cpu) {
- lacpu->env.elf_address = kernel_addr;
- } else {
- lacpu->env.elf_address = VIRT_FLASH0_BASE;
- }
- lacpu->env.boot_info = info;
- }
-
g_free(boot_code);
g_free(bp);
}
diff --git a/target/loongarch/cpu.h b/target/loongarch/cpu.h
index 7731f6acdc..c8b96f74dc 100644
--- a/target/loongarch/cpu.h
+++ b/target/loongarch/cpu.h
@@ -387,11 +387,7 @@ typedef struct CPUArchState {
#endif
AddressSpace *address_space_iocsr;
- bool load_elf;
- uint64_t elf_address;
uint32_t mp_state;
-
- struct loongarch_boot_info *boot_info;
#endif
} CPULoongArchState;
--
2.47.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PULL 3/3] hw/loongarch/virt: Register reset interface with cpu plug callback
2025-09-18 9:20 [PULL 0/3] loongarch-to-apply queue Song Gao
2025-09-18 9:20 ` [PULL 1/3] hw/loongarch/virt: Add BSP support with aux boot code Song Gao
2025-09-18 9:20 ` [PULL 2/3] hw/loongarch/virt: Remove unnecessay pre-boot setting with BSP Song Gao
@ 2025-09-18 9:20 ` Song Gao
2025-09-18 15:58 ` [PULL 0/3] loongarch-to-apply queue Richard Henderson
3 siblings, 0 replies; 13+ messages in thread
From: Song Gao @ 2025-09-18 9:20 UTC (permalink / raw)
To: qemu-devel; +Cc: Bibo Mao, Igor Mammedov
From: Bibo Mao <maobibo@loongson.cn>
With cpu hotplug is implemented on LoongArch virt machine, reset
interface with hot-added CPU should be registered. Otherwise there
will be problem if system reboots after cpu is hot-added.
Now register reset interface with CPU plug callback, so that all
cold/hot added CPUs let their reset interface registered. And remove
reset interface with CPU unplug callback.
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Tested-by: Song Gao <gaosong@loongson.cn>
Message-ID: <20250906070200.3749326-4-maobibo@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>
---
hw/loongarch/boot.c | 13 -------------
hw/loongarch/virt.c | 2 ++
2 files changed, 2 insertions(+), 13 deletions(-)
diff --git a/hw/loongarch/boot.c b/hw/loongarch/boot.c
index 5799b4c75c..a516415822 100644
--- a/hw/loongarch/boot.c
+++ b/hw/loongarch/boot.c
@@ -350,13 +350,6 @@ static int64_t load_kernel_info(struct loongarch_boot_info *info)
return kernel_entry;
}
-static void reset_load_elf(void *opaque)
-{
- LoongArchCPU *cpu = opaque;
-
- cpu_reset(CPU(cpu));
-}
-
static void fw_cfg_add_kernel_info(struct loongarch_boot_info *info,
FWCfgState *fw_cfg)
{
@@ -439,12 +432,6 @@ static void loongarch_direct_kernel_boot(MachineState *ms,
void loongarch_load_kernel(MachineState *ms, struct loongarch_boot_info *info)
{
LoongArchVirtMachineState *lvms = LOONGARCH_VIRT_MACHINE(ms);
- int i;
-
- /* register reset function */
- for (i = 0; i < ms->smp.cpus; i++) {
- qemu_register_reset(reset_load_elf, LOONGARCH_CPU(qemu_get_cpu(i)));
- }
info->kernel_filename = ms->kernel_filename;
info->kernel_cmdline = ms->kernel_cmdline;
diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
index 31215b7785..bd5cff1f1e 100644
--- a/hw/loongarch/virt.c
+++ b/hw/loongarch/virt.c
@@ -1014,6 +1014,7 @@ static void virt_cpu_unplug(HotplugHandler *hotplug_dev,
/* Notify acpi ged CPU removed */
hotplug_handler_unplug(HOTPLUG_HANDLER(lvms->acpi_ged), dev, &error_abort);
+ qemu_unregister_resettable(OBJECT(dev));
cpu_slot = virt_find_cpu_slot(MACHINE(lvms), cpu->phy_id);
cpu_slot->cpu = NULL;
}
@@ -1038,6 +1039,7 @@ static void virt_cpu_plug(HotplugHandler *hotplug_dev,
&error_abort);
}
+ qemu_register_resettable(OBJECT(dev));
cpu_slot = virt_find_cpu_slot(MACHINE(lvms), cpu->phy_id);
cpu_slot->cpu = CPU(dev);
}
--
2.47.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PULL 0/3] loongarch-to-apply queue
2025-09-18 9:20 [PULL 0/3] loongarch-to-apply queue Song Gao
` (2 preceding siblings ...)
2025-09-18 9:20 ` [PULL 3/3] hw/loongarch/virt: Register reset interface with cpu plug callback Song Gao
@ 2025-09-18 15:58 ` Richard Henderson
3 siblings, 0 replies; 13+ messages in thread
From: Richard Henderson @ 2025-09-18 15:58 UTC (permalink / raw)
To: qemu-devel
On 9/18/25 02:20, Song Gao wrote:
> The following changes since commit f0007b7f03e2d7fc33e71c3a582f2364c51a226b:
>
> Merge tag 'pull-target-arm-20250916' of https://gitlab.com/pm215/qemu into staging (2025-09-17 11:10:55 -0700)
>
> are available in the Git repository at:
>
> https://github.com/gaosong715/qemu.git tags/pull-loongarch-20250918
>
> for you to fetch changes up to cb5ee0017fc9909916383634a3f13eae05e6fe5c:
>
> hw/loongarch/virt: Register reset interface with cpu plug callback (2025-09-18 17:39:57 +0800)
>
> ----------------------------------------------------------------
> pull-loongarch-20250918
>
> ----------------------------------------------------------------
> Bibo Mao (3):
> hw/loongarch/virt: Add BSP support with aux boot code
> hw/loongarch/virt: Remove unnecessay pre-boot setting with BSP
> hw/loongarch/virt: Register reset interface with cpu plug callback
>
> hw/loongarch/boot.c | 71 ++++++++++++++++++++++++--------------------------
> hw/loongarch/virt.c | 2 ++
> target/loongarch/cpu.h | 4 ---
> 3 files changed, 36 insertions(+), 41 deletions(-)
>
>
Applied, thanks. Please update https://wiki.qemu.org/ChangeLog/10.2 as appropriate.
r~
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2025-09-18 15:59 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-18 9:20 [PULL 0/3] loongarch-to-apply queue Song Gao
2025-09-18 9:20 ` [PULL 1/3] hw/loongarch/virt: Add BSP support with aux boot code Song Gao
2025-09-18 9:20 ` [PULL 2/3] hw/loongarch/virt: Remove unnecessay pre-boot setting with BSP Song Gao
2025-09-18 9:20 ` [PULL 3/3] hw/loongarch/virt: Register reset interface with cpu plug callback Song Gao
2025-09-18 15:58 ` [PULL 0/3] loongarch-to-apply queue Richard Henderson
-- strict thread matches above, loose matches on Subject: below --
2025-03-21 3:45 Bibo Mao
2025-03-23 22:28 ` Stefan Hajnoczi
2024-07-19 2:26 Song Gao
2024-07-19 20:39 ` Richard Henderson
2024-05-09 8:06 Song Gao
2024-05-10 5:39 ` Richard Henderson
2023-01-06 6:33 Song Gao
2023-01-07 21:29 ` Peter Maydell
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).