Fixes for PowerPC Qemu KVM
PATCH 1/1 Fixes for PowerPC Qemu KVM
This set of patches contain fixes for bamboo board model, as well as provides more functionality for device tree manipulation.
3 files changed, 22 insertions(+), 1 deletion(-) qemu/hw/device_tree.c | 16 ++++++++++++++++ qemu/hw/device_tree.h | 2 ++ qemu/hw/ppc440_bamboo.c | 5 ++++-
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
PATCH 1/1 Remove dynamic allocation of /hypervisor node from device tree in memory
1 file changed, 1 deletion(-)
qemu/hw/ppc440_bamboo.c | 1 -
In 2.6.26 wait is now enabled by default. With this the /hypervisor node will not be need to be idetified to enable the guest to go into wait state while idle.
qemu/hw/ppc440_bamboo.c +0 -1
@@ -163,7 +163,6 @@ void bamboo_init(ram_addr_t ram_size, indt_cell (fdt,"/chosen" ,"linux,initrd-end" , (initrd_base + initrd_size));dt_string (fdt,"/chosen" ,"bootargs" , (char *)kernel_cmdline); -dt_node (fdt,"/" ,"hypervisor" );#endif if (kvm_enabled ()) {
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
Re: [PATCH 1 of 3] Remove dynamic allocation of /hypervisor node from device tree in memory
Quoted 13 lines · Jerone Young
1 file changed, 1 deletion(-)
qemu/hw/ppc440_bamboo.c| 1 -In 2.6.26 wait is now enabled by default. With this the /hypervisor node will not be need to be idetified to enable the guest to go into wait state while idle.
Signed-off-by Jerone Young <[email protected]>
qemu/hw/ppc440_bamboo.c void bamboo_init(ram_addr_t ram_size, in · line 168
Quoted 7 lines
qemu/hw/ppc440_bamboo.c +0
-1@@ -163,7 +163,6 @@ void bamboo_init(ram_addr_t ram_size, indt_cell (fdt,"/chosen" ,"linux,initrd-end" , (initrd_base + initrd_size));dt_string (fdt,"/chosen" ,"bootargs" , (char *)kernel_cmdline); -dt_node (fdt,"/" ,"hypervisor" );#endif if (kvm_enabled ()) {
I don't have this bit in my tree.
Signature · 8 lines
Any sufficiently difficult bug is indistinguishable from a feature. ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
PATCH 1/1 Add function dt_cell_multi to hw/device_tree.c
In reply to Jerone Young2 files changed, 18 insertions(+)
qemu/hw/device_tree.c | 16 ++++++++++++++++qemu/hw/device_tree.h | 2 ++
This patch adds function dt_cell_multi to allow for manipulation of device tree properties that contain mulitiple 32bit values.
qemu/hw/device_tree.c +16 -0
@@ -162,6 +162,22 @@ void dt_cell(void *fdt, char *node_path, } } +/* This function is to manipulate a cell with multiple values */ +void dt_cell_multi (void *fdt,char *node_path,char *property, +uint32_t *val_array,int size) +{ + +int offset; +int ret; + offset =get_offset_of_node (fdt, node_path); + ret =fdt_setprop (fdt, offset, property, val_array, size); +if (ret <0 ) { +printf ("Unable to set device tree property '%s'\n" , + property); +exit (1 ); + } +} +void dt_string (void *fdt,char *node_path,char *property,char *string) {
qemu/hw/device_tree.h +2 -0
@@ -19,6 +19,8 @@ void dump_device_tree_to_file(void *fdt,void dump_device_tree_to_file (void *fdt,char *filename);void dt_cell (void *fdt,char *node_path,char *property,uint32_t val); +void dt_cell_multi (void *fdt,char *node_path,char *property, +uint32_t *val_array,int size);void dt_string (void *fdt,char *node_path,char *property,char *string);void dt_node (void *fdt,char *node_parent_path,char *name);
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
Re: [kvm-ppc-devel] [PATCH 2 of 3] Add function dt_cell_multi to hw/device_tree.c
qemu/hw/device_tree.c void dt_cell(void *fdt, char *node_path, · line 171
Quoted 7 lines · On Monday 28 April 2008 16:23:04 Jerone Young wrote:
qemu/hw/device_tree.c +7
-0+/* This function is to manipulate a cell with multiple values */ +void dt_cell_multi (void *fdt,char *node_path,char *property, + uint32_t *val_array, int size) +{ + + int offset; + int ret;
Could you please be more careful with your whitespace?
Signature · 8 lines
Hollis Blanchard IBM Linux Technology Center ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
Re: [kvm-ppc-devel] [PATCH 2 of 3] Add function dt_cell_multi to hw/device_tree.c
Quoted 10 lines · Hollis Blanchard
Review
Quoted 7 lines · On Monday 28 April 2008 16:23:04 Jerone Young wrote:
(quoted diff) +7
-0+/* This function is to manipulate a cell with multiple values */ +void dt_cell_multi(void *fdt, char *node_path, char *property, + uint32_t *val_array, int size) +{ + + int offset; + int ret;Could you please be more careful with your whitespace?
Hmmm..I'm looking at the patch on my local machine and it doesn't have any whitespace damage. If there is whitespace damage it was caused by something else (like hg email is doing something).
I've attached the orginal patch to this email.
Quoted 1 line
Add function dt_cell_multi to hw/device_tree.c
This patch adds function dt_cell_multi to allow for manipulation of device tree properties that contain mulitiple 32bit values.
qemu/hw/device_tree.c +16 -0
@@ -162,6 +162,22 @@ void dt_cell(void *fdt, char *node_path, } } +/* This function is to manipulate a cell with multiple values */ +void dt_cell_multi (void *fdt,char *node_path,char *property, +uint32_t *val_array,int size) +{ + +int offset; +int ret; + offset =get_offset_of_node (fdt, node_path); + ret =fdt_setprop (fdt, offset, property, val_array, size); +if (ret <0 ) { +printf ("Unable to set device tree property '%s'\n" , + property); +exit (1 ); + } +} +void dt_string (void *fdt,char *node_path,char *property,char *string) {
qemu/hw/device_tree.h +2 -0
@@ -19,6 +19,8 @@ void dump_device_tree_to_file(void *fdt,void dump_device_tree_to_file (void *fdt,char *filename);void dt_cell (void *fdt,char *node_path,char *property,uint32_t val); +void dt_cell_multi (void *fdt,char *node_path,char *property, +uint32_t *val_array,int size);void dt_string (void *fdt,char *node_path,char *property,char *string);void dt_node (void *fdt,char *node_parent_path,char *name);
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
kvm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel
PATCH 1/1 Fix memory defined in device tree by declaring it dynamically for bamboo board model
In reply to Jerone Young1 file changed, 4 insertions(+)
qemu/hw/ppc440_bamboo.c | 4 ++++
This fixes a issue where the amount of memory is not properly being defined in the device tree. It currently is hardcoded for 144MB. The result is that if you specify a memory size below the hardcoded size, the guest crashes. This patch now dynamically changes the device tree to the memory value specified.
qemu/hw/ppc440_bamboo.c +4 -0
@@ -50,6 +50,7 @@ void bamboo_init(ram_addr_t ram_size, inint i=0 , k=0 ;uint32_t cpu_freq;uint32_t timebase_freq; +uint32_t mem_reg_property[]={0 ,0 , ram_size};printf ("%s: START\n" , __func__);
@@ -73,6 +74,7 @@ void bamboo_init(ram_addr_t ram_size, inprintf ("WARNING: %i MB left over memory is ram\n" ,bytes_to_mb ((int )tmp_ram_size)); ram_size -= tmp_ram_size; + mem_reg_property[2 ] = ram_size; }/* Setup CPU */
@@ -159,6 +161,8 @@ void bamboo_init(ram_addr_t ram_size, in/* manipulate device tree in memory */ dt_cell (fdt,"/cpus/cpu@0" ,"clock-frequency" , cpu_freq);dt_cell (fdt,"/cpus/cpu@0" ,"timebase-frequency" , timebase_freq); +dt_cell_multi (fdt,"/memory" ,"reg" , mem_reg_property, +sizeof (mem_reg_property));dt_cell (fdt,"/chosen" ,"linux,initrd-start" , initrd_base);dt_cell (fdt,"/chosen" ,"linux,initrd-end" , (initrd_base + initrd_size));
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone