All of lore.kernel.org
 help / color / mirror / Atom feed
* ACPI/S3: simplify assembly code a bit
@ 2002-12-12 20:37 Pavel Machek
  0 siblings, 0 replies; only message in thread
From: Pavel Machek @ 2002-12-12 20:37 UTC (permalink / raw)
  To: kernel list, torvalds

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?

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-12-13 12:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-12-12 20:37 ACPI/S3: simplify assembly code a bit Pavel Machek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.