* [PATCH 0/2] ppc/pnv: fixing external dtb
@ 2026-06-23 6:31 Shivang Upadhyay
2026-06-23 6:31 ` [PATCH 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present Shivang Upadhyay
` (2 more replies)
0 siblings, 3 replies; 15+ messages in thread
From: Shivang Upadhyay @ 2026-06-23 6:31 UTC (permalink / raw)
To: qemu-devel, qemu-ppc; +Cc: adityag, harshpb, npiggin, milesg, Shivang Upadhyay
Currently powerpc pnv machines doesnt respect `-dtb`
argument passed from outside. During cpu start content of
machine->fdt is overwritten by `pnv_dt_create`.
This was previously found and fixed, during the discussion
for dumpdtb issue [1]. But reintroduced in MPIPL support
[2]. Saddly it skipped in the review phase [3].
Adding a functional test for checking the external dtb case
in powernv11.
[1] https://lore.kernel.org/all/20260323231612.GA2637687@ax162/
[2] https://lore.kernel.org/qemu-devel/20260310124619.3909045-8-adityag@linux.ibm.com/
[3] https://lore.kernel.org/qemu-devel/abAmBV7g_bGNw0Ax@shivang.upadyay/
Shivang Upadhyay (2):
ppc/pnv: avoid regenerating DTB if external DTB is present
ppc/pnv: add test to verify external DTB is honored
hw/ppc/pnv.c | 10 ++++++++--
tests/functional/ppc64/test_powernv.py | 19 +++++++++++++++++++
2 files changed, 27 insertions(+), 2 deletions(-)
--
2.54.0
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present
2026-06-23 6:31 [PATCH 0/2] ppc/pnv: fixing external dtb Shivang Upadhyay
@ 2026-06-23 6:31 ` Shivang Upadhyay
2026-06-25 7:51 ` Aditya Gupta
2026-06-23 6:31 ` [PATCH 2/2] ppc/pnv: add test to verify external DTB is honored Shivang Upadhyay
2026-06-26 11:22 ` [PATCH v2 0/2] ppc/pnv: fixing external dtb Shivang Upadhyay
2 siblings, 1 reply; 15+ messages in thread
From: Shivang Upadhyay @ 2026-06-23 6:31 UTC (permalink / raw)
To: qemu-devel, qemu-ppc; +Cc: adityag, harshpb, npiggin, milesg, Shivang Upadhyay
Signed-off-by: Shivang Upadhyay <shivangu@linux.ibm.com>
---
hw/ppc/pnv.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 62812f22f8..6a636b5192 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -803,8 +803,14 @@ static void pnv_reset(MachineState *machine, ResetType type)
mpipl_write_succeeded = do_mpipl_write(pnv);
}
- /* Regenerate device tree */
- fdt = pnv_dt_create(machine);
+ if (machine->dtb) {
+ int file_size; /* discard */
+ fdt = load_device_tree(machine->dtb, &file_size);
+ } else {
+ /* Regenerate device tree */
+ fdt = pnv_dt_create(machine);
+ }
+
_FDT((fdt_pack(fdt)));
/*
--
2.54.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/2] ppc/pnv: add test to verify external DTB is honored
2026-06-23 6:31 [PATCH 0/2] ppc/pnv: fixing external dtb Shivang Upadhyay
2026-06-23 6:31 ` [PATCH 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present Shivang Upadhyay
@ 2026-06-23 6:31 ` Shivang Upadhyay
2026-06-23 6:57 ` Amit Machhiwal
2026-06-25 7:02 ` Aditya Gupta
2026-06-26 11:22 ` [PATCH v2 0/2] ppc/pnv: fixing external dtb Shivang Upadhyay
2 siblings, 2 replies; 15+ messages in thread
From: Shivang Upadhyay @ 2026-06-23 6:31 UTC (permalink / raw)
To: qemu-devel, qemu-ppc; +Cc: adityag, harshpb, npiggin, milesg, Shivang Upadhyay
Signed-off-by: Shivang Upadhyay <shivangu@linux.ibm.com>
---
tests/functional/ppc64/test_powernv.py | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/tests/functional/ppc64/test_powernv.py b/tests/functional/ppc64/test_powernv.py
index 0ea6c93e42..80801ee3dc 100755
--- a/tests/functional/ppc64/test_powernv.py
+++ b/tests/functional/ppc64/test_powernv.py
@@ -27,6 +27,11 @@ class PowernvMachine(LinuxKernelTest):
'buildroot/qemu_ppc64le_powernv8-2025.02/rootfs.ext2'),
'aee2192b692077c4bde31cb56ce474424b358f17cec323d5c94af3970c9aada2')
+ # testdtb for power11, which contains string "hello world" in command line
+ ASSET_SAMPLE_DTB = Asset(
+ ('https://github.com/roz3x/qemu/raw/refs/heads/sample-dtb/output.dtb'),
+ '2dd3330561768fc5c8e4b93aa29bc44c64278d186f1e0f8c584cdf15c3f8cf43')
+
def do_test_linux_boot(self, command_line = KERNEL_COMMON_COMMAND_LINE):
self.require_accelerator("tcg")
kernel_path = self.ASSET_KERNEL.fetch()
@@ -104,6 +109,20 @@ def do_test_ppc64_powernv(self, proc):
# Device detection output driven by udev probing is sometimes cut off
# from console output, suspect S14silence-console init script.
+ def test_ppc64_powernv_external_dtb(self):
+ self.set_machine('powernv11')
+ self.require_accelerator("tcg")
+
+ kernel_path = self.ASSET_KERNEL.fetch()
+ sample_dtb_path = self.ASSET_SAMPLE_DTB.fetch()
+ self.vm.set_console()
+ self.vm.add_args('-kernel', kernel_path,
+ '-dtb', sample_dtb_path)
+ self.vm.launch()
+
+ # check if custom dtb is reflected or not
+ wait_for_console_pattern(self, "Kernel command line: hello world", self.panic_message)
+
def test_powernv8(self):
self.set_machine('powernv8')
self.do_test_ppc64_powernv('P8')
--
2.54.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] ppc/pnv: add test to verify external DTB is honored
2026-06-23 6:31 ` [PATCH 2/2] ppc/pnv: add test to verify external DTB is honored Shivang Upadhyay
@ 2026-06-23 6:57 ` Amit Machhiwal
2026-06-23 15:42 ` Shivang Upadhyay
2026-06-25 7:02 ` Aditya Gupta
1 sibling, 1 reply; 15+ messages in thread
From: Amit Machhiwal @ 2026-06-23 6:57 UTC (permalink / raw)
To: Shivang Upadhyay; +Cc: qemu-devel, qemu-ppc, adityag, harshpb, npiggin, milesg
On 2026/06/23 12:01 PM, Shivang Upadhyay wrote:
> Signed-off-by: Shivang Upadhyay <shivangu@linux.ibm.com>
> ---
> tests/functional/ppc64/test_powernv.py | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
The test addition looks fine, but the commit message body is missing.
According to the official QEMU submission guidelines at:
https://www.qemu.org/docs/master/devel/submitting-a-patch.html#write-a-meaningful-commit-message
"Commit messages should be meaningful and should stand on their own as
a historical record of why the changes you applied were necessary or
useful."
You may want to add a commit message body in the next version.
Thanks,
Amit
>
> diff --git a/tests/functional/ppc64/test_powernv.py b/tests/functional/ppc64/test_powernv.py
> index 0ea6c93e42..80801ee3dc 100755
> --- a/tests/functional/ppc64/test_powernv.py
> +++ b/tests/functional/ppc64/test_powernv.py
> @@ -27,6 +27,11 @@ class PowernvMachine(LinuxKernelTest):
> 'buildroot/qemu_ppc64le_powernv8-2025.02/rootfs.ext2'),
> 'aee2192b692077c4bde31cb56ce474424b358f17cec323d5c94af3970c9aada2')
>
> + # testdtb for power11, which contains string "hello world" in command line
> + ASSET_SAMPLE_DTB = Asset(
> + ('https://github.com/roz3x/qemu/raw/refs/heads/sample-dtb/output.dtb'),
> + '2dd3330561768fc5c8e4b93aa29bc44c64278d186f1e0f8c584cdf15c3f8cf43')
> +
> def do_test_linux_boot(self, command_line = KERNEL_COMMON_COMMAND_LINE):
> self.require_accelerator("tcg")
> kernel_path = self.ASSET_KERNEL.fetch()
> @@ -104,6 +109,20 @@ def do_test_ppc64_powernv(self, proc):
> # Device detection output driven by udev probing is sometimes cut off
> # from console output, suspect S14silence-console init script.
>
> + def test_ppc64_powernv_external_dtb(self):
> + self.set_machine('powernv11')
> + self.require_accelerator("tcg")
> +
> + kernel_path = self.ASSET_KERNEL.fetch()
> + sample_dtb_path = self.ASSET_SAMPLE_DTB.fetch()
> + self.vm.set_console()
> + self.vm.add_args('-kernel', kernel_path,
> + '-dtb', sample_dtb_path)
> + self.vm.launch()
> +
> + # check if custom dtb is reflected or not
> + wait_for_console_pattern(self, "Kernel command line: hello world", self.panic_message)
> +
> def test_powernv8(self):
> self.set_machine('powernv8')
> self.do_test_ppc64_powernv('P8')
> --
> 2.54.0
>
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] ppc/pnv: add test to verify external DTB is honored
2026-06-23 6:57 ` Amit Machhiwal
@ 2026-06-23 15:42 ` Shivang Upadhyay
0 siblings, 0 replies; 15+ messages in thread
From: Shivang Upadhyay @ 2026-06-23 15:42 UTC (permalink / raw)
To: qemu-devel, qemu-ppc, adityag, harshpb, npiggin, milesg
On Tue, 2026-06-23 at 12:27 +0530, Amit Machhiwal wrote:
> The test addition looks fine, but the commit message body is missing.
> According to the official QEMU submission guidelines at:
>
>
> https://www.qemu.org/docs/master/devel/submitting-a-patch.html#write-a-meaningful-commit-message
>
> "Commit messages should be meaningful and should stand on their own
> as
> a historical record of why the changes you applied were necessary
> or
> useful."
>
> You may want to add a commit message body in the next version.
Sure Amit, Ill add the body.
~Shivang.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] ppc/pnv: add test to verify external DTB is honored
2026-06-23 6:31 ` [PATCH 2/2] ppc/pnv: add test to verify external DTB is honored Shivang Upadhyay
2026-06-23 6:57 ` Amit Machhiwal
@ 2026-06-25 7:02 ` Aditya Gupta
2026-06-25 7:30 ` Shivang Upadhyay
1 sibling, 1 reply; 15+ messages in thread
From: Aditya Gupta @ 2026-06-25 7:02 UTC (permalink / raw)
To: Shivang Upadhyay; +Cc: qemu-devel, qemu-ppc, harshpb, npiggin, milesg
On 26/06/23 12:01PM, Shivang Upadhyay wrote:
> Signed-off-by: Shivang Upadhyay <shivangu@linux.ibm.com>
description, as pointed by amit
> <...snip...>
> + # testdtb for power11, which contains string "hello world" in command line
> + ASSET_SAMPLE_DTB = Asset(
> + ('https://github.com/roz3x/qemu/raw/refs/heads/sample-dtb/output.dtb'),
> + '2dd3330561768fc5c8e4b93aa29bc44c64278d186f1e0f8c584cdf15c3f8cf43')
> +
> def do_test_linux_boot(self, command_line = KERNEL_COMMON_COMMAND_LINE):
> self.require_accelerator("tcg")
> kernel_path = self.ASSET_KERNEL.fetch()
> @@ -104,6 +109,20 @@ def do_test_ppc64_powernv(self, proc):
> # Device detection output driven by udev probing is sometimes cut off
> # from console output, suspect S14silence-console init script.
>
> + def test_ppc64_powernv_external_dtb(self):
> + self.set_machine('powernv11')
> + self.require_accelerator("tcg")
> +
> + kernel_path = self.ASSET_KERNEL.fetch()
> + sample_dtb_path = self.ASSET_SAMPLE_DTB.fetch()
update the dtb also when you post v2, this dtb is of power10, works, but
better to have power11's dtb here
Thanks,
- Aditya G
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] ppc/pnv: add test to verify external DTB is honored
2026-06-25 7:02 ` Aditya Gupta
@ 2026-06-25 7:30 ` Shivang Upadhyay
0 siblings, 0 replies; 15+ messages in thread
From: Shivang Upadhyay @ 2026-06-25 7:30 UTC (permalink / raw)
To: Aditya Gupta; +Cc: qemu-devel, qemu-ppc, harshpb, npiggin, milesg
On Thu, 2026-06-25 at 12:32 +0530, Aditya Gupta wrote:
> > + kernel_path = self.ASSET_KERNEL.fetch()
> > + sample_dtb_path = self.ASSET_SAMPLE_DTB.fetch()
>
> update the dtb also when you post v2, this dtb is of power10, works,
> but
> better to have power11's dtb here
Sure, ill change that. Is it possible we can put it somewhere else
other than personal github?
~Shivang.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present
2026-06-23 6:31 ` [PATCH 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present Shivang Upadhyay
@ 2026-06-25 7:51 ` Aditya Gupta
2026-06-25 7:54 ` Shivang Upadhyay
0 siblings, 1 reply; 15+ messages in thread
From: Aditya Gupta @ 2026-06-25 7:51 UTC (permalink / raw)
To: Shivang Upadhyay; +Cc: qemu-devel, qemu-ppc, harshpb, npiggin, milesg
On 26/06/23 12:01PM, Shivang Upadhyay wrote:
> Signed-off-by: Shivang Upadhyay <shivangu@linux.ibm.com>
> ---
> hw/ppc/pnv.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> index 62812f22f8..6a636b5192 100644
> --- a/hw/ppc/pnv.c
> +++ b/hw/ppc/pnv.c
> @@ -803,8 +803,14 @@ static void pnv_reset(MachineState *machine, ResetType type)
> mpipl_write_succeeded = do_mpipl_write(pnv);
> }
>
> - /* Regenerate device tree */
> - fdt = pnv_dt_create(machine);
> + if (machine->dtb) {
> + int file_size; /* discard */
> + fdt = load_device_tree(machine->dtb, &file_size);
> + } else {
> + /* Regenerate device tree */
> + fdt = pnv_dt_create(machine);
> + }
> +
load_device_tree is being done in pnv_init also, how about this ?
/* only create new dt if -dtb wasn't explicity passed */
if (!machine->dtb) {
pnv_dt_create
fdt_pack
}
also, keep this before the mpipl block, ie. after qemu_devices_reset ?
Thanks,
- Aditya G
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present
2026-06-25 7:51 ` Aditya Gupta
@ 2026-06-25 7:54 ` Shivang Upadhyay
0 siblings, 0 replies; 15+ messages in thread
From: Shivang Upadhyay @ 2026-06-25 7:54 UTC (permalink / raw)
To: Aditya Gupta; +Cc: qemu-devel, qemu-ppc, harshpb, npiggin, milesg
On Thu, 2026-06-25 at 13:21 +0530, Aditya Gupta wrote:
> On 26/06/23 12:01PM, Shivang Upadhyay wrote:
> > Signed-off-by: Shivang Upadhyay <shivangu@linux.ibm.com>
> > ---
> > hw/ppc/pnv.c | 10 ++++++++--
> > 1 file changed, 8 insertions(+), 2 deletions(-)
> >
> > diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> > index 62812f22f8..6a636b5192 100644
> > --- a/hw/ppc/pnv.c
> > +++ b/hw/ppc/pnv.c
> > @@ -803,8 +803,14 @@ static void pnv_reset(MachineState *machine,
> > ResetType type)
> > mpipl_write_succeeded = do_mpipl_write(pnv);
> > }
> >
> > - /* Regenerate device tree */
> > - fdt = pnv_dt_create(machine);
> > + if (machine->dtb) {
> > + int file_size; /* discard */
> > + fdt = load_device_tree(machine->dtb, &file_size);
> > + } else {
> > + /* Regenerate device tree */
> > + fdt = pnv_dt_create(machine);
> > + }
> > +
>
> load_device_tree is being done in pnv_init also, how about this ?
>
> /* only create new dt if -dtb wasn't explicity passed */
> if (!machine->dtb) {
> pnv_dt_create
> fdt_pack
> }
>
> also, keep this before the mpipl block, ie. after qemu_devices_reset
> ?
Yea, That makes sense.
ill fix this in v2.
>
> Thanks,
> - Aditya G
~Shivang.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 0/2] ppc/pnv: fixing external dtb
2026-06-23 6:31 [PATCH 0/2] ppc/pnv: fixing external dtb Shivang Upadhyay
2026-06-23 6:31 ` [PATCH 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present Shivang Upadhyay
2026-06-23 6:31 ` [PATCH 2/2] ppc/pnv: add test to verify external DTB is honored Shivang Upadhyay
@ 2026-06-26 11:22 ` Shivang Upadhyay
2026-06-26 11:22 ` [PATCH v2 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present Shivang Upadhyay
2026-06-26 11:22 ` [PATCH v2 2/2] ppc/pnv: add test to verify external DTB is honored Shivang Upadhyay
2 siblings, 2 replies; 15+ messages in thread
From: Shivang Upadhyay @ 2026-06-26 11:22 UTC (permalink / raw)
To: shivangu; +Cc: adityag, harshpb, milesg, npiggin, qemu-devel, qemu-ppc
Currently powerpc pnv machines doesnt respect `-dtb`
argument passed from outside. During cpu start content of
machine->fdt is overwritten by `pnv_dt_create`.
This was previously found and fixed, during the discussion
for dumpdtb issue [1]. But reintroduced in MPIPL support
[2]. Saddly it skipped in the review phase [3].
Adding a functional test for checking the external dtb case
in powernv11.
[1] https://lore.kernel.org/all/20260323231612.GA2637687@ax162/
[2] https://lore.kernel.org/qemu-devel/20260310124619.3909045-8-adityag@linux.ibm.com/
[3] https://lore.kernel.org/qemu-devel/abAmBV7g_bGNw0Ax@shivang.upadyay/
Changelog
* V1: https://lore.kernel.org/all/20260623063156.1110370-1-shivangu@linux.ibm.com/
- change dtb from power10 to power11
- refactored pnv_reset code to not `load_device_tree` on each iteration.
- added commit message body.
Shivang Upadhyay (2):
ppc/pnv: avoid regenerating DTB if external DTB is present
ppc/pnv: add test to verify external DTB is honored
hw/ppc/pnv.c | 10 +++++++---
tests/functional/ppc64/test_powernv.py | 19 +++++++++++++++++++
2 files changed, 26 insertions(+), 3 deletions(-)
--
2.54.0
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present
2026-06-26 11:22 ` [PATCH v2 0/2] ppc/pnv: fixing external dtb Shivang Upadhyay
@ 2026-06-26 11:22 ` Shivang Upadhyay
2026-06-29 11:41 ` Aditya Gupta
2026-06-26 11:22 ` [PATCH v2 2/2] ppc/pnv: add test to verify external DTB is honored Shivang Upadhyay
1 sibling, 1 reply; 15+ messages in thread
From: Shivang Upadhyay @ 2026-06-26 11:22 UTC (permalink / raw)
To: shivangu; +Cc: adityag, harshpb, milesg, npiggin, qemu-devel, qemu-ppc
Currently externally provided dtb is overwritten in `pnv_reset`.
Fix this by only creating dtb if not provided from `-dtb`.
Signed-off-by: Shivang Upadhyay <shivangu@linux.ibm.com>
---
hw/ppc/pnv.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 62812f22f8..e44fb7e2dc 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -803,9 +803,13 @@ static void pnv_reset(MachineState *machine, ResetType type)
mpipl_write_succeeded = do_mpipl_write(pnv);
}
- /* Regenerate device tree */
- fdt = pnv_dt_create(machine);
- _FDT((fdt_pack(fdt)));
+ /* Only create new dt if not provided in -dtb */
+ if (!machine->dtb) {
+ fdt = pnv_dt_create(machine);
+ _FDT((fdt_pack(fdt)));
+ } else {
+ fdt = machine->fdt;
+ }
/*
* If it's a MPIPL boot, add the "mpipl-boot" property, and reset the
--
2.54.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 2/2] ppc/pnv: add test to verify external DTB is honored
2026-06-26 11:22 ` [PATCH v2 0/2] ppc/pnv: fixing external dtb Shivang Upadhyay
2026-06-26 11:22 ` [PATCH v2 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present Shivang Upadhyay
@ 2026-06-26 11:22 ` Shivang Upadhyay
2026-06-29 11:53 ` Aditya Gupta
1 sibling, 1 reply; 15+ messages in thread
From: Shivang Upadhyay @ 2026-06-26 11:22 UTC (permalink / raw)
To: shivangu; +Cc: adityag, harshpb, milesg, npiggin, qemu-devel, qemu-ppc
Test boots a powernv11 machine, using a custom dtb.
Custom dtb has the following bootargs.
chosen {
bootargs = "hello world";
};
Test Checks wheather above bootargs make it to kernel's command line.
Signed-off-by: Shivang Upadhyay <shivangu@linux.ibm.com>
---
tests/functional/ppc64/test_powernv.py | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/tests/functional/ppc64/test_powernv.py b/tests/functional/ppc64/test_powernv.py
index 0ea6c93e42..cb8f6545a0 100755
--- a/tests/functional/ppc64/test_powernv.py
+++ b/tests/functional/ppc64/test_powernv.py
@@ -27,6 +27,11 @@ class PowernvMachine(LinuxKernelTest):
'buildroot/qemu_ppc64le_powernv8-2025.02/rootfs.ext2'),
'aee2192b692077c4bde31cb56ce474424b358f17cec323d5c94af3970c9aada2')
+ # testdtb for power11, which contains string "hello world" in command line
+ ASSET_SAMPLE_DTB = Asset(
+ ('https://github.com/roz3x/qemu/raw/refs/heads/sample-dtb/output.dtb'),
+ 'ea1271516264eea1eb58a067a99d0c2ca9528be8dc7d4e46bb2d5ae0d42fc568')
+
def do_test_linux_boot(self, command_line = KERNEL_COMMON_COMMAND_LINE):
self.require_accelerator("tcg")
kernel_path = self.ASSET_KERNEL.fetch()
@@ -104,6 +109,20 @@ def do_test_ppc64_powernv(self, proc):
# Device detection output driven by udev probing is sometimes cut off
# from console output, suspect S14silence-console init script.
+ def test_ppc64_powernv_external_dtb(self):
+ self.set_machine('powernv11')
+ self.require_accelerator("tcg")
+
+ kernel_path = self.ASSET_KERNEL.fetch()
+ sample_dtb_path = self.ASSET_SAMPLE_DTB.fetch()
+ self.vm.set_console()
+ self.vm.add_args('-kernel', kernel_path,
+ '-dtb', sample_dtb_path)
+ self.vm.launch()
+
+ # check if custom dtb is reflected or not
+ wait_for_console_pattern(self, "Kernel command line: hello world", self.panic_message)
+
def test_powernv8(self):
self.set_machine('powernv8')
self.do_test_ppc64_powernv('P8')
--
2.54.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v2 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present
2026-06-26 11:22 ` [PATCH v2 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present Shivang Upadhyay
@ 2026-06-29 11:41 ` Aditya Gupta
0 siblings, 0 replies; 15+ messages in thread
From: Aditya Gupta @ 2026-06-29 11:41 UTC (permalink / raw)
To: Shivang Upadhyay; +Cc: harshpb, milesg, npiggin, qemu-devel, qemu-ppc
On 26/06/26 04:52PM, Shivang Upadhyay wrote:
> Currently externally provided dtb is overwritten in `pnv_reset`.
> Fix this by only creating dtb if not provided from `-dtb`.
>
> Signed-off-by: Shivang Upadhyay <shivangu@linux.ibm.com>
> ---
> hw/ppc/pnv.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> index 62812f22f8..e44fb7e2dc 100644
> --- a/hw/ppc/pnv.c
> +++ b/hw/ppc/pnv.c
> @@ -803,9 +803,13 @@ static void pnv_reset(MachineState *machine, ResetType type)
> mpipl_write_succeeded = do_mpipl_write(pnv);
> }
>
> - /* Regenerate device tree */
> - fdt = pnv_dt_create(machine);
> - _FDT((fdt_pack(fdt)));
> + /* Only create new dt if not provided in -dtb */
> + if (!machine->dtb) {
> + fdt = pnv_dt_create(machine);
> + _FDT((fdt_pack(fdt)));
> + } else {
> + fdt = machine->fdt;
> + }
nit: indent is wrong
with indentation fixed, feel free to add:
Reviewed-by: Aditya Gupta <adityag@linux.ibm.com>
- Aditya G
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/2] ppc/pnv: add test to verify external DTB is honored
2026-06-26 11:22 ` [PATCH v2 2/2] ppc/pnv: add test to verify external DTB is honored Shivang Upadhyay
@ 2026-06-29 11:53 ` Aditya Gupta
2026-06-30 9:37 ` Shivang Upadhyay
0 siblings, 1 reply; 15+ messages in thread
From: Aditya Gupta @ 2026-06-29 11:53 UTC (permalink / raw)
To: Shivang Upadhyay; +Cc: harshpb, milesg, npiggin, qemu-devel, qemu-ppc
On 26/06/26 04:52PM, Shivang Upadhyay wrote:
> Test boots a powernv11 machine, using a custom dtb.
> Custom dtb has the following bootargs.
>
> chosen {
> bootargs = "hello world";
> };
>
> Test Checks wheather above bootargs make it to kernel's command line.
nit: s/wheather/whether
> + # testdtb for power11, which contains string "hello world" in command line
> + ASSET_SAMPLE_DTB = Asset(
> + ('https://github.com/roz3x/qemu/raw/refs/heads/sample-dtb/output.dtb'),
> + 'ea1271516264eea1eb58a067a99d0c2ca9528be8dc7d4e46bb2d5ae0d42fc568')
nit: since you are anyways sending a v3, can you rename output.dtb to
something like qemu-powernv10.dtb, etc so in future you don't modify
this generic path unknowingly ?
> +
> def do_test_linux_boot(self, command_line = KERNEL_COMMON_COMMAND_LINE):
> self.require_accelerator("tcg")
> kernel_path = self.ASSET_KERNEL.fetch()
> @@ -104,6 +109,20 @@ def do_test_ppc64_powernv(self, proc):
> # Device detection output driven by udev probing is sometimes cut off
> # from console output, suspect S14silence-console init script.
>
> + def test_ppc64_powernv_external_dtb(self):
> + self.set_machine('powernv11')
> + self.require_accelerator("tcg")
> +
> + kernel_path = self.ASSET_KERNEL.fetch()
> + sample_dtb_path = self.ASSET_SAMPLE_DTB.fetch()
> + self.vm.set_console()
> + self.vm.add_args('-kernel', kernel_path,
> + '-dtb', sample_dtb_path)
> + self.vm.launch()
> +
> + # check if custom dtb is reflected or not
> + wait_for_console_pattern(self, "Kernel command line: hello world", self.panic_message)
> +
Reviewed-by: Aditya Gupta <adityag@linux.ibm.com>
Thanks,
- Aditya G
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/2] ppc/pnv: add test to verify external DTB is honored
2026-06-29 11:53 ` Aditya Gupta
@ 2026-06-30 9:37 ` Shivang Upadhyay
0 siblings, 0 replies; 15+ messages in thread
From: Shivang Upadhyay @ 2026-06-30 9:37 UTC (permalink / raw)
To: Aditya Gupta; +Cc: harshpb, milesg, npiggin, qemu-devel, qemu-ppc
On Mon, 2026-06-29 at 17:23 +0530, Aditya Gupta wrote:
> > + # testdtb for power11, which contains string "hello world" in
> > command line
> > + ASSET_SAMPLE_DTB = Asset(
> > +
> > ('https://github.com/roz3x/qemu/raw/refs/heads/sample-dtb/output.dt
> > b'),
> > +
> > 'ea1271516264eea1eb58a067a99d0c2ca9528be8dc7d4e46bb2d5ae0d42fc568')
>
> nit: since you are anyways sending a v3, can you rename output.dtb to
> something like qemu-powernv10.dtb, etc so in future you don't modify
> this generic path unknowingly ?
Yeah, Sounds like a good idea.
Ill send the next revision.
~Shivang.
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2026-06-30 9:37 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-23 6:31 [PATCH 0/2] ppc/pnv: fixing external dtb Shivang Upadhyay
2026-06-23 6:31 ` [PATCH 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present Shivang Upadhyay
2026-06-25 7:51 ` Aditya Gupta
2026-06-25 7:54 ` Shivang Upadhyay
2026-06-23 6:31 ` [PATCH 2/2] ppc/pnv: add test to verify external DTB is honored Shivang Upadhyay
2026-06-23 6:57 ` Amit Machhiwal
2026-06-23 15:42 ` Shivang Upadhyay
2026-06-25 7:02 ` Aditya Gupta
2026-06-25 7:30 ` Shivang Upadhyay
2026-06-26 11:22 ` [PATCH v2 0/2] ppc/pnv: fixing external dtb Shivang Upadhyay
2026-06-26 11:22 ` [PATCH v2 1/2] ppc/pnv: avoid regenerating DTB if external DTB is present Shivang Upadhyay
2026-06-29 11:41 ` Aditya Gupta
2026-06-26 11:22 ` [PATCH v2 2/2] ppc/pnv: add test to verify external DTB is honored Shivang Upadhyay
2026-06-29 11:53 ` Aditya Gupta
2026-06-30 9:37 ` Shivang Upadhyay
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.