grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ppc patch] claim/release prototypes


From: Hollis Blanchard
Subject: [ppc patch] claim/release prototypes
Date: Wed, 15 Sep 2004 10:00:02 -0500

I noticed that all the callers of grub_ieee1275_claim/release had to unnaturally cast arguments to void *. The arguments in fact are not void *; they are addresses.

2004-09-15      Hollis Blanchard        <address@hidden>

        * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change void *
        arguments to grub_addr_t.
        All callers updated.
        Also make the `result' argument optional.
        (grub_ieee1275_release): change void * arguments to grub_addr_t.
        All callers updated.

-Hollis

Index: boot/powerpc/ieee1275/ieee1275.c
===================================================================
RCS file: /cvsroot/grub/grub2/boot/powerpc/ieee1275/ieee1275.c,v
retrieving revision 1.3
diff -u -r1.3 ieee1275.c
--- boot/powerpc/ieee1275/ieee1275.c 27 Jul 2004 17:47:37 -0000 1.3
+++ boot/powerpc/ieee1275/ieee1275.c    13 Sep 2004 02:54:59 -0000
@@ -397,39 +412,42 @@
 }

 int
-grub_ieee1275_claim (void *p, grub_size_t size,
-                    unsigned int align, void **result)
+grub_ieee1275_claim (grub_addr_t addr, grub_size_t size, unsigned int align,
+                    grub_addr_t *result)
 {
   struct claim_args {
     struct grub_ieee1275_common_hdr common;
-    void *p;
+    grub_addr_t addr;
     grub_size_t size;
     unsigned int align;
-    void *addr;
+    grub_addr_t base;
   } args;

   INIT_IEEE1275_COMMON (&args.common, "claim", 3, 1);
-  args.p = p;
+  args.addr = addr;
   args.size = size;
   args.align = align;

   if (IEEE1275_CALL_ENTRY_FN (&args) == -1)
     return -1;
-  *result = args.addr;
+
+  if (result)
+    *result = args.base;
+
   return 0;
 }

 int
-grub_ieee1275_release (void *p, grub_size_t size)
+grub_ieee1275_release (grub_addr_t addr, grub_size_t size)
 {
  struct release_args {
     struct grub_ieee1275_common_hdr common;
-    void *p;
+    grub_addr_t addr;
     grub_size_t size;
  } args;

   INIT_IEEE1275_COMMON (&args.common, "release", 2, 0);
-  args.p = p;
+  args.addr = addr;
   args.size = size;

   if (IEEE1275_CALL_ENTRY_FN (&args) == -1)
Index: loader/powerpc/ieee1275/linux.c
===================================================================
RCS file: /cvsroot/grub/grub2/loader/powerpc/ieee1275/linux.c,v
retrieving revision 1.2
diff -u -r1.2 linux.c
--- loader/powerpc/ieee1275/linux.c 2 Aug 2004 10:28:11 -0000 1.2
+++ loader/powerpc/ieee1275/linux.c     15 Sep 2004 14:42:51 -0000
@@ -76,7 +76,7 @@
   grub_free (linux_args);
   linux_args = 0;

- if (linux_addr && grub_ieee1275_release ((void *) linux_addr, linux_size))
+  if (linux_addr && grub_ieee1275_release (linux_addr, linux_size))
return grub_error (GRUB_ERR_OUT_OF_MEMORY, "Can not release memory");

   linux_addr = 0;
@@ -188,7 +188,7 @@
   /* Reserve memory for the kernel.  */
   linux_size += 0x100000;

- if (grub_ieee1275_claim ((void *) entry, linux_size, 0, (void *) &linux_addr) == -1)
+  if (grub_ieee1275_claim (entry, linux_size, 0, &linux_addr) == -1)
     {
       grub_error (GRUB_ERR_OUT_OF_MEMORY, "Can not claim memory");
       goto fail;
Index: kern/powerpc/ieee1275/init.c
===================================================================
RCS file: /cvsroot/grub/grub2/kern/powerpc/ieee1275/init.c,v
retrieving revision 1.5
diff -u -r1.5 init.c
--- kern/powerpc/ieee1275/init.c 14 Sep 2004 21:21:12 -0000 1.5
+++ kern/powerpc/ieee1275/init.c        15 Sep 2004 14:44:35 -0000
@@ -49,9 +49,7 @@
 void
 grub_machine_init (void)
 {
-  void *mem;
-
-  if (grub_ieee1275_claim ((void *) 0x300000, 0x150000, 0, &mem) == -1)
+  if (grub_ieee1275_claim (0x300000, 0x150000, 0, 0) == -1)
     abort (); /* Damn, we are in trouble!  */

   /* The memory allocations were copied from yaboot.  */
Index: include/grub/powerpc/ieee1275/ieee1275.h
===================================================================
RCS file: /cvsroot/grub/grub2/include/grub/powerpc/ieee1275/ieee1275.h,v
retrieving revision 1.4
diff -u -r1.4 ieee1275.h
--- include/grub/powerpc/ieee1275/ieee1275.h 14 Sep 2004 08:56:51 -0000 1.4 +++ include/grub/powerpc/ieee1275/ieee1275.h 15 Sep 2004 14:44:35 -0000
@@ -83,9 +83,9 @@
 int EXPORT_FUNC(grub_ieee1275_open) (char *node,
                                     grub_ieee1275_ihandle_t *result);
 int EXPORT_FUNC(grub_ieee1275_close) (grub_ieee1275_ihandle_t ihandle);
-int EXPORT_FUNC(grub_ieee1275_claim) (void *p, grub_size_t size, unsigned int align,
-                                     void **result);
-int EXPORT_FUNC(grub_ieee1275_release) (void *p, grub_size_t size);
+int EXPORT_FUNC(grub_ieee1275_claim) (grub_addr_t addr, grub_size_t size, + unsigned int align, grub_addr_t *result); +int EXPORT_FUNC(grub_ieee1275_release) (grub_addr_t addr, grub_size_t size); int EXPORT_FUNC(grub_ieee1275_set_property) (grub_ieee1275_phandle_t phandle, const char *propname, void *buf,
                                             grub_size_t size,





reply via email to

[Prev in Thread] Current Thread [Next in Thread]