瀏覽代碼

x86, setup: Let early_memremap() handle page alignment

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>
WANG Chao 11 年之前
父節點
當前提交
7389882c81
共有 1 個文件被更改,包括 3 次插入5 次删除
  1. 3 5
      arch/x86/kernel/setup.c

+ 3 - 5
arch/x86/kernel/setup.c

@@ -431,15 +431,13 @@ static void __init parse_setup_data(void)
 
 
 	pa_data = boot_params.hdr.setup_data;
 	pa_data = boot_params.hdr.setup_data;
 	while (pa_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_len = data->len + sizeof(struct setup_data);
 		data_type = data->type;
 		data_type = data->type;
 		pa_next = data->next;
 		pa_next = data->next;
-		early_iounmap(data, map_len);
+		early_iounmap(data, sizeof(*data));
 
 
 		switch (data_type) {
 		switch (data_type) {
 		case SETUP_E820_EXT:
 		case SETUP_E820_EXT: