On Jan 15, 2007, at 4:13 PM, Ryan Harper wrote:

* Jimi Xenidis <[EMAIL PROTECTED]> [2007-01-15 14:53]:

On Jan 15, 2007, at 1:51 PM, Ryan Harper wrote:

* Jimi Xenidis <[EMAIL PROTECTED]> [2007-01-11 16:53]:
- renamed find_first_cpu to find_cpu, we don't care which cpu we find

I believe you _must_ use the the entry that has a reg property of 0.

Is that because the properties we are interested aren't guaranteed to be
present in all cpu nodes?
Well I would like it to have a reg=0 and cpu#=0
Some OF devtrees contain nodes that described shares resources (like L3, L4 caches), usually the full definition is in the lowest number of the sharers and the secondaries can simply us a property that contains the phandle of the original node.

SEGVs are good! :)

WFM. =)
No.. seriously!

+static int copynode(struct ft_cxt *cxt, const char *dirpath, const
char **propfilter)

This is totally informational, but I think the blob/fnmatch routines
may make this code way simpler.

sure and I liked my regexp, but the concern was what sort of libc
functions would be available in Xen when we implement copynode down
there for dom0 devtree construction.

this is a good point, however dom0 will copy everything.

+int make_devtree(
Any ideas what this reservation is for? is it for the flat-devtree


+    /* root.reserve(0x1000000, 0x1000) */
+    val[0] = cpu_to_be64((u64) 0x1000000);
+    val[1] = cpu_to_be64((u64) 0x1000);
+    ft_add_rsvmap(root, val[0], val[1]);



this value is keyed off of rma_bytes

No idea, just duping reservations that the python code made.  Is there
some place I should be getting these values from?
Sure.. you calculate rma_bytes below when you fill in the /[EMAIL PROTECTED] stuff in.
that is what you are missing below.

+    /* xen = root.addnode('xen') */
+    ft_begin_node(root, "xen");

the 0x3ffc00 value is offset from rma_bytes
+    /* xen.addprop('start-info', long(0x3ffc000), long(0x1000)) */
+    val[0] = cpu_to_be64((u64) 0x3ffc000);
+    val[1] = cpu_to_be64((u64) 0x1000);
+    ft_prop(root, "start-info", val, sizeof(val));

What am I missing here?

+    /* [EMAIL PROTECTED] is all the rest */
+    if (remaining > 0)
+    {

this really should be "memory@<rma_bytes>"

+        /* mem = root.addnode('[EMAIL PROTECTED]') */
+        ft_begin_node(root, "[EMAIL PROTECTED]");


Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253   T/L: 678-9253

Xen-ppc-devel mailing list

Reply via email to