WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ppc-devel

[XenPPC] [xenppc-unstable] [POWERPC] flat device tree update

To: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Subject: [XenPPC] [xenppc-unstable] [POWERPC] flat device tree update
From: Xen patchbot-xenppc-unstable <patchbot-xenppc-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 18 Aug 2006 23:00:55 +0000
Delivery-date: Sun, 20 Aug 2006 07:01:57 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ppc-devel-request@lists.xensource.com?subject=help>
List-id: Xen PPC development <xen-ppc-devel.lists.xensource.com>
List-post: <mailto:xen-ppc-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-ppc-devel-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Hollis Blanchard <hollisb@xxxxxxxxxx>
# Node ID 9c72449e4370128446fa902d0183080289bdde12
# Parent  539a1e66698289d408ea61c3294361f150d320ff
[POWERPC] flat device tree update
- remove unused code
- implement ft_set_prop()
- relicense as LGPL (with permission from copyright owners)
- add explicit copyright notices
---
 tools/libxc/powerpc64/ft_build.c |  165 +++++++--------------------------------
 tools/libxc/powerpc64/ft_build.h |   29 ++++--
 2 files changed, 49 insertions(+), 145 deletions(-)

diff -r 539a1e666982 -r 9c72449e4370 tools/libxc/powerpc64/ft_build.c
--- a/tools/libxc/powerpc64/ft_build.c  Fri Aug 18 14:07:50 2006 -0400
+++ b/tools/libxc/powerpc64/ft_build.c  Fri Aug 18 17:52:04 2006 -0500
@@ -1,17 +1,22 @@
 /*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of version 2.1 of the GNU Lesser General Public
+ * License as published by the Free Software Foundation.
  *
- * This program is distributed in the hope that it will be useful,
+ * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Copyright Pantelis Antoniou 2006
+ * Copyright (C) IBM Corporation 2006
+ *
+ * Authors: Pantelis Antoniou <pantelis@xxxxxxxxxxxxxxxxx>
+ *          Hollis Blanchard <hollisb@xxxxxxxxxx>
  */
 
 #include <stddef.h>
@@ -527,126 +532,20 @@ void *ft_get_prop(void *bphp, const char
        return NULL;
 }
 
-/********************************************************************/
-
-#if 0
-extern unsigned char oftree_dtb[];
-extern unsigned int oftree_dtb_len;
-
-void ft_setup(void *blob, int size, bd_t * bd)
-{
-       DECLARE_GLOBAL_DATA_PTR;
-       char *end;
-       u32 *p;
-       int len;
-       struct ft_cxt cxt;
-       int i, k, nxt;
-       static char tmpenv[256];
-       char *s, *lval, *rval;
-       ulong clock;
-       u32 v;
-
-       /* disable OF tree; booting old kernel */
-       if (getenv("disable_of") != NULL) {
-               memcpy(blob, bd, sizeof(*bd));
-               return;
-       }
-
-       ft_begin(&cxt, blob, size);
-
-       /* fs_add_rsvmap not used */
-
-       ft_begin_tree(&cxt);
-
-       ft_begin_node(&cxt, "");
-
-       ft_end_node(&cxt);
-
-       /* copy RO tree */
-       ft_merge_blob(&cxt, oftree_dtb);
-
-       /* back into root */
-       ft_backtrack_node(&cxt);
-
-       ft_begin_node(&cxt, "u-boot-env");
-
-       for (i = 0; env_get_char(i) != '\0'; i = nxt + 1) {
-               for (nxt = i; env_get_char(nxt) != '\0'; ++nxt) ;
-               s = tmpenv;
-               for (k = i; k < nxt && s < &tmpenv[sizeof(tmpenv) - 1]; ++k)
-                       *s++ = env_get_char(k);
-               *s++ = '\0';
-               lval = tmpenv;
-               s = strchr(tmpenv, '=');
-               if (s != NULL) {
-                       *s++ = '\0';
-                       rval = s;
-               } else
-                       continue;
-               ft_prop_str(&cxt, lval, rval);
-       }
-
-       ft_end_node(&cxt);
-
-       ft_begin_node(&cxt, "chosen");
-
-       ft_prop_str(&cxt, "name", "chosen");
-       ft_prop_str(&cxt, "bootargs", getenv("bootargs"));
-       ft_prop_int(&cxt, "linux,platform", 0x600);     /* what is this? */
-
-       ft_end_node(&cxt);
-
-       ft_end_node(&cxt);      /* end root */
-
-       ft_end_tree(&cxt);
-
-       /*
-          printf("merged OF-tree\n");
-          ft_dump_blob(blob);
-        */
-
-       /* paste the bd_t at the end of the flat tree */
-       end = (char *)blob +
-           be32_to_cpu(((struct boot_param_header *)blob)->totalsize);
-       memcpy(end, bd, sizeof(*bd));
-
-#ifdef CONFIG_PPC
-
-       for (i = 0; i < sizeof(bd_map)/sizeof(bd_map[0]); i++) {
-               sprintf(tmpenv, "/bd_t/%s", bd_map[i].name);
-               v = *(u32 *)((char *)bd + bd_map[i].offset);
-
-               p = ft_get_prop(blob, tmpenv, &len);
-               if (p != NULL)
-                       *p = cpu_to_be32(v);
-       }
-
-       p = ft_get_prop(blob, "/bd_t/enetaddr", &len);
-       if (p != NULL)
-               memcpy(p, bd->bi_enetaddr, 6);
-
-       p = ft_get_prop(blob, "/bd_t/ethspeed", &len);
-       if (p != NULL)
-               *p = cpu_to_be32((u32) bd->bi_ethspeed);
-
-       clock = bd->bi_intfreq;
-       p = ft_get_prop(blob, "/cpus/" OF_CPU "/clock-frequency", &len);
-       if (p != NULL)
-               *p = cpu_to_be32(clock);
-
-#ifdef OF_TBCLK
-       clock = OF_TBCLK;
-       p = ft_get_prop(blob, "/cpus/" OF_CPU "/timebase-frequency", &len);
-       if (p != NULL)
-               *p = cpu_to_be32(OF_TBCLK);
-#endif
-
-#endif                         /* __powerpc__ */
-
-       /*
-          printf("final OF-tree\n");
-          ft_dump_blob(blob);
-        */
-
-}
-#endif
+int ft_set_prop(void *bphp, const char *propname, const void *val,
+               unsigned int len)
+{
+       void *prop;
+       unsigned int proplen;
+
+       prop = ft_get_prop(bphp, propname, &proplen);
+       if (prop == NULL)
+               return -ENOENT;
+
+       if (proplen != len)
+               /* XXX to be removed when property resize is supported */
+               return -EINVAL;
+
+       memcpy(prop, val, len);
+       return 0;
+}
diff -r 539a1e666982 -r 9c72449e4370 tools/libxc/powerpc64/ft_build.h
--- a/tools/libxc/powerpc64/ft_build.h  Fri Aug 18 14:07:50 2006 -0400
+++ b/tools/libxc/powerpc64/ft_build.h  Fri Aug 18 17:52:04 2006 -0500
@@ -1,17 +1,22 @@
 /*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of version 2.1 of the GNU Lesser General Public
+ * License as published by the Free Software Foundation.
  *
- * This program is distributed in the hope that it will be useful,
+ * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Copyright Pantelis Antoniou 2006
+ * Copyright (C) IBM Corporation 2006
+ *
+ * Authors: Pantelis Antoniou <pantelis@xxxxxxxxxxxxxxxxx>
+ *          Hollis Blanchard <hollisb@xxxxxxxxxx>
  */
 
 #ifndef FT_BUILD_H
@@ -116,7 +121,7 @@ void ft_dump_blob(const void *bphp);
 void ft_dump_blob(const void *bphp);
 void ft_merge_blob(struct ft_cxt *cxt, void *blob);
 void *ft_get_prop(void *bphp, const char *propname, unsigned int *szp);
-void ft_set_prop(void *bphp, const char *propname,
-                 void *val, unsigned int len);
+int ft_set_prop(void *bphp, const char *propname, const void *val,
+               unsigned int len);
 
 #endif

_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [XenPPC] [xenppc-unstable] [POWERPC] flat device tree update, Xen patchbot-xenppc-unstable <=