[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Qemu-ppc] [PATCH 26/77] ppc/pnv: Add skeletton PowerNV
From: |
Stewart Smith |
Subject: |
Re: [Qemu-devel] [Qemu-ppc] [PATCH 26/77] ppc/pnv: Add skeletton PowerNV platform |
Date: |
Thu, 19 Nov 2015 19:58:17 +1100 |
User-agent: |
Notmuch/0.18+16~gec02089 (http://notmuchmail.org) Emacs/23.1.1 (x86_64-redhat-linux-gnu) |
Benjamin Herrenschmidt <address@hidden> writes:
> --- /dev/null
> +++ b/hw/ppc/pnv.c
> @@ -0,0 +1,600 @@
<snip>
> +static void *powernv_create_fdt(PnvSystem *sys, uint32_t initrd_base,
> uint32_t initrd_size)
> +{
<snip>
> + _FDT((fdt_begin_node(fdt, "chosen")));
> + _FDT((fdt_property(fdt, "linux,initrd-start",
> + &start_prop, sizeof(start_prop))));
> + _FDT((fdt_property(fdt, "linux,initrd-end",
> + &end_prop, sizeof(end_prop))));
> + _FDT((fdt_end_node(fdt)));
(this time replying to list as well)
This misses out kernel command line, which means -append doesn't work.
This patch fixes that:
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 1787dd19c67a..82d6321228f6 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -379,7 +379,7 @@ static void powernv_create_cpu_node(void *fdt, CPUState
*cs, int smt_threads)
_FDT((fdt_end_node(fdt)));
}
-static void *powernv_create_fdt(PnvSystem *sys, uint32_t initrd_base, uint32_t
initrd_size)
+static void *powernv_create_fdt(PnvSystem *sys, const char *kernel_cmdline,
uint32_t initrd_base, uint32_t initrd_size)
{
void *fdt;
CPUState *cs;
@@ -423,6 +423,9 @@ static void *powernv_create_fdt(PnvSystem *sys, uint32_t
initrd_base, uint32_t i
g_free(buf);
_FDT((fdt_begin_node(fdt, "chosen")));
+ if (kernel_cmdline) {
+ _FDT((fdt_property_string(fdt, "bootargs", kernel_cmdline)));
+ }
_FDT((fdt_property(fdt, "linux,initrd-start",
&start_prop, sizeof(start_prop))));
_FDT((fdt_property(fdt, "linux,initrd-end",
@@ -781,7 +784,8 @@ static void ppc_powernv_init(MachineState *machine)
initrd_base = 0;
initrd_size = 0;
}
- fdt = powernv_create_fdt(sys, initrd_base, initrd_size);
+ fdt = powernv_create_fdt(sys, machine->kernel_cmdline,
+ initrd_base, initrd_size);
cpu_physical_memory_write(FDT_ADDR, fdt, fdt_totalsize(fdt));
}
- Re: [Qemu-devel] [Qemu-ppc] [PATCH 31/77] ppc/xics: Remove unused xics_set_irq_type(), (continued)
- [Qemu-devel] [PATCH 30/77] ppc/xics: Implement H_IPOLL using an accessor, Benjamin Herrenschmidt, 2015/11/10
- [Qemu-devel] [PATCH 36/77] ppc/xics: Use a helper to add a new ICS, Benjamin Herrenschmidt, 2015/11/10
- [Qemu-devel] [PATCH 35/77] ppc/xics: Move xics_set_nr_irqs() to xics_spapr.c and xics_kvm.c, Benjamin Herrenschmidt, 2015/11/10
- [Qemu-devel] [PATCH 32/77] ppc/xics: Replace "icp" with "xics" in most places, Benjamin Herrenschmidt, 2015/11/10
- [Qemu-devel] [PATCH 39/77] ppc/xics: Add xics to the monitor "info pic" command, Benjamin Herrenschmidt, 2015/11/10
- [Qemu-devel] [PATCH 23/77] ppc: Turn a bunch of booleans from int to bool, Benjamin Herrenschmidt, 2015/11/10
- [Qemu-devel] [PATCH 26/77] ppc/pnv: Add skeletton PowerNV platform, Benjamin Herrenschmidt, 2015/11/10
- [Qemu-devel] [PATCH 27/77] ppc/pnv: Add XSCOM infrastructure, Benjamin Herrenschmidt, 2015/11/10
- [Qemu-devel] [PATCH 34/77] ppc/xics: An ICS with offset 0 is assumed to be uninitialized, Benjamin Herrenschmidt, 2015/11/10
- [Qemu-devel] [PATCH 45/77] qdev: Add a hook for a bus to device if it can add devices, Benjamin Herrenschmidt, 2015/11/10