]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 6 Jul 2011 00:50:35 +0000 (02:50 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 6 Jul 2011 00:50:35 +0000 (02:50 +0200)
grub_read_cmos prototype.

ChangeLog
grub-core/kern/i386/qemu/mmap.c

index c2d38603238dda7eaf19831c8bd98b22e35e0abf..06b71a246f79e2ba75130312e4252b4275fc1ac9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-07-05  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
+       grub_read_cmos prototype.
+
 2011-07-05  Vladimir Serbinenko  <phcoder@gmail.com>
 
        VGA text support in qemu-mips
index 208f36b7e3a6b1eef01e8f7b423583e1c5c88e9b..2b0c7f6a7b6bf883fb46ad25e01378dcb1e892e4 100644 (file)
@@ -41,8 +41,11 @@ static grub_uint64_t mem_size, above_4g;
 void
 grub_machine_mmap_init ()
 {
-  mem_size = ((grub_uint64_t) grub_cmos_read (QEMU_CMOS_MEMSIZE_HIGH)) << 24
-    | ((grub_uint64_t) grub_cmos_read (QEMU_CMOS_MEMSIZE_LOW)) << 16;
+  grub_uint8_t high, low, b, c, d;
+  grub_cmos_read (QEMU_CMOS_MEMSIZE_HIGH, &high);
+  grub_cmos_read (QEMU_CMOS_MEMSIZE_LOW, &low);
+  mem_size = ((grub_uint64_t) high) << 24
+    | ((grub_uint64_t) low) << 16;
   if (mem_size > 0)
     {
       /* Don't ask... */
@@ -50,15 +53,19 @@ grub_machine_mmap_init ()
     }
   else
     {
+      grub_cmos_read (QEMU_CMOS_MEMSIZE2_HIGH, &high);
+      grub_cmos_read (QEMU_CMOS_MEMSIZE2_LOW, &low);
       mem_size
-       = ((((grub_uint64_t) grub_cmos_read (QEMU_CMOS_MEMSIZE2_HIGH)) << 18)
-          | ((grub_uint64_t) (grub_cmos_read (QEMU_CMOS_MEMSIZE2_LOW)) << 10))
+       = ((((grub_uint64_t) high) << 18) | (((grub_uint64_t) low) << 10))
        + 1024 * 1024;
     }
 
-  above_4g = (((grub_uint64_t) grub_cmos_read (0x5b)) << 16)
-    | (((grub_uint64_t) grub_cmos_read (0x5c)) << 24)
-    | (((grub_uint64_t) grub_cmos_read (0x5d)) << 32);
+  grub_cmos_read (0x5b, &b);
+  grub_cmos_read (0x5c, &c);
+  grub_cmos_read (0x5d, &d);
+  above_4g = (((grub_uint64_t) b) << 16)
+    | (((grub_uint64_t) c) << 24)
+    | (((grub_uint64_t) d) << 32);
 }
 
 grub_err_t