]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
authorVladimir Serbinenko <phcoder@gmail.com>
Sun, 8 Dec 2013 17:27:40 +0000 (18:27 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Sun, 8 Dec 2013 17:27:40 +0000 (18:27 +0100)
* grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.

ChangeLog
grub-core/Makefile.core.def
grub-core/kern/ia64/cache.c [new file with mode: 0644]
grub-core/kern/ia64/efi/init.c

index d03b15c6d2085004730218b3570607ec1a9a5506..200393209276e1cb405cd7b9c28a10d07c4727f4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
+       * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
+
 2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
index 0a4eba56bebc0ae111eb5b8205bb61ca31b27172..060de4449109021b3d0cd38fcf007091d01ecb8d 100644 (file)
@@ -193,6 +193,7 @@ kernel = {
   ia64_efi = kern/ia64/efi/init.c;
   ia64_efi = kern/ia64/dl.c;
   ia64_efi = kern/ia64/dl_helper.c;
+  ia64_efi = kern/ia64/cache.c;
 
   arm_efi = kern/arm/efi/init.c;
   arm_efi = kern/arm/efi/misc.c;
diff --git a/grub-core/kern/ia64/cache.c b/grub-core/kern/ia64/cache.c
new file mode 100644 (file)
index 0000000..13efd30
--- /dev/null
@@ -0,0 +1,35 @@
+/* init.c - initialize an ia64-based EFI system */
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 2008  Free Software Foundation, Inc.
+ *
+ *  GRUB 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 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  GRUB 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.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <grub/types.h>
+#include <grub/cache.h>
+
+void
+grub_arch_sync_caches (void *address, grub_size_t len)
+{
+  /* Cache line length is at least 32.  */
+  len += (grub_uint64_t)address & 0x1f;
+  grub_uint64_t a = (grub_uint64_t)address & ~0x1f;
+
+  /* Flush data.  */
+  for (len = (len + 31) & ~0x1f; len > 0; len -= 0x20, a += 0x20)
+    asm volatile ("fc.i %0" : : "r" (a));
+  /* Sync and serialize.  Maybe extra.  */
+  asm volatile (";; sync.i;; srlz.i;;");
+}
index f00509833f275aa22c44531ad9f1ab328b47e1fd..b5ecbd09121fd61a0ac38fdcaaa850f5aeaba7e9 100644 (file)
@@ -23,7 +23,6 @@
 #include <grub/time.h>
 #include <grub/err.h>
 #include <grub/dl.h>
-#include <grub/cache.h>
 #include <grub/kernel.h>
 #include <grub/efi/efi.h>
 #include <grub/loader.h>
@@ -74,17 +73,3 @@ grub_machine_fini (int flags)
   if (flags & GRUB_LOADER_FLAG_NORETURN)
     grub_efi_fini ();
 }
-
-void
-grub_arch_sync_caches (void *address, grub_size_t len)
-{
-  /* Cache line length is at least 32.  */
-  len += (grub_uint64_t)address & 0x1f;
-  grub_uint64_t a = (grub_uint64_t)address & ~0x1f;
-
-  /* Flush data.  */
-  for (len = (len + 31) & ~0x1f; len > 0; len -= 0x20, a += 0x20)
-    asm volatile ("fc.i %0" : : "r" (a));
-  /* Sync and serialize.  Maybe extra.  */
-  asm volatile (";; sync.i;; srlz.i;;");
-}