]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 5 Apr 2013 08:56:43 +0000 (10:56 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 5 Apr 2013 08:56:43 +0000 (10:56 +0200)
ChangeLog
grub-core/commands/acpi.c
grub-core/commands/i386/pc/acpi.c
include/grub/acpi.h

index e52e7ee7e38ae561488ced2bf0bfdd0a560f9308..34318958e6434c058852e92498191f474ca70a8f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
+
 2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
index 80008731168a0bf8f976dfa42122e99a5bfcbbde..4ca8cf71830b6c0b79f7551f08f52c89b33e2ac9 100644 (file)
@@ -217,7 +217,7 @@ grub_acpi_create_ebda (void)
     {
       grub_dprintf ("acpi", "Scanning EBDA for old rsdpv2\n");
       for (; target < targetebda + 0x400 - v2->length; target += 0x10)
-       if (grub_memcmp (target, "RSD PTR ", 8) == 0
+       if (grub_memcmp (target, GRUB_RSDP_SIGNATURE, GRUB_RSDP_SIGNATURE_SIZE) == 0
            && grub_byte_checksum (target,
                                   sizeof (struct grub_acpi_rsdp_v10)) == 0
            && ((struct grub_acpi_rsdp_v10 *) target)->revision != 0
@@ -238,7 +238,7 @@ grub_acpi_create_ebda (void)
       grub_dprintf ("acpi", "Scanning EBDA for old rsdpv1\n");
       for (; target < targetebda + 0x400 - sizeof (struct grub_acpi_rsdp_v10);
           target += 0x10)
-       if (grub_memcmp (target, "RSD PTR ", 8) == 0
+       if (grub_memcmp (target, GRUB_RSDP_SIGNATURE, GRUB_RSDP_SIGNATURE_SIZE) == 0
            && grub_byte_checksum (target,
                                   sizeof (struct grub_acpi_rsdp_v10)) == 0)
          {
@@ -299,7 +299,7 @@ grub_acpi_create_ebda (void)
   for (target = targetebda;
        target < targetebda + 0x400 - sizeof (struct grub_acpi_rsdp_v10);
        target += 0x10)
-    if (grub_memcmp (target, "RSD PTR ", 8) == 0
+    if (grub_memcmp (target, GRUB_RSDP_SIGNATURE, GRUB_RSDP_SIGNATURE_SIZE) == 0
        && grub_byte_checksum (target,
                               sizeof (struct grub_acpi_rsdp_v10)) == 0
        && target != v1inebda && target != v2inebda)
@@ -394,7 +394,7 @@ setv1table (void)
   /* Create RSDP. */
   rsdpv1_new = (struct grub_acpi_rsdp_v10 *) playground_ptr;
   playground_ptr += sizeof (struct grub_acpi_rsdp_v10);
-  grub_memcpy (&(rsdpv1_new->signature), "RSD PTR ",
+  grub_memcpy (&(rsdpv1_new->signature), GRUB_RSDP_SIGNATURE,
               sizeof (rsdpv1_new->signature));
   grub_memcpy (&(rsdpv1_new->oemid), root_oemid, sizeof  (rsdpv1_new->oemid));
   rsdpv1_new->revision = 0;
@@ -438,7 +438,7 @@ setv2table (void)
   /* Create RSDPv2. */
   rsdpv2_new = (struct grub_acpi_rsdp_v20 *) playground_ptr;
   playground_ptr += sizeof (struct grub_acpi_rsdp_v20);
-  grub_memcpy (&(rsdpv2_new->rsdpv1.signature), "RSD PTR ",
+  grub_memcpy (&(rsdpv2_new->rsdpv1.signature), GRUB_RSDP_SIGNATURE,
               sizeof (rsdpv2_new->rsdpv1.signature));
   grub_memcpy (&(rsdpv2_new->rsdpv1.oemid), root_oemid,
               sizeof (rsdpv2_new->rsdpv1.oemid));
index 88e4f55cf604557351b36872b19cd70babf1c149..d415d2305a84890a21c83b62b6165b2fb6946946 100644 (file)
@@ -32,7 +32,7 @@ grub_machine_acpi_get_rsdpv1 (void)
   if (! ebda_len)
     return 0;
   for (ptr = ebda; ptr < ebda + 0x400; ptr += 16)
-    if (grub_memcmp (ptr, "RSD PTR ", 8) == 0
+    if (grub_memcmp (ptr, GRUB_RSDP_SIGNATURE, GRUB_RSDP_SIGNATURE_SIZE) == 0
        && grub_byte_checksum (ptr, sizeof (struct grub_acpi_rsdp_v10)) == 0
        && ((struct grub_acpi_rsdp_v10 *) ptr)->revision == 0)
       return (struct grub_acpi_rsdp_v10 *) ptr;
@@ -40,7 +40,7 @@ grub_machine_acpi_get_rsdpv1 (void)
   grub_dprintf ("acpi", "Looking for RSDP. Scanning BIOS\n");
   for (ptr = (grub_uint8_t *) 0xe0000; ptr < (grub_uint8_t *) 0x100000;
        ptr += 16)
-    if (grub_memcmp (ptr, "RSD PTR ", 8) == 0
+    if (grub_memcmp (ptr, GRUB_RSDP_SIGNATURE, GRUB_RSDP_SIGNATURE_SIZE) == 0
        && grub_byte_checksum (ptr, sizeof (struct grub_acpi_rsdp_v10)) == 0
        && ((struct grub_acpi_rsdp_v10 *) ptr)->revision == 0)
       return (struct grub_acpi_rsdp_v10 *) ptr;
@@ -59,7 +59,7 @@ grub_machine_acpi_get_rsdpv2 (void)
   if (! ebda_len)
     return 0;
   for (ptr = ebda; ptr < ebda + 0x400; ptr += 16)
-    if (grub_memcmp (ptr, "RSD PTR ", 8) == 0
+    if (grub_memcmp (ptr, GRUB_RSDP_SIGNATURE, GRUB_RSDP_SIGNATURE_SIZE) == 0
        && grub_byte_checksum (ptr, sizeof (struct grub_acpi_rsdp_v10)) == 0
        && ((struct grub_acpi_rsdp_v10 *) ptr)->revision != 0
        && ((struct grub_acpi_rsdp_v20 *) ptr)->length < 1024
@@ -70,7 +70,7 @@ grub_machine_acpi_get_rsdpv2 (void)
   grub_dprintf ("acpi", "Looking for RSDP. Scanning BIOS\n");
   for (ptr = (grub_uint8_t *) 0xe0000; ptr < (grub_uint8_t *) 0x100000;
        ptr += 16)
-    if (grub_memcmp (ptr, "RSD PTR ", 8) == 0
+    if (grub_memcmp (ptr, GRUB_RSDP_SIGNATURE, GRUB_RSDP_SIGNATURE_SIZE) == 0
        && grub_byte_checksum (ptr, sizeof (struct grub_acpi_rsdp_v10)) == 0
        && ((struct grub_acpi_rsdp_v10 *) ptr)->revision != 0
        && ((struct grub_acpi_rsdp_v20 *) ptr)->length < 1024
index 8fa957dc4b569ece6fe2a98a67b70fd6672e1856..32bb95ca813d5e3cbcc19a1724af08bcdcc35d17 100644 (file)
 #include <grub/err.h>
 #endif
 
+#define GRUB_RSDP_SIGNATURE "RSD PTR "
+#define GRUB_RSDP_SIGNATURE_SIZE 8
+
 struct grub_acpi_rsdp_v10
 {
-  grub_uint8_t signature[8];
+  grub_uint8_t signature[GRUB_RSDP_SIGNATURE_SIZE];
   grub_uint8_t checksum;
   grub_uint8_t oemid[6];
   grub_uint8_t revision;