From: Andrew Morton <akpm@osdl.org>

arch/i386/kernel/efi.c: In function 'efi_call_phys_epilog':
arch/i386/kernel/efi.c:116: error: memory input 0 is not directly addressable

These patches now worry me.

I see that store_tr() grew an unchangelogged `=r' constraint too...

(It appears that we've accidnetally fixed a bug here.  The efi code had its
lgdt argument in the output operand slot and not the input operand slot)

Anyway.  Please triple-check these patches again, let me know?

Cc: Zachary Amsden <zach@vmware.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 arch/i386/kernel/efi.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN arch/i386/kernel/efi.c~i386-inline-assembler-cleanup-encapsulate-descriptor-and-task-register-management-fix arch/i386/kernel/efi.c
--- 25-alpha/arch/i386/kernel/efi.c~i386-inline-assembler-cleanup-encapsulate-descriptor-and-task-register-management-fix	2005-07-30 18:26:45.000000000 -0700
+++ 25-alpha-akpm/arch/i386/kernel/efi.c	2005-07-30 18:27:06.000000000 -0700
@@ -113,7 +113,7 @@ static void efi_call_phys_epilog(void)
 
 	cpu_gdt_descr[0].address =
 		(unsigned long) __va(cpu_gdt_descr[0].address);
-	load_gdt(&cpu_gdt_descr);
+	load_gdt(&cpu_gdt_descr[0]);
 	cr4 = read_cr4();
 
 	if (cr4 & X86_CR4_PSE) {
_