debug lockups: Improve lockup detection, fix generic arch fallback
[pandora-kernel.git] / drivers / firmware / memmap.c
index 05aa2d4..d5ea8a6 100644 (file)
  * information is necessary as for the resource tree.
  */
 struct firmware_map_entry {
-       resource_size_t         start;  /* start of the memory range */
-       resource_size_t         end;    /* end of the memory range (incl.) */
+       /*
+        * start and end must be u64 rather than resource_size_t, because e820
+        * resources can lie at addresses above 4G.
+        */
+       u64                     start;  /* start of the memory range */
+       u64                     end;    /* end of the memory range (incl.) */
        const char              *type;  /* type of the memory range */
        struct list_head        list;   /* entry for the linked list */
        struct kobject          kobj;   /* kobject for each entry */
@@ -101,7 +105,7 @@ static LIST_HEAD(map_entries);
  * Common implementation of firmware_map_add() and firmware_map_add_early()
  * which expects a pre-allocated struct firmware_map_entry.
  **/
-static int firmware_map_add_entry(resource_size_t start, resource_size_t end,
+static int firmware_map_add_entry(u64 start, u64 end,
                                  const char *type,
                                  struct firmware_map_entry *entry)
 {
@@ -132,8 +136,7 @@ static int firmware_map_add_entry(resource_size_t start, resource_size_t end,
  *
  * Returns 0 on success, or -ENOMEM if no memory could be allocated.
  **/
-int firmware_map_add(resource_size_t start, resource_size_t end,
-                    const char *type)
+int firmware_map_add(u64 start, u64 end, const char *type)
 {
        struct firmware_map_entry *entry;
 
@@ -157,8 +160,7 @@ int firmware_map_add(resource_size_t start, resource_size_t end,
  *
  * Returns 0 on success, or -ENOMEM if no memory could be allocated.
  **/
-int __init firmware_map_add_early(resource_size_t start, resource_size_t end,
-                                 const char *type)
+int __init firmware_map_add_early(u64 start, u64 end, const char *type)
 {
        struct firmware_map_entry *entry;