ACPI/S3: simplify assembly code a bit

From: Pavel Machek (pavel@ucw.cz)
Date: Thu Dec 12 2002 - 15:37:18 EST


Hi!

Kill unused variable and simplify assembly portion a bit... Please
apply,

                                                                Pavel

--- clean/arch/i386/kernel/acpi.c 2002-12-11 23:33:53.000000000 +0100
+++ linux-swsusp/arch/i386/kernel/acpi.c 2002-12-12 19:05:13.000000000 +0100
@@ -448,10 +448,11 @@
 
 /* address in low memory of the wakeup routine. */
 unsigned long acpi_wakeup_address = 0;
+extern char wakeup_start, wakeup_end;
 
 extern unsigned long FASTCALL(acpi_copy_wakeup_routine(unsigned long));
 
-static void init_low_mapping(pgd_t *pgd, int pgd_ofs, int pgd_limit)
+static void init_low_mapping(pgd_t *pgd, int pgd_limit)
 {
         int pgd_ofs = 0;
 
@@ -473,7 +474,8 @@
         panic("S3 and PAE do not like each other for now.");
         return 1;
 #endif
- init_low_mapping(swapper_pg_dir, 0, USER_PTRS_PER_PGD);
+ init_low_mapping(swapper_pg_dir, USER_PTRS_PER_PGD);
+ memcpy((void *) acpi_wakeup_address, &wakeup_start, &wakeup_end - &wakeup_start);
         acpi_copy_wakeup_routine(acpi_wakeup_address);
 
         return 0;
@@ -506,7 +508,6 @@
  */
 void __init acpi_reserve_bootmem(void)
 {
- extern char wakeup_start, wakeup_end;
         acpi_wakeup_address = (unsigned long)alloc_bootmem_low(PAGE_SIZE);
         if ((&wakeup_end - &wakeup_start) > PAGE_SIZE)
                 printk(KERN_CRIT "ACPI: Wakeup code way too big, will crash on attempt to suspend\n");
--- clean/arch/i386/kernel/acpi_wakeup.S 2002-12-11 23:33:53.000000000 +0100
+++ linux-swsusp/arch/i386/kernel/acpi_wakeup.S 2002-12-05 18:02:30.000000000 +0100
@@ -239,20 +241,11 @@
 #
 ENTRY(acpi_copy_wakeup_routine)
 
- pushl %esi
- pushl %edi
-
         sgdt saved_gdt
         sidt saved_idt
         sldt saved_ldt
         str saved_tss
 
- movl %eax, %edi
- leal wakeup_start, %esi
- movl $(wakeup_end - wakeup_start + 3) >> 2, %ecx
-
- rep ; movsl
-
         movl %cr3, %edx
         movl %edx, real_save_cr3 - wakeup_start (%eax)
         movl %cr4, %edx
@@ -265,10 +258,6 @@
         movl %edx, video_mode - wakeup_start (%eax)
         movl $0x12345678, real_magic - wakeup_start (%eax)
         movl $0x12345678, saved_magic
-
- # restore the regs we used
- popl %edi
- popl %esi
         ret
 
 .data

-- 
Worst form of spam? Adding advertisment signatures ala sourceforge.net.
What goes next? Inserting advertisment *into* email?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Dec 15 2002 - 22:00:28 EST