ACPI/S3: simplify assembly code a bit
Hi!
Kill unused variable and simplify assembly portion a bit... Please apply,
Pavel
arch/i386/kernel/acpi.c +4 -3
@@ -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" );
arch/i386/kernel/acpi_wakeup.S +0 -13
@@ -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
Signature · 2 lines
Worst form of spam? Adding advertisment signatures ala sourceforge.net. What goes next? Inserting advertisment *into* email?