diff options
author | Matthew Garrett <mjg@redhat.com> | 2010-12-17 11:51:06 -0500 |
---|---|---|
committer | Matthew Garrett <mjg@redhat.com> | 2010-12-17 11:51:06 -0500 |
commit | b07d634fac1933e3f1d9d4f6ae8192d0eaae8dd7 (patch) | |
tree | e4aeeb0a39cabe535727138ee97551db3dfc1284 /efi_default_physical.patch | |
parent | 140614795a845b06e15f92b0400eb0a10970394b (diff) | |
download | kernel-b07d634fac1933e3f1d9d4f6ae8192d0eaae8dd7.tar.gz kernel-b07d634fac1933e3f1d9d4f6ae8192d0eaae8dd7.tar.xz kernel-b07d634fac1933e3f1d9d4f6ae8192d0eaae8dd7.zip |
- efi_default_physical.patch: Revert hunk that breaks boot
- linux-next-macbook-air-input.patch: Add input support for new Macbook Airs
Diffstat (limited to 'efi_default_physical.patch')
-rw-r--r-- | efi_default_physical.patch | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/efi_default_physical.patch b/efi_default_physical.patch index 6e4656059..41de7809e 100644 --- a/efi_default_physical.patch +++ b/efi_default_physical.patch @@ -1,5 +1,5 @@ -Default to physical mode in EFI. Fixes boot problems on some machines, -upstream will probably head in this direction. +Default EFI to physical rather than virtual. Upstream seem to be going +in this direction. diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h index 8e4a165..3c62f15 100644 @@ -216,7 +216,7 @@ index 5cab48e..90767b1 100644 +void efi_call_phys_epilog_in_physmode(void) { /* Not supported */ } + diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c -index ac0621a..33a8192 100644 +index ac0621a..ad19fe9 100644 --- a/arch/x86/platform/efi/efi_64.c +++ b/arch/x86/platform/efi/efi_64.c @@ -39,7 +39,9 @@ @@ -318,8 +318,8 @@ index ac0621a..33a8192 100644 + memset(efi_pgd, 0, sizeof(efi_pgd)); + for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) { + md = p; -+ if ((md->type != EFI_RUNTIME_SERVICES_CODE) && -+ (md->type != EFI_RUNTIME_SERVICES_DATA)) ++ if (!(md->type & EFI_RUNTIME_SERVICES_CODE) && ++ !(md->type & EFI_RUNTIME_SERVICES_DATA)) + continue; + + start_pfn = md->phys_addr >> PAGE_SHIFT; @@ -332,7 +332,7 @@ index ac0621a..33a8192 100644 + pud = fill_pud(pgd, vaddr); + pmd = fill_pmd(pud, vaddr); + pte = fill_pte(pmd, vaddr); -+ if (md->type == EFI_RUNTIME_SERVICES_CODE) ++ if (md->type & EFI_RUNTIME_SERVICES_CODE) + set_pte(pte, pfn_pte(pfn, PAGE_KERNEL_EXEC)); + else + set_pte(pte, pfn_pte(pfn, PAGE_KERNEL)); |