x86, setup: Let early_memremap() handle page alignment
authorWANG Chao <chaowang@redhat.com>
Wed, 7 Jan 2015 10:55:48 +0000 (18:55 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 23 Jan 2015 15:14:26 +0000 (16:14 +0100)
early_memremap() takes care of page alignment and map size, so we can
just remap the required data size and get rid of the adjustments in
the setup code.

[tglx: Massaged changelog ]

Signed-off-by: WANG Chao <chaowang@redhat.com>
Cc: Matt Fleming <matt.fleming@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Bryan O'Donoghue <pure.logic@nexus-software.ie>
Link: http://lkml.kernel.org/r/1420628150-16872-1-git-send-email-chaowang@redhat.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/setup.c

index ab4734e5411d76daa06624afc6d1eb4325d1a128..c4648adadd7d4c025e82c9df4b890da1b009a79e 100644 (file)
@@ -431,15 +431,13 @@ static void __init parse_setup_data(void)
 
        pa_data = boot_params.hdr.setup_data;
        while (pa_data) {
-               u32 data_len, map_len, data_type;
+               u32 data_len, data_type;
 
-               map_len = max(PAGE_SIZE - (pa_data & ~PAGE_MASK),
-                             (u64)sizeof(struct setup_data));
-               data = early_memremap(pa_data, map_len);
+               data = early_memremap(pa_data, sizeof(*data));
                data_len = data->len + sizeof(struct setup_data);
                data_type = data->type;
                pa_next = data->next;
-               early_iounmap(data, map_len);
+               early_iounmap(data, sizeof(*data));
 
                switch (data_type) {
                case SETUP_E820_EXT: